/* XXX Update these for each release! */
#define VERSION_MAJOR 2
-#define VERSION_MINOR 0
-#define VERSION_PATCH 2
+#define VERSION_MINOR 2
+#define VERSION_PATCH 0
/*
* Freeglut is meant to be available under all Unix/X11 and Win32 platforms.
SFG_Time Time; /* Time that glutInit was called */
SFG_List Timers; /* The freeglut timer hooks */
+ SFG_List FreeTimers; /* The unused timer hooks */
FGCBIdle IdleCallback; /* The global idle callback */
{
int Width; /* Window's width in pixels */
int Height; /* The same about the height */
+ int OldWidth; /* Window width from before a resize */
+ int OldHeight; /* " height " " " " */
GLboolean Redisplay; /* Do we have to redisplay? */
GLboolean Visible; /* Is the window visible now */
typedef struct tagSFG_WindowList SFG_WindowList ;
struct tagSFG_WindowList
{
+ SFG_Node node;
SFG_Window *window ;
- GLboolean needToClose ;
- SFG_WindowList *next ;
};
/*
{
SFG_List Windows; /* The global windows list */
SFG_List Menus; /* The global menus list */
+ SFG_List WindowsToDestroy;
SFG_Window* Window; /* The currently active win. */
SFG_Menu* Menu; /* Same, but menu... */
int x, int y, int w, int h, GLboolean gameMode,
GLboolean isSubWindow );
void fgCloseWindow( SFG_Window* window );
-void fgAddToWindowDestroyList ( SFG_Window* window,
- GLboolean needToClose );
+void fgAddToWindowDestroyList ( SFG_Window* window );
void fgCloseWindows ();
-void fgDestroyWindow( SFG_Window* window, GLboolean needToClose );
+void fgDestroyWindow( SFG_Window* window );
void fgClearCallBacks( SFG_Window *window );
/*
void fgListAppend(SFG_List *list, SFG_Node *node);
void fgListRemove(SFG_List *list, SFG_Node *node);
int fgListLength(SFG_List *list);
+void fgListInsert(SFG_List *list, SFG_Node *next, SFG_Node *node);
/*
* Error Messages functions