Fix spelling mistake in a variable name.
[freeglut] / src / freeglut_internal.h
index 9cfe936..31e7681 100644 (file)
@@ -198,13 +198,15 @@ struct tagSFG_Time
 };
 
 /*
- * An enumeration containing the state of the GLUT execution:  initializing, running, or stopping
+ * An enumeration containing the state of the GLUT execution:
+ * initializing, running, or stopping
  */
-typedef enum {
-  GLUT_EXEC_STATE_INIT,
-  GLUT_EXEC_STATE_RUNNING,
-  GLUT_EXEC_STATE_STOP
-} fgExecutionState ;
+typedef enum
+{
+    GLUT_EXEC_STATE_INIT,
+    GLUT_EXEC_STATE_RUNNING,
+    GLUT_EXEC_STATE_STOP
+} fgExecutionState;
 
 /*
  * This structure holds different freeglut settings
@@ -216,6 +218,8 @@ struct tagSFG_State
     SFG_XYUse        Size;                 /* The default windows' size      */
     unsigned int     DisplayMode;          /* Display mode for new windows   */
 
+    GLboolean        Initialised;          /* Freeglut has been initialised  */
+
     GLboolean        ForceDirectContext;   /* Force direct rendering?        */
     GLboolean        TryDirectContext;     /* What about giving a try to?    */
 
@@ -226,6 +230,7 @@ struct tagSFG_State
     GLboolean        XSyncSwitch;          /* X11 sync protocol switch       */
 
     GLboolean        IgnoreKeyRepeat;      /* Whether to ignore key repeat.  */
+    int              Modifiers;           /* Current ALT/SHIFT/CTRL state    */
 
     GLuint           FPSInterval;          /* Interval between FPS printfs   */
     GLuint           SwapCount;            /* Count of glutSwapBuffer calls  */
@@ -236,7 +241,6 @@ struct tagSFG_State
 
     FGCBIdle         IdleCallback;         /* The global idle callback       */
 
-    GLboolean        BuildingAMenu;        /* Are we presently making a menu */
     int              ActiveMenus;          /* Num. of currently active menus */
     FGCBMenuState    MenuStateCallback;    /* Menu callbacks are global      */
     FGCBMenuStatus   MenuStatusCallback;
@@ -339,7 +343,6 @@ struct tagSFG_WindowState
     GLboolean       Visible;            /* Is the window visible now         */
 
     int             Cursor;             /* The currently selected cursor     */
-    int             Modifiers;          /* The current ALT/SHIFT/CTRL state  */
 
     long            JoystickPollRate;   /* The joystick polling rate         */
     long            JoystickLastPoll;   /* When the last poll has happened   */
@@ -363,8 +366,7 @@ struct tagSFG_WindowState
  *          {Visibility} is the window-specific callback to fetch.
  *
  * The result is correctly type-cast to the callback function pointer
- * type.  (This is accomlished by abutting the callback name to a
- * common prefix, using ANSI C token-pasting.)
+ * type.
  */
 #define FETCH_WCB(window,cbname) \
     ((FGCB ## cbname)((window).CallBacks[CB_ ## cbname]))
@@ -389,13 +391,14 @@ struct tagSFG_WindowState
  *
  */
 #define INVOKE_WCB(window,cbname,arg_list)    \
+do                                            \
 {                                             \
     if( FETCH_WCB( window, cbname ) )         \
     {                                         \
         fgSetWindow( &window );               \
         FETCH_WCB( window, cbname ) arg_list; \
     }                                         \
-}
+} while( 0 )
 
 /*
  * The window callbacks the user can supply us with. Should be kept portable.
@@ -527,12 +530,12 @@ struct tagSFG_Window
 /*
  * A linked list structure of windows
  */
-typedef struct tagSFG_WindowList SFG_WindowList ;
+typedef struct tagSFG_WindowList SFG_WindowList;
 struct tagSFG_WindowList
 {
-    SFG_Window *window ;
-    GLboolean needToClose ;
-    SFG_WindowList *next ;
+    SFG_Window *window;
+    GLboolean needToClose;
+    SFG_WindowList *next;
 };
 
 /*
@@ -641,7 +644,7 @@ extern SFG_State fgState;
  * A call to this function makes us sure that the Display and Structure
  * subsystems have been properly initialized and are ready to be used
  */
-#define  freeglut_assert_ready                      assert( fgState.Time.Set );
+#define  freeglut_assert_ready  assert( fgState.Initialised );
 
 /*
  * Following definitions are somewhat similiar to GLib's,
@@ -652,7 +655,7 @@ extern SFG_State fgState;
         return;
 #define  freeglut_return_val_if_fail( expr, val ) \
     if( !(expr) )                                 \
-        return( val );
+        return val;
 
 /*
  * A call to those macros assures us that there is a current
@@ -697,19 +700,22 @@ GLboolean fgSetupPixelFormat( SFG_Window* window, GLboolean checkOnly,
 
 /*
  * Window creation, opening, closing and destruction.
+ * Also CallBack clearing/initialization.
  * Defined in freeglut_structure.c, freeglut_window.c.
  */
 SFG_Window* fgCreateWindow( SFG_Window* parent, const char* title,
-                            int x, int y, int w, int h, GLboolean gameMode );
-void        fgSetWindow ( SFG_Window *window ) ;
+                            int x, int y, int w, int h,
+                           GLboolean gameMode, GLboolean isMenu );
+void        fgSetWindow ( SFG_Window *window );
 void        fgOpenWindow( SFG_Window* window, const char* title,
                           int x, int y, int w, int h, GLboolean gameMode,
-                          int isSubWindow );
+                          GLboolean isSubWindow );
 void        fgCloseWindow( SFG_Window* window );
 void        fgAddToWindowDestroyList ( SFG_Window* window,
-                                       GLboolean needToClose ) ;
-void        fgCloseWindows ();
+                                       GLboolean needToClose );
+void        fgCloseWindows( );
 void        fgDestroyWindow( SFG_Window* window, GLboolean needToClose );
+void        fgClearCallBacks( SFG_Window *window );
 
 /*
  * Menu creation and destruction. Defined in freeglut_structure.c