@ -64,30 +64,19 @@ static void centerCursor(_GLFWwindow *window)
_glfwPlatformSetCursorPos ( window , width / 2.0 , height / 2.0 ) ;
}
/ / Get the cursor object that window uses in the specified cursor mode
/ / Update the cursor to match the specified cursor mode
/ /
static NSCursor * get ModeCursor( _GLFWwindow * window )
static void update ModeCursor( _GLFWwindow * window )
{
if ( window - > cursorMode == GLFW_CURSOR_NORMAL )
{
if ( window - > cursor )
return ( NSCursor * ) window - > cursor - > ns . object ;
[ ( NSCursor * ) window - > cursor - > ns . object set ] ;
else
return [ NSCursor arrowCursor ] ;
[ [ NSCursor arrowCursor ] set ] ;
}
else
return ( NSCursor * ) _glfw . ns . cursor ;
}
/ / Update the cursor to match the specified cursor mode
/ /
static void updateModeCursor ( _GLFWwindow * window )
{
/ / This is required for the cursor to update if it ' s inside the window
[ getModeCursor ( window ) set ] ;
/ / This is required for the cursor to update if it ' s outside the window
[ window - > ns . object invalidateCursorRectsForView : window - > ns . view ] ;
[ ( NSCursor * ) _glfw . ns . cursor set ] ;
}
/ / Enter fullscreen mode
@ -476,10 +465,11 @@ static int translateKey(unsigned int key)
[ trackingArea release ] ;
}
NSTrackingAreaOptions options = NSTrackingMouseEnteredAndExited |
NSTrackingActiveInKeyWindow |
NSTrackingCursorUpdate |
NSTrackingInVisibleRect ;
const NSTrackingAreaOptions options = NSTrackingMouseEnteredAndExited |
NSTrackingActiveInKeyWindow |
NSTrackingCursorUpdate |
NSTrackingInVisibleRect |
NSTrackingAssumeInside ;
trackingArea = [ [ NSTrackingArea alloc ] initWithRect : [ self bounds ]
options : options
@ -570,11 +560,6 @@ static int translateKey(unsigned int key)
_glfwInputScroll ( window , deltaX , deltaY ) ;
}
- ( void ) resetCursorRects
{
[ self addCursorRect : [ self bounds ] cursor : getModeCursor ( window ) ] ;
}
- ( NSDragOperation ) draggingEntered : ( id < NSDraggingInfo > ) sender
{
if ( ( NSDragOperationGeneric & [ sender draggingSourceOperationMask ] )