Changing the cursor definition macro for newer versions of MSVC -- thanks to "Mattos...
authorJohn F. Fay <johnffay@nettally.com>
Tue, 25 Sep 2007 23:09:29 +0000 (23:09 +0000)
committerJohn F. Fay <johnffay@nettally.com>
Tue, 25 Sep 2007 23:09:29 +0000 (23:09 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@729 7f0cb862-5218-0410-a997-914c9d46530a

src/freeglut_cursor.c

index 390e0cb..f383b7a 100644 (file)
@@ -162,6 +162,7 @@ void fgSetCursor ( SFG_Window *window, int cursorID )
      * Joe Krahn is re-writing the following code.
      */
     /* Set the cursor AND change it for this window class. */
+#if _MSC_VER <= 1200
 #       define MAP_CURSOR(a,b)                                   \
         case a:                                                  \
             SetCursor( LoadCursor( NULL, b ) );                  \
@@ -169,7 +170,6 @@ void fgSetCursor ( SFG_Window *window, int cursorID )
                           GCL_HCURSOR,                           \
                           ( LONG )LoadCursor( NULL, b ) );       \
         break;
-
     /* Nuke the cursor AND change it for this window class. */
 #       define ZAP_CURSOR(a,b)                                   \
         case a:                                                  \
@@ -177,6 +177,22 @@ void fgSetCursor ( SFG_Window *window, int cursorID )
             SetClassLong( window->Window.Handle,                 \
                           GCL_HCURSOR, ( LONG )NULL );           \
         break;
+#else
+#       define MAP_CURSOR(a,b)                                   \
+        case a:                                                  \
+            SetCursor( LoadCursor( NULL, b ) );                  \
+            SetClassLongPtr( window->Window.Handle,              \
+                          GCLP_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( window->Window.Handle,                 \
+                          GCLP_HCURSOR, ( LONG )NULL );          \
+        break;
+#endif
 
     switch( cursorID )
     {