From e22164b1da8ffe6955b1aa702e9e428941d41814 Mon Sep 17 00:00:00 2001 From: Richard Rauch Date: Tue, 4 Nov 2003 18:16:52 +0000 Subject: [PATCH] Some changes, mostly from John. Mostly style changes. One bug fix from John: Execution state bug-fix in glutMainLoop(), per his post yesterday. One fix from me: Changed "if( ButtonPress )" to "if( pressed )". {ButtonPress} is a constant. git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@299 7f0cb862-5218-0410-a997-914c9d46530a --- src/freeglut_main.c | 59 ++++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/src/freeglut_main.c b/src/freeglut_main.c index 92f86f5..485ee4b 100644 --- a/src/freeglut_main.c +++ b/src/freeglut_main.c @@ -653,10 +653,14 @@ void FGAPIENTRY glutMainLoopEvent( void ) event.xmotion.y ); } } - else if( window->Callbacks.Passive ) + else { - fgSetWindow ( window ) ; - window->Callbacks.Passive( event.xmotion.x, event.xmotion.y ); + if( window->Callbacks.Passive ) + { + fgSetWindow( window ); + window->Callbacks.Passive( event.xmotion.x, + event.xmotion.y ); + } } } break; @@ -790,43 +794,40 @@ void FGAPIENTRY glutMainLoopEvent( void ) if( window->Callbacks.Mouse ) fgStructure.Window->Callbacks.Mouse( button, - event.type == ButtonPress ? GLUT_DOWN : GLUT_UP, + pressed ? GLUT_DOWN : GLUT_UP, event.xbutton.x, event.xbutton.y ); } else { - if( ( button >= 4 ) && window->Callbacks.MouseWheel ) - { - /* - * Map 4 and 5 to wheel zero; EVEN to +1, ODD to -1 - * " 6 and 7 " " one; ... - * - * XXX This *should* be behind some variables/macros, - * XXX since the order and numbering isn't certain - * XXX See XFree86 configuration docs (even back in the - * XXX 3.x days, and especially with 4.x). - */ - int wheel_number = (button - 4) / 2; - int direction = (button & 1)*2 - 1; - - if( ButtonPress ) - fgStructure.Window->Callbacks.MouseWheel( - wheel_number, - direction, - event.xbutton.x, - event.xbutton.y - ); - } + /* + * Map 4 and 5 to wheel zero; EVEN to +1, ODD to -1 + * " 6 and 7 " " one; ... + * + * XXX This *should* be behind some variables/macros, + * XXX since the order and numbering isn't certain + * XXX See XFree86 configuration docs (even back in the + * XXX 3.x days, and especially with 4.x). + */ + int wheel_number = (button - 4) / 2; + int direction = (button & 1)*2 - 1; + + if( pressed ) + fgStructure.Window->Callbacks.MouseWheel( + wheel_number, + direction, + event.xbutton.x, + event.xbutton.y + ); } /* * Trash the modifiers state */ fgStructure.Window->State.Modifiers = 0xffffffff; - break; } + break; case KeyRelease: case KeyPress: @@ -1018,7 +1019,7 @@ void FGAPIENTRY glutMainLoop( void ) } { - fgExecutionState execState = fgState.ActionOnWindowClose; + fgExecutionState execState = fgState.ExecState; /* * When this loop terminates, destroy the display, state and structure @@ -1381,7 +1382,7 @@ LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, break; } - if ( ( window->Menu[ button ] != NULL ) && ( pressed == TRUE ) ) + if ( ( window->Menu[ button ] ) && ( pressed == TRUE ) ) { window->State.Redisplay = TRUE; fgSetWindow( window ); -- 1.7.10.4