]> gitweb.factorcode.org Git - factor.git/commitdiff
flip cursor warp point for cocoa mouse grab into y-goes-down space
authorJoe Groff <arcata@gmail.com>
Thu, 14 May 2009 20:01:21 +0000 (15:01 -0500)
committerJoe Groff <arcata@gmail.com>
Thu, 14 May 2009 20:01:21 +0000 (15:01 -0500)
basis/core-graphics/core-graphics.factor
basis/ui/backend/cocoa/cocoa.factor

index 924f7130f07dbc3cd9bbc70e79ba7f9dcfede62e..e9158be47d91d01f7d8a5ed73ff846922b240953 100644 (file)
@@ -110,6 +110,8 @@ FUNCTION: CGDirectDisplayID CGMainDisplayID ( ) ;
 FUNCTION: CGError CGDisplayHideCursor ( CGDirectDisplayID display ) ;
 FUNCTION: CGError CGDisplayShowCursor ( CGDirectDisplayID display ) ;
 
+FUNCTION: CGError CGDisplayMoveCursorToPoint ( CGDirectDisplayID display, CGPoint point ) ;
+
 FUNCTION: CGError CGAssociateMouseAndMouseCursorPosition ( boolean_t connected ) ;
 
 FUNCTION: CGError CGWarpMouseCursorPosition ( CGPoint newCursorPosition ) ;
index c6f4c6def023dbfc72ec3a065f5da399d07c0795..e952de659ef8c29c30268cb5b45c0b9315f07f86 100755 (executable)
@@ -126,7 +126,9 @@ M: cocoa-ui-backend (grab-input) ( handle -- )
     0 CGAssociateMouseAndMouseCursorPosition drop
     CGMainDisplayID CGDisplayHideCursor drop
     window>> -> frame CGRect>rect rect-center
-    first2 <CGPoint> CGWarpMouseCursorPosition drop ;
+    NSScreen -> screens 0 -> objectAtIndex: -> frame CGRect-h
+    [ drop first ] [ swap second - ] 2bi <CGPoint>
+    CGWarpMouseCursorPosition drop ;
 
 M: cocoa-ui-backend (ungrab-input) ( handle -- )
     drop