From: John F. Fay Date: Fri, 22 Apr 2005 15:23:12 +0000 (+0000) Subject: Removing duplicate cursor code. This and the previous change (in freeglut_main.c... X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=commitdiff_plain;h=ee8ce6fea5a32912ff394081fea9af8971536726;p=freeglut Removing duplicate cursor code. This and the previous change (in freeglut_main.c) apparently got combined. git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@576 7f0cb862-5218-0410-a997-914c9d46530a --- diff --git a/src/freeglut_cursor.c b/src/freeglut_cursor.c index dccee91..d32ba5c 100644 --- a/src/freeglut_cursor.c +++ b/src/freeglut_cursor.c @@ -41,7 +41,7 @@ * apart from the windowing system version. */ -/* -- INTERNAL FUNCTIONS --------------------------------------------------- */ +/* -- PRIVATE FUNCTIONS --------------------------------------------------- */ #if TARGET_HOST_UNIX_X11 /* @@ -104,16 +104,13 @@ static cursorCacheEntry cursorCache[] = { }; #endif -/* -- INTERFACE FUNCTIONS -------------------------------------------------- */ +/* -- INTERNAL FUNCTIONS ---------------------------------------------------- */ /* * Set the cursor image to be used for the current window */ -void FGAPIENTRY glutSetCursor( int cursorID ) +void fgSetCursor ( SFG_Window *window, int cursorID ) { - FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutSetCursor" ); - FREEGLUT_EXIT_IF_NO_WINDOW ( "glutSetCursor" ); - #if TARGET_HOST_UNIX_X11 { Cursor cursor; @@ -154,7 +151,7 @@ void FGAPIENTRY glutSetCursor( int cursorID ) fgError( "Failed to create cursor" ); } XDefineCursor( fgDisplay.Display, - fgStructure.CurrentWindow->Window.Handle, cursor ); + window->Window.Handle, cursor ); } #elif TARGET_HOST_WIN32 || TARGET_HOST_WINCE @@ -163,20 +160,20 @@ void FGAPIENTRY glutSetCursor( int cursorID ) * 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.CurrentWindow->Window.Handle, \ - GCL_HCURSOR, \ - ( LONG )LoadCursor( NULL, b ) ); \ +# define MAP_CURSOR(a,b) \ + case a: \ + SetCursor( LoadCursor( NULL, b ) ); \ + SetClassLong( 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.CurrentWindow->Window.Handle, \ - GCL_HCURSOR, ( LONG )NULL ); \ +# define ZAP_CURSOR(a,b) \ + case a: \ + SetCursor( NULL ); \ + SetClassLong( window->Window.Handle, \ + GCL_HCURSOR, ( LONG )NULL ); \ break; switch( cursorID ) @@ -211,7 +208,20 @@ void FGAPIENTRY glutSetCursor( int cursorID ) } #endif - fgStructure.CurrentWindow->State.Cursor = cursorID; + window->State.Cursor = cursorID; +} + +/* -- INTERFACE FUNCTIONS -------------------------------------------------- */ + +/* + * Set the cursor image to be used for the current window + */ +void FGAPIENTRY glutSetCursor( int cursorID ) +{ + FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutSetCursor" ); + FREEGLUT_EXIT_IF_NO_WINDOW ( "glutSetCursor" ); + + fgSetCursor ( fgStructure.CurrentWindow, cursorID ); } /*