< prev index next >
src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.m
Print this page
*** 45,55 ****
// SCROLL PHASE STATE
#define SCROLL_PHASE_UNSUPPORTED 1
#define SCROLL_PHASE_BEGAN 2
#define SCROLL_PHASE_CONTINUED 3
! #define SCROLL_PHASE_CANCELLED 4
#define SCROLL_PHASE_ENDED 5
int gNumberOfButtons;
jint* gButtonDownMasks;
--- 45,55 ----
// SCROLL PHASE STATE
#define SCROLL_PHASE_UNSUPPORTED 1
#define SCROLL_PHASE_BEGAN 2
#define SCROLL_PHASE_CONTINUED 3
! #define SCROLL_PHASE_MOMENTUM_BEGAN 4
#define SCROLL_PHASE_ENDED 5
int gNumberOfButtons;
jint* gButtonDownMasks;
*** 83,102 ****
if ([event type] != NSScrollWheel) {
return 0;
}
! NSEventPhase phase = [event phase];
! NSEventPhase momentumPhase = [event momentumPhase];
!
! if (!phase && !momentumPhase) return SCROLL_PHASE_UNSUPPORTED;
! switch (phase) {
case NSEventPhaseBegan: return SCROLL_PHASE_BEGAN;
! case NSEventPhaseCancelled: return SCROLL_PHASE_CANCELLED;
case NSEventPhaseEnded: return SCROLL_PHASE_ENDED;
default: return SCROLL_PHASE_CONTINUED;
}
}
@end
@interface AWTRunLoopObject : NSObject {
--- 83,119 ----
if ([event type] != NSScrollWheel) {
return 0;
}
! if ([event phase]) {
! // process a phase of manual scrolling
! switch ([event phase]) {
case NSEventPhaseBegan: return SCROLL_PHASE_BEGAN;
! case NSEventPhaseCancelled: return SCROLL_PHASE_ENDED;
case NSEventPhaseEnded: return SCROLL_PHASE_ENDED;
default: return SCROLL_PHASE_CONTINUED;
}
+ }
+
+ if ([event momentumPhase]) {
+ // process a phase of automatic scrolling
+ switch ([event momentumPhase]) {
+ case NSEventPhaseBegan: return SCROLL_PHASE_MOMENTUM_BEGAN;
+ case NSEventPhaseCancelled: return SCROLL_PHASE_ENDED;
+ case NSEventPhaseEnded: return SCROLL_PHASE_ENDED;
+ default: return SCROLL_PHASE_CONTINUED;
+ }
+ }
+ // phase and momentum phase both are not set
+ return SCROLL_PHASE_UNSUPPORTED;
+ }
+
+ + (BOOL) hasPreciseScrollingDeltas: (NSEvent*) event {
+ return [event type] == NSScrollWheel
+ && [event respondsToSelector:@selector(hasPreciseScrollingDeltas)]
+ && [event hasPreciseScrollingDeltas];
}
@end
@interface AWTRunLoopObject : NSObject {
< prev index next >