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: https://svn.code.sf.net/p/freeglut/code/trunk@299 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
rkrolib 2003-11-04 18:16:52 +00:00
parent d5d4789b6b
commit 585433d174

View File

@ -653,10 +653,14 @@ void FGAPIENTRY glutMainLoopEvent( void )
event.xmotion.y ); event.xmotion.y );
} }
} }
else if( window->Callbacks.Passive ) else
{ {
fgSetWindow ( window ) ; if( window->Callbacks.Passive )
window->Callbacks.Passive( event.xmotion.x, event.xmotion.y ); {
fgSetWindow( window );
window->Callbacks.Passive( event.xmotion.x,
event.xmotion.y );
}
} }
} }
break; break;
@ -790,43 +794,40 @@ void FGAPIENTRY glutMainLoopEvent( void )
if( window->Callbacks.Mouse ) if( window->Callbacks.Mouse )
fgStructure.Window->Callbacks.Mouse( fgStructure.Window->Callbacks.Mouse(
button, button,
event.type == ButtonPress ? GLUT_DOWN : GLUT_UP, pressed ? GLUT_DOWN : GLUT_UP,
event.xbutton.x, event.xbutton.x,
event.xbutton.y event.xbutton.y
); );
} }
else else
{ {
if( ( button >= 4 ) && window->Callbacks.MouseWheel ) /*
{ * Map 4 and 5 to wheel zero; EVEN to +1, ODD to -1
/* * " 6 and 7 " " one; ...
* 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 This *should* be behind some variables/macros, * XXX See XFree86 configuration docs (even back in the
* XXX since the order and numbering isn't certain * XXX 3.x days, and especially with 4.x).
* 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;
int wheel_number = (button - 4) / 2;
int direction = (button & 1)*2 - 1; if( pressed )
fgStructure.Window->Callbacks.MouseWheel(
if( ButtonPress ) wheel_number,
fgStructure.Window->Callbacks.MouseWheel( direction,
wheel_number, event.xbutton.x,
direction, event.xbutton.y
event.xbutton.x, );
event.xbutton.y
);
}
} }
/* /*
* Trash the modifiers state * Trash the modifiers state
*/ */
fgStructure.Window->State.Modifiers = 0xffffffff; fgStructure.Window->State.Modifiers = 0xffffffff;
break;
} }
break;
case KeyRelease: case KeyRelease:
case KeyPress: 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 * When this loop terminates, destroy the display, state and structure
@ -1381,7 +1382,7 @@ LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam,
break; break;
} }
if ( ( window->Menu[ button ] != NULL ) && ( pressed == TRUE ) ) if ( ( window->Menu[ button ] ) && ( pressed == TRUE ) )
{ {
window->State.Redisplay = TRUE; window->State.Redisplay = TRUE;
fgSetWindow( window ); fgSetWindow( window );