Further normalized the style of the cursor code.
authorRichard Rauch <rkr@olib.org>
Fri, 7 Nov 2003 06:25:20 +0000 (06:25 +0000)
committerRichard Rauch <rkr@olib.org>
Fri, 7 Nov 2003 06:25:20 +0000 (06:25 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@309 7f0cb862-5218-0410-a997-914c9d46530a

src/freeglut_cursor.c

index f514652..bc7f63a 100644 (file)
  */
 void FGAPIENTRY glutSetCursor( int cursorID )
 {
-  freeglut_assert_ready;
-  freeglut_assert_window;
+    freeglut_assert_ready;  /* XXX WHY do we need the timer active for this? */
+    freeglut_assert_window;
 
 #if TARGET_HOST_UNIX_X11
-  /*
-   * Open issues:
-   * (a) GLUT_CURSOR_NONE doesn't do what it should.  We can probably
-   *     build an empty pixmap for it, though, quite painlessly.
-   * (b) Are we allocating resources, or causing X to do so?
-   *     If yes, we should arrange to deallocate!
-   * (c) No error checking.  Is that a problem?
-   * (d) FULL_CROSSHAIR demotes to plain CROSSHAIR.  Old GLUT allows
-   *     for this, but if there is a system that easily supports a full-
-   *     window (or full-screen) crosshair, we might consider it.
-   * (e) Out-of-range cursor-types are ignored.  Should we abort?
-   *     Print a warning message?
-   */
+    /*
+     * Open issues:
+     * (a) GLUT_CURSOR_NONE doesn't do what it should.  We can probably
+     *     build an empty pixmap for it, though, quite painlessly.
+     * (b) Are we allocating resources, or causing X to do so?
+     *     If yes, we should arrange to deallocate!
+     * (c) No error checking.  Is that a problem?
+     * (d) FULL_CROSSHAIR demotes to plain CROSSHAIR.  Old GLUT allows
+     *     for this, but if there is a system that easily supports a full-
+     *     window (or full-screen) crosshair, we might consider it.
+     * (e) Out-of-range cursor-types are ignored.  Should we abort?
+     *     Print a warning message?
+     */
     {
         Cursor cursor;
-#define MAP_CURSOR(a,b) case a: cursor = XCreateFontCursor( fgDisplay.Display, b ); break;
+
+#define MAP_CURSOR(a,b)                                     \
+    case a:                                                 \
+        cursor = XCreateFontCursor( fgDisplay.Display, b ); \
+        break;
+
         if( GLUT_CURSOR_FULL_CROSSHAIR == cursorID )
             cursorID = GLUT_CURSOR_CROSSHAIR;
         
@@ -108,23 +113,33 @@ void FGAPIENTRY glutSetCursor( int cursorID )
         }
 
         if( GLUT_CURSOR_INHERIT == cursorID )
-            XUndefineCursor( fgDisplay.Display, fgStructure.Window->Window.Handle );
+            XUndefineCursor( fgDisplay.Display,
+                             fgStructure.Window->Window.Handle );
         else
-            XDefineCursor( fgDisplay.Display, fgStructure.Window->Window.Handle, cursor );
+            XDefineCursor( fgDisplay.Display,
+                           fgStructure.Window->Window.Handle, cursor );
     }
 
 #elif TARGET_HOST_WIN32
 
-  /*
-   * This is a temporary solution only...
-   */
-  /* Set the cursor AND change it for this window class. */
-#        define MAP_CURSOR(a,b) case a: SetCursor( LoadCursor( NULL, b ) ); \
-        SetClassLong(fgStructure.Window->Window.Handle,GCL_HCURSOR,(LONG)LoadCursor(NULL,b)); \
+    /*
+     * This is a temporary solution only...
+     */
+    /* Set the cursor AND change it for this window class. */
+#       define MAP_CURSOR(a,b)                                   \
+        case a:                                                  \
+            SetCursor( LoadCursor( NULL, b ) );                  \
+            SetClassLong( fgStructure.Window->Window.Handle,     \
+                          GCL_HCURSOR,                           \
+                          ( LONG )LoadCursor( NULL, b ) );       \
         break;
+
         /* Nuke the cursor AND change it for this window class. */
-#        define ZAP_CURSOR(a,b) case a: SetCursor( NULL ); \
-        SetClassLong(fgStructure.Window->Window.Handle,GCL_HCURSOR,(LONG)NULL); \
+#       define ZAP_CURSOR(a,b)                                   \
+        case a:                                                  \
+            SetCursor( NULL );                                   \
+            SetClassLong( fgStructure.Window->Window.Handle,     \
+                          GCL_HCURSOR, ( LONG )NULL );           \
         break;
 
         switch( cursorID )
@@ -133,13 +148,13 @@ void FGAPIENTRY glutSetCursor( int cursorID )
             MAP_CURSOR( GLUT_CURSOR_LEFT_ARROW,  IDC_ARROW     );
             MAP_CURSOR( GLUT_CURSOR_INFO,        IDC_HELP      );
             MAP_CURSOR( GLUT_CURSOR_DESTROY,     IDC_CROSS     );
-            MAP_CURSOR( GLUT_CURSOR_HELP,        IDC_HELP           );
+            MAP_CURSOR( GLUT_CURSOR_HELP,        IDC_HELP      );
             MAP_CURSOR( GLUT_CURSOR_CYCLE,       IDC_SIZEALL   );
             MAP_CURSOR( GLUT_CURSOR_SPRAY,       IDC_CROSS     );
-            MAP_CURSOR( GLUT_CURSOR_WAIT,                 IDC_WAIT      );
+            MAP_CURSOR( GLUT_CURSOR_WAIT,        IDC_WAIT      );
             MAP_CURSOR( GLUT_CURSOR_TEXT,        IDC_UPARROW   );
             MAP_CURSOR( GLUT_CURSOR_CROSSHAIR,   IDC_CROSS     );
-            /* MAP_CURSOR( GLUT_CURSOR_NONE,        IDC_NO                   ); */
+            /* MAP_CURSOR( GLUT_CURSOR_NONE,        IDC_NO        ); */
             ZAP_CURSOR( GLUT_CURSOR_NONE,        NULL           );
             
         default:
@@ -155,30 +170,30 @@ void FGAPIENTRY glutSetCursor( int cursorID )
  */
 void FGAPIENTRY glutWarpPointer( int x, int y )
 {
-  freeglut_assert_ready;
-  freeglut_assert_window;
+    freeglut_assert_ready; /* XXX WHY do we need the timer active for this? */
+    freeglut_assert_window;
 
 #if TARGET_HOST_UNIX_X11
 
-  XWarpPointer(
+    XWarpPointer(
         fgDisplay.Display,
         None,
         fgStructure.Window->Window.Handle,
         0, 0, 0, 0,
         x, y
-  );
-  XFlush( fgDisplay.Display );
+    );
+    XFlush( fgDisplay.Display ); /* XXX Is this really necessary? */
 
 #elif TARGET_HOST_WIN32
 
-  {
-    POINT coords = { x, y };
-    /*
-     * ClientToScreen() translates {coords} for us.
-     */
-    ClientToScreen( fgStructure.Window->Window.Handle, &coords );
-    SetCursorPos( coords.x, coords.y );
-  }
+    {
+        POINT coords = { x, y };
+        /*
+         * ClientToScreen() translates {coords} for us.
+         */
+        ClientToScreen( fgStructure.Window->Window.Handle, &coords );
+        SetCursorPos( coords.x, coords.y );
+    }
 
 #endif
 }