X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_cursor.c;h=d26b58129db3d399b7d8fe4244cf2ff0de196d8e;hb=8c18b050e929364e344dfa4cb11e5200771e0d1d;hp=23839a5d51b31487576d20f0424242e90acb5cfd;hpb=65e03872c287ab34ae76bd1831a3786d5e986b72;p=freeglut diff --git a/src/freeglut_cursor.c b/src/freeglut_cursor.c index 23839a5..d26b581 100644 --- a/src/freeglut_cursor.c +++ b/src/freeglut_cursor.c @@ -49,11 +49,11 @@ #if TARGET_HOST_UNIX_X11 -int fgGetCursorError( Cursor cursor ) +static int fghGetCursorError( Cursor cursor ) { int ret = 0; char buf[ 256 ]; - + switch( cursor ) { case BadAlloc: @@ -83,14 +83,14 @@ int fgGetCursorError( Cursor cursor ) */ void FGAPIENTRY glutSetCursor( int cursorID ) { - freeglut_assert_ready; /* XXX WHY do we need the timer active for this? */ - freeglut_assert_window; + FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutSetCursor" ); + FREEGLUT_EXIT_IF_NO_WINDOW ( "glutSetCursor" ); #if TARGET_HOST_UNIX_X11 /* * Open issues: * (a) Partial error checking. Is that a problem? - * Is fgGetCursorError() correct? Should we abort on errors? + * Is fghGetCursorError() correct? Should we abort on errors? * Should there be a freeglut-wide X error handler? Should * we use the X error-handler mechanism? * (b) FULL_CROSSHAIR demotes to plain CROSSHAIR. Old GLUT allows @@ -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); @@ -144,7 +144,7 @@ void FGAPIENTRY glutSetCursor( int cursorID ) * need to pick a color for foreground/background---but what * one we pick doesn't matter for GLUT_CURSOR_NONE. */ - static unsigned char no_cursor_bits[ 32 ]; + static char no_cursor_bits[ 32 ]; XColor black; no_cursor = XCreatePixmapFromBitmapData( fgDisplay.Display, fgDisplay.RootWindow, @@ -162,16 +162,16 @@ void FGAPIENTRY glutSetCursor( int cursorID ) 0, 0 ); break; } - + case GLUT_CURSOR_INHERIT: break; default: - fgWarning( "Unknown cursor type: %d\n", cursorID ); + fgWarning( "Unknown cursor type: %d", cursorID ); return; } - error = fgGetCursorError( cursor ); + error = fghGetCursorError( cursor ); if( GLUT_CURSOR_INHERIT == cursorID ) XUndefineCursor( fgDisplay.Display, @@ -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 ); } @@ -236,8 +236,8 @@ void FGAPIENTRY glutSetCursor( int cursorID ) */ void FGAPIENTRY glutWarpPointer( int x, int y ) { - freeglut_assert_ready; /* XXX WHY do we need the timer active for this? */ - freeglut_assert_window; + FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutWarpPointer" ); + FREEGLUT_EXIT_IF_NO_WINDOW ( "glutWarpPointer" ); #if TARGET_HOST_UNIX_X11 @@ -250,16 +250,14 @@ 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; coords.x = x; coords.y = y; - /* - * ClientToScreen() translates {coords} for us. - */ + /* ClientToScreen() translates {coords} for us. */ ClientToScreen( fgStructure.Window->Window.Handle, &coords ); SetCursorPos( coords.x, coords.y ); }