Zdarzenia#
Kółko#
Moduł zdarzeń kółka # (wheel event module) jest rozwinięciem modułu zdarzeń myszy. Definiuje on interfejs WheelEvent oraz powiązane z kółkiem urządzeń wejściowych (np. myszy lub trackballa) następujące typy zdarzeń:
Kółka są urządzeniami, które mogą być obracane w jednym lub kilku kierunkach przestrzennych, i które mogą być skojarzone z urządzeniami wskazującymi. Układ współrzędnych zależy od konfiguracji środowiska.
Dla przykładu, środowisko użytkownika może być skonfigurowane tak, aby kojarzyć przewijanie pionowe z obrotem wzdłuż osi Y
, przewijanie poziome z obrotem wzdłuż osi X
oraz powiększenie z obrotem wzdłuż osi Z
.
Właściwości deltaX
, deltaY
i deltaZ
obiektów typu WheelEvent
wskazują pomiar wzdłuż osi, gdzie jednostkami mogą być piksele, linie lub strony. Raportowane pomiary są dostarczane po tym, jak zależny od środowiska algorytm przełoży rzeczywisty obrót/ruch urządzenia kółka do odpowiednich wartości i jednostek.
Środowiskowe ustawienia użytkownika mogą być dostosowane do interpretacji rzeczywistego obrotu/ruchu urządzenia kółka na różne sposoby. Jeden ruch z prostym "wgnieceniem" kółka myszy może wyprodukować pomiar 162
pikseli (162
jest przykładową wartością, rzeczywiste wartości mogą zależeć od aktualnych rozmiarów ekranu aplikacji klienckiej). Ale użytkownik może zmienić swoje domyślne ustawienia środowiskowe tak, aby przyspieszyć kółko myszy, przez co liczba ulegnie zwiększeniu. W dodatku niektóre oprogramowania kółka myszy mogą obsługiwać akcelerację (im szybciej kółko jest obracane/przesuwane tym większa delta każdego pomiaru) lub nawet sub-pikselowy pomiar obracania. Z tego względu autorzy treści nie mogą przyjąć, że zadana ilości obrotów w jednej aplikacji klienckiej wywoła identyczną wartość delty we wszystkich aplikacjach klienckich.
Znak (dodatni lub ujemny) dla wartości deltaX
, deltaY
i deltaZ
musi być zgodny między wieloma wysyłaniami zdarzenia wheel
, kiedy mechanizm aktualnego urządzenia kółka jest obracany/przesuwany w tym samym kierunku. Jeśli aplikacja kliencka wykonuje przewijanie będące domyślną akcją dla zdarzenia wheel
to znak delty powinien być przekazywany przez praworęczny układ współrzędnych, gdzie pozytywne osie X
, Y
i Z
są skierowane odpowiednio do najdalszej prawej krawędzi, najdalszej dolnej krawędzi i największej głębokości (z dala od użytkownika) dokumentu.
Poszczególne aplikacje klienckie mogą (w zależności od ich środowiska i konfiguracji sprzętowej) inaczej interpretować te same fizyczne działania użytkownika na kółku. Dla przykładu, pionowe machnięcie na brzegu trackpada z góry do dołu może zostać zinterpretowane jako akcja kółka przeznaczona do przewinięcia strony w dół lub w górę (tj. w zależności od dodatniej lub ujemnej wartości deltaY
).