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:
parent
d5d4789b6b
commit
585433d174
@ -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( ButtonPress )
|
if( pressed )
|
||||||
fgStructure.Window->Callbacks.MouseWheel(
|
fgStructure.Window->Callbacks.MouseWheel(
|
||||||
wheel_number,
|
wheel_number,
|
||||||
direction,
|
direction,
|
||||||
event.xbutton.x,
|
event.xbutton.x,
|
||||||
event.xbutton.y
|
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 );
|
||||||
|
Reference in New Issue
Block a user