Changed scrollWheel to use precise scrolling deltas when available.
Use precise scrolling deltas only on supported versions of OS X; hasPreciseScrollingDeltas, scrollingDeltaX, scrollingDeltaY are available in OS X v10.7 and later. Replaced a single occurence of a tab character with 4 spaces for consistency in src/socoa_window.m.
This commit is contained in:
parent
0463e196b4
commit
5655e26315
@ -112,6 +112,7 @@ See the [GLFW documentation](http://www.glfw.org/docs/latest/).
|
||||
returned by `glfwGetProcAddress`
|
||||
- [Win32] Bugfix: The user32 and dwmapi module handles were not freed on
|
||||
library termination
|
||||
- [Cocoa] Changed scroll callback to use precise scrolling deltas when available
|
||||
- [Cocoa] Enabled explicit creation of OpenGL 3.x and 4.x contexts as supported
|
||||
by OS X 10.9
|
||||
- [Cocoa] Bugfix: The clipboard string was not freed on terminate
|
||||
|
@ -560,7 +560,7 @@ static int translateKey(unsigned int key)
|
||||
userInfo:nil];
|
||||
|
||||
[self addTrackingArea:trackingArea];
|
||||
[super updateTrackingAreas];
|
||||
[super updateTrackingAreas];
|
||||
}
|
||||
|
||||
- (void)keyDown:(NSEvent *)event
|
||||
@ -606,8 +606,27 @@ static int translateKey(unsigned int key)
|
||||
|
||||
- (void)scrollWheel:(NSEvent *)event
|
||||
{
|
||||
double deltaX = [event deltaX];
|
||||
double deltaY = [event deltaY];
|
||||
double deltaX, deltaY;
|
||||
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
|
||||
if ([event respondsToSelector:@selector(hasPreciseScrollingDeltas:)])
|
||||
{
|
||||
deltaX = [event scrollingDeltaX];
|
||||
deltaY = [event scrollingDeltaY];
|
||||
|
||||
if ([event hasPreciseScrollingDeltas])
|
||||
{
|
||||
deltaX *= 0.1;
|
||||
deltaY *= 0.1;
|
||||
}
|
||||
}
|
||||
else
|
||||
#else
|
||||
{
|
||||
deltaX = [event deltaX];
|
||||
deltaY = [event deltaY];
|
||||
}
|
||||
#endif /*MAC_OS_X_VERSION_MAX_ALLOWED*/
|
||||
|
||||
if (fabs(deltaX) > 0.0 || fabs(deltaY) > 0.0)
|
||||
_glfwInputScroll(window, deltaX, deltaY);
|
||||
|
Loading…
Reference in New Issue
Block a user