Fixed redisplay bug.
Fixed modifier values. git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@19 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
parent
32b7dcf989
commit
0e3fcc69ea
@ -72,7 +72,7 @@ static void fghRedrawWindowByHandle
|
|||||||
/*
|
/*
|
||||||
* Return if the window is not visible
|
* Return if the window is not visible
|
||||||
*/
|
*/
|
||||||
freeglut_return_if_fail( window->State.Visible != TRUE );
|
freeglut_return_if_fail( window->State.Visible == TRUE );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set the window as the current one. Calling glutSetWindow()
|
* Set the window as the current one. Calling glutSetWindow()
|
||||||
@ -139,9 +139,8 @@ static void fghcbDisplayWindow( SFG_Window *window, SFG_Enumerator *enumerator )
|
|||||||
/*
|
/*
|
||||||
* Check if there is an idle callback hooked
|
* Check if there is an idle callback hooked
|
||||||
*/
|
*/
|
||||||
# warning there is a redisplay hack here (see the code commented out)
|
|
||||||
if( (window->Callbacks.Display != NULL) &&
|
if( (window->Callbacks.Display != NULL) &&
|
||||||
/*(window->State.Redisplay == TRUE) &&*/
|
(window->State.Redisplay == TRUE) &&
|
||||||
(window->State.Visible == TRUE) )
|
(window->State.Visible == TRUE) )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@ -369,6 +368,7 @@ void FGAPIENTRY glutMainLoop( void )
|
|||||||
#if TARGET_HOST_UNIX_X11
|
#if TARGET_HOST_UNIX_X11
|
||||||
SFG_Window* window;
|
SFG_Window* window;
|
||||||
XEvent event;
|
XEvent event;
|
||||||
|
int modifiers;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This code was repeated constantly, so here it goes into a definition:
|
* This code was repeated constantly, so here it goes into a definition:
|
||||||
@ -672,7 +672,14 @@ void FGAPIENTRY glutMainLoop( void )
|
|||||||
/*
|
/*
|
||||||
* Remember the current modifiers state
|
* Remember the current modifiers state
|
||||||
*/
|
*/
|
||||||
window->State.Modifiers = event.xbutton.state;
|
modifiers = 0;
|
||||||
|
if (event.xbutton.state & (ShiftMask|LockMask))
|
||||||
|
modifiers |= GLUT_ACTIVE_SHIFT;
|
||||||
|
if (event.xbutton.state & ControlMask)
|
||||||
|
modifiers |= GLUT_ACTIVE_CTRL;
|
||||||
|
if (event.xbutton.state & Mod1Mask)
|
||||||
|
modifiers |= GLUT_ACTIVE_ALT;
|
||||||
|
window->State.Modifiers = modifiers;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Finally execute the mouse callback
|
* Finally execute the mouse callback
|
||||||
@ -731,7 +738,14 @@ void FGAPIENTRY glutMainLoop( void )
|
|||||||
/*
|
/*
|
||||||
* Remember the current modifiers state
|
* Remember the current modifiers state
|
||||||
*/
|
*/
|
||||||
window->State.Modifiers = event.xkey.state;
|
modifiers = 0;
|
||||||
|
if (event.xkey.state & (ShiftMask|LockMask))
|
||||||
|
modifiers |= GLUT_ACTIVE_SHIFT;
|
||||||
|
if (event.xkey.state & ControlMask)
|
||||||
|
modifiers |= GLUT_ACTIVE_CTRL;
|
||||||
|
if (event.xkey.state & Mod1Mask)
|
||||||
|
modifiers |= GLUT_ACTIVE_ALT;
|
||||||
|
window->State.Modifiers = modifiers;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Execute the callback
|
* Execute the callback
|
||||||
@ -787,7 +801,14 @@ void FGAPIENTRY glutMainLoop( void )
|
|||||||
/*
|
/*
|
||||||
* Remember the current modifiers state
|
* Remember the current modifiers state
|
||||||
*/
|
*/
|
||||||
window->State.Modifiers = event.xkey.state;
|
modifiers = 0;
|
||||||
|
if (event.xkey.state & (ShiftMask|LockMask))
|
||||||
|
modifiers |= GLUT_ACTIVE_SHIFT;
|
||||||
|
if (event.xkey.state & ControlMask)
|
||||||
|
modifiers |= GLUT_ACTIVE_CTRL;
|
||||||
|
if (event.xkey.state & Mod1Mask)
|
||||||
|
modifiers |= GLUT_ACTIVE_ALT;
|
||||||
|
window->State.Modifiers = modifiers;
|
||||||
|
|
||||||
window->Callbacks.Special( special, event.xkey.x, event.xkey.y );
|
window->Callbacks.Special( special, event.xkey.x, event.xkey.y );
|
||||||
|
|
||||||
|
@ -262,8 +262,8 @@
|
|||||||
* GLUT API macro definitions -- the glutGetModifiers parameters
|
* GLUT API macro definitions -- the glutGetModifiers parameters
|
||||||
*/
|
*/
|
||||||
#define GLUT_ACTIVE_SHIFT 0x0001
|
#define GLUT_ACTIVE_SHIFT 0x0001
|
||||||
#define GLUT_ACTIVE_CTRL 0x0004
|
#define GLUT_ACTIVE_CTRL 0x0002
|
||||||
#define GLUT_ACTIVE_ALT 0x0008
|
#define GLUT_ACTIVE_ALT 0x0004
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GLUT API macro definitions -- the glutSetCursor parameters
|
* GLUT API macro definitions -- the glutSetCursor parameters
|
||||||
|
Reference in New Issue
Block a user