X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=freeglut-1.3%2Ffreeglut_internal.h;h=7b8c9a591ac7f894bdc5259d56c6b926cd40590b;hb=36f83cbf893ad68884edc26c2647b93ea16bf9f3;hp=e60d783a8fefb53142e6cb21ec7ba952fc6b078d;hpb=583baa8756a71ed088b8e46c52a945218037314c;p=freeglut diff --git a/freeglut-1.3/freeglut_internal.h b/freeglut-1.3/freeglut_internal.h index e60d783..7b8c9a5 100644 --- a/freeglut-1.3/freeglut_internal.h +++ b/freeglut-1.3/freeglut_internal.h @@ -28,6 +28,11 @@ #ifndef FREEGLUT_INTERNAL_H #define FREEGLUT_INTERNAL_H +/* XXX Update these for each release! */ +#define VERSION_MAJOR 1 +#define VERSION_MINOR 4 +#define VERSION_PATCH 0 + /* * Freeglut is meant to be available under all Unix/X11 and Win32 platforms. */ @@ -119,8 +124,6 @@ typedef void (* FGCBmotion )( int, int ); typedef void (* FGCBpassive )( int, int ); typedef void (* FGCBentry )( int ); typedef void (* FGCBwindowStatus )( int ); -typedef void (* FGCBmenuState )( int ); -typedef void (* FGCBmenuStatus )( int, int, int ); typedef void (* FGCBselect )( int, int, int ); typedef void (* FGCBjoystick )( unsigned int, int, int, int ); typedef void (* FGCBkeyboardUp )( unsigned char, int, int ); @@ -140,6 +143,8 @@ typedef void (* FGCBdestroy )( void ); */ typedef void (* FGCBidle )( void ); typedef void (* FGCBtimer )( int ); +typedef void (* FGCBmenuState )( int ); +typedef void (* FGCBmenuStatus )( int, int, int ); /* * The callback used when creating/using menus @@ -220,6 +225,10 @@ struct tagSFG_State GLboolean IgnoreKeyRepeat; /* Whether to ignore key repeat... */ + GLuint FPSInterval; /* Interval between FPS printfs */ + GLuint SwapCount; /* Count of glutSwapBuffer calls */ + GLuint SwapTime; /* Time of last SwapBuffers */ + SFG_Time Time; /* The time that glutInit was called */ SFG_List Timers; /* The freeglut timer hooks */ @@ -291,7 +300,6 @@ struct tagSFG_Context Window Handle; /* The window's handle */ GLXContext Context; /* The OpenGL context */ XVisualInfo* VisualInfo; /* The window's visual information */ - int DoubleBuffered; /* Treat the window as double-buffered */ #elif TARGET_HOST_WIN32 HWND Handle; /* The window's handle */ @@ -299,6 +307,8 @@ struct tagSFG_Context HGLRC Context; /* The window's WGL context */ #endif + + int DoubleBuffered; /* Treat the window as double-buffered */ }; /* @@ -374,9 +384,11 @@ typedef struct tagSFG_Menu SFG_Menu; struct tagSFG_Menu { SFG_Node Node; + void *UserData ; /* A. Donev: User data passed back at callback */ int ID; /* The global menu ID */ SFG_List Entries; /* The menu entries list */ FGCBmenu Callback; /* The menu callback */ + FGCBdestroy Destroy; /* A. Donev: Destruction callback */ GLboolean IsActive; /* Is the menu selected? */ int Width; /* Menu box width in pixels */ int Height; /* Menu box height in pixels */ @@ -410,6 +422,7 @@ struct tagSFG_Window SFG_Context Window; /* Window and OpenGL context */ SFG_WindowState State; /* The window state */ SFG_WindowCallbacks Callbacks; /* The window callbacks */ + void *UserData ; /* A. Donev: A pointer to user data used in rendering */ SFG_Menu* Menu[ FREEGLUT_MAX_MENUS ]; /* Menus appended to window */ SFG_Menu* ActiveMenu; /* The window's active menu */