projects
/
freeglut
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Combined EnterNotify and LeaveNotify event processing in the UNIX_X11
[freeglut]
/
src
/
freeglut_main.c
diff --git
a/src/freeglut_main.c
b/src/freeglut_main.c
index
6c569d3
..
fb8f9bb
100644
(file)
--- a/
src/freeglut_main.c
+++ b/
src/freeglut_main.c
@@
-619,20
+619,13
@@
void FGAPIENTRY glutMainLoopEvent( void )
break;
case EnterNotify:
break;
case EnterNotify:
- {
- GETWINDOW( xcrossing );
- GETMOUSE( xcrossing );
- INVOKE_WCB( *window, Entry, ( GLUT_ENTERED ) );
- }
- break;
- /* XXX Combine EnterNotify and LeaveNotify */
case LeaveNotify:
case LeaveNotify:
- {
GETWINDOW( xcrossing );
GETMOUSE( xcrossing );
GETWINDOW( xcrossing );
GETMOUSE( xcrossing );
- INVOKE_WCB( *window, Entry, ( GLUT_LEFT ) );
- }
- break;
+ INVOKE_WCB( *window, Entry, ( ( EnterNotify == event.type ) ?
+ GLUT_ENTERED :
+ GLUT_LEFT ) );
+ break;
case MotionNotify:
{
case MotionNotify:
{
@@
-801,7
+794,7
@@
void FGAPIENTRY glutMainLoopEvent( void )
*
* XXX Use a symbolic constant, *not* "4"!
*/
*
* XXX Use a symbolic constant, *not* "4"!
*/
- if( ( button < 4 ) || ( ! FETCH_WCB( *window, MouseWheel ) ) )
+ if( ( button < 3 ) || ( ! FETCH_WCB( *window, MouseWheel ) ) )
{
INVOKE_WCB( *window, Mouse, ( button,
pressed ? GLUT_DOWN : GLUT_UP,
{
INVOKE_WCB( *window, Mouse, ( button,
pressed ? GLUT_DOWN : GLUT_UP,
@@
-819,9
+812,14
@@
void FGAPIENTRY glutMainLoopEvent( void )
* 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).
* 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).
+ *
+ * XXX Note that {button} has already been decremeted
+ * XXX in mapping from X button numbering to GLUT.
*/
*/
- int wheel_number = (button - 4) / 2;
- int direction = (button & 1)*2 - 1;
+ int wheel_number = (button - 3) / 2;
+ int direction = -1;
+ if( button % 2 )
+ direction = 1;
if( pressed )
INVOKE_WCB( *window, MouseWheel, ( wheel_number,
if( pressed )
INVOKE_WCB( *window, MouseWheel, ( wheel_number,
@@
-947,6
+945,9
@@
void FGAPIENTRY glutMainLoopEvent( void )
}
break;
}
break;
+ case ReparentNotify:
+ break; /* XXX Should disable this event */
+
default:
fgWarning ("Unknown X event type: %d", event.type);
break;
default:
fgWarning ("Unknown X event type: %d", event.type);
break;