Updated Cocoa port to new internal API.

master
Camilla Berglund ago%!(EXTRA string=15 years)
parent c4bd93ecdf
commit 35b8ee6a71
  1. 18
      src/cocoa/cocoa_window.m
  2. 3
      src/cocoa/platform.h

@ -109,15 +109,12 @@
- (void)windowDidBecomeKey:(NSNotification *)notification - (void)windowDidBecomeKey:(NSNotification *)notification
{ {
_glfwLibrary.activeWindow = window; _glfwInputWindowFocus(window, GL_TRUE);
} }
- (void)windowDidResignKey:(NSNotification *)notification - (void)windowDidResignKey:(NSNotification *)notification
{ {
if (window == _glfwLibrary.activeWindow) _glfwInputWindowFocus(window, GL_FALSE);
_glfwLibrary.activeWindow = NULL;
_glfwInputDeactivation(window);
} }
@end @end
@ -449,11 +446,14 @@ static int convertMacKeyCode(unsigned int macKeyCode)
- (void)scrollWheel:(NSEvent *)event - (void)scrollWheel:(NSEvent *)event
{ {
window->NS.wheelPosFloating += [event deltaY]; double deltaX = window->NS.fracScrollX + [event deltaX];
window->wheelPos = lrint(window->NS.wheelPosFloating); double deltaY = window->NS.fracScrollY + [event deltaY];
if ((int) deltaX || (int) deltaY)
_glfwInputScroll(window, (int) deltaX, (int) deltaY);
if (window->mouseWheelCallback) window->NS.fracScrollX = (int) (deltaX - floor(deltaX));
window->mouseWheelCallback(window, window->wheelPos); window->NS.fracScrollY = (int) (deltaY - floor(deltaY));
} }
@end @end

@ -85,7 +85,8 @@ typedef struct _GLFWwindowNS
id window; id window;
id delegate; id delegate;
unsigned int modifierFlags; unsigned int modifierFlags;
double wheelPosFloating; double fracScrollX;
double fracScrollY;
} _GLFWwindowNS; } _GLFWwindowNS;

Loading…
Cancel
Save