MenuStatusCallback when menu was closed did not return location of pointer relative...
[freeglut] / src / fg_internal.h
index a0b563b..85bb750 100644 (file)
 /* Freeglut callbacks type definitions */
 typedef void (* FGCBDisplay       )( void );
 typedef void (* FGCBReshape       )( int, int );
+typedef void (* FGCBPosition      )( int, int );
 typedef void (* FGCBVisibility    )( int );
 typedef void (* FGCBKeyboard      )( unsigned char, int, int );
+typedef void (* FGCBKeyboardUp    )( unsigned char, int, int );
 typedef void (* FGCBSpecial       )( int, int, int );
+typedef void (* FGCBSpecialUp     )( int, int, int );
 typedef void (* FGCBMouse         )( int, int, int, int );
 typedef void (* FGCBMouseWheel    )( int, int, int, int );
 typedef void (* FGCBMotion        )( int, int );
 typedef void (* FGCBPassive       )( int, int );
 typedef void (* FGCBEntry         )( int );
 typedef void (* FGCBWindowStatus  )( int );
-typedef void (* FGCBSelect        )( int, int, int );
 typedef void (* FGCBJoystick      )( unsigned int, int, int, int );
-typedef void (* FGCBKeyboardUp    )( unsigned char, int, int );
-typedef void (* FGCBSpecialUp     )( int, int, int );
 typedef void (* FGCBOverlayDisplay)( void );
 typedef void (* FGCBSpaceMotion   )( int, int, int );
 typedef void (* FGCBSpaceRotation )( int, int, int );
@@ -212,7 +212,7 @@ typedef void (* FGCBDials         )( int, int );
 typedef void (* FGCBButtonBox     )( int, int );
 typedef void (* FGCBTabletMotion  )( int, int );
 typedef void (* FGCBTabletButton  )( int, int, int, int );
-typedef void (* FGCBDestroy       )( void );
+typedef void (* FGCBDestroy       )( void );    /* Used for both window and menu destroy callbacks */
 
 typedef void (* FGCBMultiEntry   )( int, int );
 typedef void (* FGCBMultiButton  )( int, int, int, int, int );
@@ -383,7 +383,7 @@ struct tagSFG_WindowState
     int             Width;              /* Window's width in pixels          */
     int             Height;             /* The same about the height         */
 
-       SFG_PlatformWindowState pWState;    /* Window width/height (X11) or rectangle/style (Windows) from before a resize */
+       SFG_PlatformWindowState pWState;    /* Window width/height (X11) or rectangle/style (Windows) from before a resize, and other stuff only needed on specific platforms */
 
     GLboolean       Redisplay;          /* Do we have to redisplay?          */
     GLboolean       Visible;            /* Is the window visible now         */
@@ -512,6 +512,7 @@ enum
 {
     WCB_Display,
     WCB_Reshape,
+    WCB_Position,
     WCB_Keyboard,
     WCB_KeyboardUp,
     WCB_Special,
@@ -643,8 +644,8 @@ struct tagSFG_Structure
 
     SFG_Window*      GameModeWindow; /* The game mode window               */
 
-    int              WindowID;       /* The new current window ID          */
-    int              MenuID;         /* The new current menu ID            */
+    int              WindowID;       /* The window ID for the next window to be created */
+    int              MenuID;         /* The menu ID for the next menu to be created */
 };
 
 /*