X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_internal.h;h=013cae89917a90654ffaf4cf148c033e25289a5c;hb=c4ffff1de4b14af7f0efb231f476961c21f3f552;hp=3f3541421641e9aae3992e449871921fb8488fb7;hpb=c9506afa344cb7108843a871538e10fc375a753c;p=freeglut diff --git a/src/freeglut_internal.h b/src/freeglut_internal.h index 3f35414..013cae8 100644 --- a/src/freeglut_internal.h +++ b/src/freeglut_internal.h @@ -31,17 +31,23 @@ /* 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. */ -#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) +#if defined(_WIN32_WCE) +# define TARGET_HOST_UNIX_X11 0 +# define TARGET_HOST_WIN32 0 +# define TARGET_HOST_WINCE 1 +#elif defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) # define TARGET_HOST_UNIX_X11 0 # define TARGET_HOST_WIN32 1 +# define TARGET_HOST_WINCE 0 #else # define TARGET_HOST_UNIX_X11 1 # define TARGET_HOST_WIN32 0 +# define TARGET_HOST_WINCE 0 #endif #define FREEGLUT_MAX_MENUS 3 @@ -62,6 +68,7 @@ #include #include #include +#include #endif #if defined(_MSC_VER) @@ -233,7 +240,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 */ @@ -288,7 +295,7 @@ struct tagSFG_Display #endif -#elif TARGET_HOST_WIN32 +#elif TARGET_HOST_WIN32 || TARGET_HOST_WINCE HINSTANCE Instance; /* The application's instance */ DEVMODE DisplayMode; /* Desktop's display settings */ @@ -322,7 +329,7 @@ struct tagSFG_Timer typedef Window SFG_WindowHandleType ; typedef GLXContext SFG_WindowContextType ; -#elif TARGET_HOST_WIN32 +#elif TARGET_HOST_WIN32 || TARGET_HOST_WINCE typedef HWND SFG_WindowHandleType ; typedef HGLRC SFG_WindowContextType ; @@ -343,7 +350,7 @@ struct tagSFG_Context XVisualInfo* VisualInfo; /* The window's visual information */ Pixmap Pixmap; /* Used for offscreen rendering */ /* GLXPixmap GLXPixMap; */ /* Used for offscreen rendering */ -#elif TARGET_HOST_WIN32 +#elif TARGET_HOST_WIN32 || TARGET_HOST_WINCE HDC Device; /* The window's device context */ #endif @@ -367,13 +374,15 @@ 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 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. */ }; @@ -488,7 +497,7 @@ enum CB_ButtonBox, CB_TabletMotion, CB_TabletButton, - + /* Always make this the LAST one */ TOTAL_CALLBACKS }; @@ -733,7 +742,7 @@ XVisualInfo* fgChooseVisual( void ); /* * The window procedure for Win32 events handling */ -#if TARGET_HOST_WIN32 +#if TARGET_HOST_WIN32 || TARGET_HOST_WINCE LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); GLboolean fgSetupPixelFormat( SFG_Window* window, GLboolean checkOnly,