X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_internal.h;h=0427784c1b837c0c8e080bef130e47d850ddc1e4;hb=4f58e4f75c3d57437da215f4119e9991b77272e0;hp=cea8ad81d3b7929301a0a6712f3fac6b86ba77a4;hpb=fe1aeed5aa76aaefcbff66c7d60768d8f83c7748;p=freeglut diff --git a/src/freeglut_internal.h b/src/freeglut_internal.h index cea8ad8..0427784 100644 --- a/src/freeglut_internal.h +++ b/src/freeglut_internal.h @@ -31,7 +31,7 @@ /* XXX Update these for each release! */ #define VERSION_MAJOR 2 #define VERSION_MINOR 2 -#define VERSION_PATCH 0 +#define VERSION_PATCH 0 /* * Freeglut is meant to be available under all Unix/X11 and Win32 platforms. @@ -233,7 +233,7 @@ struct tagSFG_State GLboolean GLDebugSwitch; /* OpenGL state debugging switch */ GLboolean XSyncSwitch; /* X11 sync protocol switch */ - GLboolean IgnoreKeyRepeat; /* Whether to ignore key repeat. */ + int KeyRepeat; /* Global key repeat mode. */ int Modifiers; /* Current ALT/SHIFT/CTRL state */ GLuint FPSInterval; /* Interval between FPS printfs */ @@ -341,6 +341,8 @@ struct tagSFG_Context #if TARGET_HOST_UNIX_X11 XVisualInfo* VisualInfo; /* The window's visual information */ + Pixmap Pixmap; /* Used for offscreen rendering */ + /* GLXPixmap GLXPixMap; */ /* Used for offscreen rendering */ #elif TARGET_HOST_WIN32 HDC Device; /* The window's device context */ #endif @@ -365,13 +367,16 @@ struct tagSFG_WindowState int Cursor; /* The currently selected cursor */ long JoystickPollRate; /* The joystick polling rate */ - long JoystickLastPoll; /* When the last poll has happened */ + long JoystickLastPoll; /* When the last poll happened */ int MouseX, MouseY; /* The most recent mouse position */ - GLboolean IsGameMode; /* Is this the game mode window? */ + GLboolean IgnoreKeyRepeat; /* Whether to ignore key repeat. */ + GLboolean KeyRepeating; /* Currently in repeat mode */ + GLboolean IsGameMode; /* Is this the game mode window? */ GLboolean NeedToResize; /* Do we need to resize the window? */ + GLboolean IsOffscreen; /* Tags a `window' as on/offscreen. */ }; @@ -392,12 +397,12 @@ struct tagSFG_WindowState * and for no other reason. Since it's hidden in the macro, the * ugliness is felt to be rather benign. */ -#define SET_WCB(window,cbname,func) \ -do \ -{ \ - if( FETCH_WCB( window, cbname ) != func ) \ - (((window).CallBacks[CB_ ## cbname]) = func); \ -} while( 0 ) \ +#define SET_WCB(window,cbname,func) \ +do \ +{ \ + if( FETCH_WCB( window, cbname ) != func ) \ + (((window).CallBacks[CB_ ## cbname]) = (void *) func); \ +} while( 0 ) \ /* * FETCH_WCB() is used as: @@ -486,7 +491,7 @@ enum CB_ButtonBox, CB_TabletMotion, CB_TabletButton, - + /* Always make this the LAST one */ TOTAL_CALLBACKS };