added support for WindowsCE (building on top of klimt)
[freeglut] / src / freeglut_cursor.c
index 0e24a74..78841be 100644 (file)
@@ -29,7 +29,7 @@
 #include "config.h"
 #endif
 
-#include "../include/GL/freeglut.h"
+#include <GL/freeglut.h>
 #include "freeglut_internal.h"
 
 #if TARGET_HOST_UNIX_X11
 
 #if TARGET_HOST_UNIX_X11
 
-fgGetCursorError( Cursor cursor )
+int fgGetCursorError( Cursor cursor )
 {
     int ret = 0;
     char buf[ 256 ];
-    
+
     switch( cursor )
     {
     case BadAlloc:
@@ -99,8 +99,8 @@ void FGAPIENTRY glutSetCursor( int cursorID )
      * (c) Out-of-range cursor-types generate warnings.  Should we abort?
      */
     {
-        Cursor cursor;
-        Pixmap no_cursor;  /* Used for GLUT_CURSOR_NONE */
+        Cursor cursor = None;
+        Pixmap no_cursor = None ;  /* Used for GLUT_CURSOR_NONE */
         int error = 0;
 
 #define MAP_CURSOR(a,b)                                     \
@@ -110,7 +110,7 @@ void FGAPIENTRY glutSetCursor( int cursorID )
 
         if( GLUT_CURSOR_FULL_CROSSHAIR == cursorID )
             cursorID = GLUT_CURSOR_CROSSHAIR;
-        
+
         switch( cursorID )
         {
             MAP_CURSOR( GLUT_CURSOR_RIGHT_ARROW, XC_right_ptr);
@@ -162,7 +162,7 @@ void FGAPIENTRY glutSetCursor( int cursorID )
                                           0, 0 );
             break;
         }
-        
+
         case GLUT_CURSOR_INHERIT:
             break;
 
@@ -186,7 +186,7 @@ void FGAPIENTRY glutSetCursor( int cursorID )
         }
     }
 
-#elif TARGET_HOST_WIN32
+#elif TARGET_HOST_WIN32 || TARGET_HOST_WINCE
 
     /*
      * This is a temporary solution only...
@@ -222,7 +222,7 @@ void FGAPIENTRY glutSetCursor( int cursorID )
         MAP_CURSOR( GLUT_CURSOR_CROSSHAIR,   IDC_CROSS     );
         /* MAP_CURSOR( GLUT_CURSOR_NONE,        IDC_NO        ); */
         ZAP_CURSOR( GLUT_CURSOR_NONE,        NULL           );
-        
+
     default:
         MAP_CURSOR( GLUT_CURSOR_UP_DOWN,     IDC_ARROW     );
     }
@@ -250,10 +250,13 @@ void FGAPIENTRY glutWarpPointer( int x, int y )
     );
     XFlush( fgDisplay.Display ); /* XXX Is this really necessary? */
 
-#elif TARGET_HOST_WIN32
+#elif TARGET_HOST_WIN32 || TARGET_HOST_WINCE
 
     {
-        POINT coords = { x, y };
+        POINT coords;
+        coords.x = x;
+        coords.y = y;
+
         /*
          * ClientToScreen() translates {coords} for us.
          */