X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_structure.c;h=55ce29789aad1506ccda8c22059d58f9b33b3303;hb=4cba0748bb698d485cdad359b28ae4b2c6acc362;hp=3e55bfde85d316daf3faa6f7fb586e09b7396ba1;hpb=113c06a96687cf466979972f5780c3ddd4d5dee5;p=freeglut diff --git a/src/freeglut_structure.c b/src/freeglut_structure.c index 3e55bfd..55ce297 100644 --- a/src/freeglut_structure.c +++ b/src/freeglut_structure.c @@ -84,7 +84,7 @@ SFG_Window* fgCreateWindow( SFG_Window* parent, const char* title, * If the freeglut internals haven't been initialized yet, * do it now. Hack's idea courtesy of Chris Purnell... */ - if( !fgState.Initalized ) + if( !fgState.Initialised ) glutInit( &fakeArgc, NULL ); /* @@ -93,7 +93,7 @@ SFG_Window* fgCreateWindow( SFG_Window* parent, const char* title, window->ID = ++fgStructure.WindowID; fgListInit( &window->Children ); - if( parent != NULL ) + if( parent ) { fgListAppend( &parent->Children, &window->Node ); window->Parent = parent; @@ -105,7 +105,6 @@ SFG_Window* fgCreateWindow( SFG_Window* parent, const char* title, * Set the default mouse cursor and reset the modifiers value */ window->State.Cursor = GLUT_CURSOR_INHERIT; - window->State.Modifiers = 0xffffffff; window->IsMenu = isMenu; @@ -137,7 +136,7 @@ SFG_Menu* fgCreateMenu( FGCBMenu menuCallback ) * If the freeglut internals haven't been initialized yet, * do it now. Hack's idea courtesy of Chris Purnell... */ - if( !fgState.Initalized ) + if( !fgState.Initialised ) glutInit( &fakeArgc, NULL ); menu->ParentWindow = fgStructure.Window; @@ -213,23 +212,6 @@ void fgAddToWindowDestroyList( SFG_Window* window, GLboolean needToClose ) FETCH_WCB( *window, Destroy ) = destroy; } - - /* - * If the destroyed window has the highest window ID number, decrement - * the window ID number. - * - * XXX Do we REALLY want to *ever* recycle window IDs? Integers are - * XXX plentiful, and clients may rely upon the implied promise in - * XXX the GLUT docs to not recycle these. (I can't remember if it - * XXX is explicit.) - * - * XXX If we *do* want to do this, we should actually recompute the - * XXX highest window-ID; the new highest may not in fact be one less - * XXX than what we have just deleted. - */ - if ( window->ID == fgStructure.WindowID ) - fgStructure.WindowID--; - /* * Check the execution state. If this has been called from * "glutDestroyWindow", a statement in that function will reset the @@ -283,16 +265,10 @@ void fgDestroyWindow( SFG_Window* window, GLboolean needToClose ) while( subWindow = ( SFG_Window * )window->Children.First ) fgDestroyWindow( subWindow, needToClose ); - /* - * XXX Since INVOKE_WCB() tests the function pointer, why not make - * XXX this unconditional? Overhead is close to nil, and it would - * XXX clarify the code by omitting a conditional test. - */ - if( FETCH_WCB( *window, Destroy ) ) { SFG_Window *activeWindow = fgStructure.Window ; INVOKE_WCB( *window, Destroy, ( ) ); - fgSetWindow ( activeWindow ) ; + fgSetWindow ( activeWindow ); } if( window->Parent ) @@ -305,7 +281,7 @@ void fgDestroyWindow( SFG_Window* window, GLboolean needToClose ) for ( menu_index = 0; menu_index < 3; menu_index ++ ) { - if ( window->Menu[menu_index] != NULL ) + if ( window->Menu[menu_index] ) window->Menu[menu_index]->ParentWindow = NULL ; } @@ -519,16 +495,10 @@ static void fghcbWindowByHandle( SFG_Window *window, if ( enumerator->found ) return; -#if TARGET_HOST_UNIX_X11 - #define WBHANDLE (Window) -#elif TARGET_HOST_WIN32 - #define WBHANDLE (HWND) -#endif - /* * Check the window's handle. Hope this works. Looks ugly. That's for sure. */ - if( window->Window.Handle == WBHANDLE (enumerator->data) ) + if( window->Window.Handle == (SFG_WindowHandleType) (enumerator->data) ) { enumerator->found = GL_TRUE; enumerator->data = window; @@ -540,8 +510,6 @@ static void fghcbWindowByHandle( SFG_Window *window, * Otherwise, check this window's children */ fgEnumSubWindows( window, fghcbWindowByHandle, enumerator ); - -#undef WBHANDLE } /* @@ -549,12 +517,7 @@ static void fghcbWindowByHandle( SFG_Window *window, * first window in the queue matching the specified window handle. * The function is defined in freeglut_structure.c file. */ -SFG_Window* fgWindowByHandle -#if TARGET_HOST_UNIX_X11 -( Window hWindow ) -#elif TARGET_HOST_WIN32 -( HWND hWindow ) -#endif +SFG_Window* fgWindowByHandle ( SFG_WindowHandleType hWindow ) { SFG_Enumerator enumerator; @@ -652,7 +615,7 @@ void fgListAppend(SFG_List *list, SFG_Node *node) { SFG_Node *ln; - if ( (ln = (SFG_Node *)list->Last) != NULL ) + if ( ln = (SFG_Node *)list->Last ) { ln->Next = node; node->Prev = ln; @@ -675,9 +638,9 @@ void fgListRemove(SFG_List *list, SFG_Node *node) ln->Prev = node->Prev; if( ln = (SFG_Node *)node->Prev ) ln->Next = node->Next; - if( ( ln = (SFG_Node *)list->First ) == node ) + if( (ln = (SFG_Node *)list->First) == node ) list->First = node->Next; - if( ( ln = (SFG_Node *)list->Last ) == node ) + if( (ln = (SFG_Node *)list->Last) == node ) list->Last = node->Prev; }