attempt to implement fghPlatformGetCursorPos on X11
authorDiederick Niehorster <dcnieho@gmail.com>
Sun, 29 Jul 2012 05:28:10 +0000 (05:28 +0000)
committerDiederick Niehorster <dcnieho@gmail.com>
Sun, 29 Jul 2012 05:28:10 +0000 (05:28 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@1378 7f0cb862-5218-0410-a997-914c9d46530a

src/mswin/fg_cursor_mswin.c
src/x11/fg_cursor_x11.c

index 1241e0a..bec1876 100644 (file)
@@ -115,6 +115,8 @@ void fgPlatformWarpPointer ( int x, int y )
 
 void fghPlatformGetCursorPos(SFG_XYUse *mouse_pos)
 {
+    /* Get current pointer location in screen coordinates
+     */
     POINT pos;
     GetCursorPos(&pos);
 
index 3098e53..d8ce64c 100644 (file)
@@ -149,3 +149,16 @@ void fgPlatformWarpPointer ( int x, int y )
     XFlush( fgDisplay.pDisplay.Display );
 }
 
+void fghPlatformGetCursorPos(SFG_XYUse *mouse_pos)
+{
+    /* Get current pointer location in screen coordinates
+     */
+    Window junk_window;
+    unsigned int junk_mask;
+    int junk_pos;
+
+    XQueryPointer(fgDisplay.pDisplay.Display, fgDisplay.pDisplay.RootWindow,
+            &junk_window, &junk_window,
+            &mouse_pos->X, &mouse_pos->Y,
+            &junk_pos, &junk_pos, &junk_mask);
+}