projects
/
freeglut
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Adding a more comprehensive warning message if "CreateDC" failed, per e-mail from...
[freeglut]
/
src
/
freeglut_gamemode.c
diff --git
a/src/freeglut_gamemode.c
b/src/freeglut_gamemode.c
index
5f8faad
..
3172dfc
100644
(file)
--- a/
src/freeglut_gamemode.c
+++ b/
src/freeglut_gamemode.c
@@
-46,7
+46,7
@@
*/
static void fghRememberState( void )
{
*/
static void fghRememberState( void )
{
-#if TARGET_HOST_UNIX_X11
+#if TARGET_HOST_POSIX_X11
/*
* This highly depends on the XFree86 extensions,
/*
* This highly depends on the XFree86 extensions,
@@
-101,7
+101,7
@@
static void fghRememberState( void )
*/
# endif
*/
# endif
-#elif TARGET_HOST_WIN32 || TARGET_HOST_WINCE
+#elif TARGET_HOST_MS_WINDOWS
/* DEVMODE devMode; */
/* DEVMODE devMode; */
@@
-110,7
+110,7
@@
static void fghRememberState( void )
/* hack to get around my stupid cross-gcc headers */
#define FREEGLUT_ENUM_CURRENT_SETTINGS -1
/* hack to get around my stupid cross-gcc headers */
#define FREEGLUT_ENUM_CURRENT_SETTINGS -1
- EnumDisplaySettings( NULL, FREEGLUT_ENUM_CURRENT_SETTINGS,
+ EnumDisplaySettings( fgDisplay.DisplayName, FREEGLUT_ENUM_CURRENT_SETTINGS,
&fgDisplay.DisplayMode );
/* Make sure we will be restoring all settings needed */
&fgDisplay.DisplayMode );
/* Make sure we will be restoring all settings needed */
@@
-125,7
+125,7
@@
static void fghRememberState( void )
*/
static void fghRestoreState( void )
{
*/
static void fghRestoreState( void )
{
-#if TARGET_HOST_UNIX_X11
+#if TARGET_HOST_POSIX_X11
# ifdef X_XF86VidModeGetAllModeLines
/* Restore the remembered pointer position: */
# ifdef X_XF86VidModeGetAllModeLines
/* Restore the remembered pointer position: */
@@
-202,15
+202,15
@@
static void fghRestoreState( void )
*/
# endif
*/
# endif
-#elif TARGET_HOST_WIN32 || TARGET_HOST_WINCE
+#elif TARGET_HOST_MS_WINDOWS
/* Restore the previously rememebered desktop display settings */
/* Restore the previously rememebered desktop display settings */
- ChangeDisplaySettings( &fgDisplay.DisplayMode, 0 );
+ ChangeDisplaySettingsEx( fgDisplay.DisplayName,&fgDisplay.DisplayMode, 0,0,0 );
#endif
}
#endif
}
-#if TARGET_HOST_UNIX_X11
+#if TARGET_HOST_POSIX_X11
#ifdef X_XF86VidModeGetAllModeLines
/*
#ifdef X_XF86VidModeGetAllModeLines
/*
@@
-257,7
+257,7
@@
static int fghCheckDisplayModes( GLboolean exactMatch, int displayModesCount, XF
static GLboolean fghChangeDisplayMode( GLboolean haveToTest )
{
GLboolean success = GL_FALSE;
static GLboolean fghChangeDisplayMode( GLboolean haveToTest )
{
GLboolean success = GL_FALSE;
-#if TARGET_HOST_UNIX_X11
+#if TARGET_HOST_POSIX_X11
/*
* This highly depends on the XFree86 extensions,
/*
* This highly depends on the XFree86 extensions,
@@
-316,14
+316,14
@@
static GLboolean fghChangeDisplayMode( GLboolean haveToTest )
# endif
# endif
-#elif TARGET_HOST_WIN32 || TARGET_HOST_WINCE
+#elif TARGET_HOST_MS_WINDOWS
DEVMODE devMode;
char *fggmstr = NULL;
success = GL_FALSE;
DEVMODE devMode;
char *fggmstr = NULL;
success = GL_FALSE;
- EnumDisplaySettings( NULL, -1, &devMode );
+ EnumDisplaySettings( fgDisplay.DisplayName, -1, &devMode );
devMode.dmFields |= DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL | DM_DISPLAYFREQUENCY;
devMode.dmPelsWidth = fgState.GameModeSize.X;
devMode.dmFields |= DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL | DM_DISPLAYFREQUENCY;
devMode.dmPelsWidth = fgState.GameModeSize.X;
@@
-332,13
+332,13
@@
static GLboolean fghChangeDisplayMode( GLboolean haveToTest )
devMode.dmDisplayFrequency = fgState.GameModeRefresh;
devMode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL | DM_DISPLAYFREQUENCY;
devMode.dmDisplayFrequency = fgState.GameModeRefresh;
devMode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL | DM_DISPLAYFREQUENCY;
- switch ( ChangeDisplaySettingsEx(NULL, &devMode, NULL, haveToTest ? CDS_TEST : CDS_FULLSCREEN , NULL) )
+ switch ( ChangeDisplaySettingsEx(fgDisplay.DisplayName, &devMode, NULL, haveToTest ? CDS_TEST : CDS_FULLSCREEN , NULL) )
{
case DISP_CHANGE_SUCCESSFUL:
success = GL_TRUE;
/* update vars in case if windows switched to proper mode */
{
case DISP_CHANGE_SUCCESSFUL:
success = GL_TRUE;
/* update vars in case if windows switched to proper mode */
- EnumDisplaySettings( NULL, FREEGLUT_ENUM_CURRENT_SETTINGS, &devMode );
+ EnumDisplaySettings( fgDisplay.DisplayName, FREEGLUT_ENUM_CURRENT_SETTINGS, &devMode );
fgState.GameModeSize.X = devMode.dmPelsWidth;
fgState.GameModeSize.Y = devMode.dmPelsHeight;
fgState.GameModeDepth = devMode.dmBitsPerPel;
fgState.GameModeSize.X = devMode.dmPelsWidth;
fgState.GameModeSize.Y = devMode.dmPelsHeight;
fgState.GameModeDepth = devMode.dmBitsPerPel;
@@
-410,6
+410,8
@@
void FGAPIENTRY glutGameModeString( const char* string )
fgState.GameModeRefresh = refresh;
}
fgState.GameModeRefresh = refresh;
}
+
+
/*
* Enters the game mode
*/
/*
* Enters the game mode
*/
@@
-429,17
+431,16
@@
int FGAPIENTRY glutEnterGameMode( void )
}
fgStructure.GameModeWindow = fgCreateWindow(
}
fgStructure.GameModeWindow = fgCreateWindow(
- NULL, "FREEGLUT", 0, 0,
- fgState.GameModeSize.X, fgState.GameModeSize.Y, GL_TRUE, GL_FALSE
+ NULL, "FREEGLUT", GL_TRUE, 0, 0,
+ GL_TRUE, fgState.GameModeSize.X, fgState.GameModeSize.Y,
+ GL_TRUE, GL_FALSE
);
fgStructure.GameModeWindow->State.Width = fgState.GameModeSize.X;
fgStructure.GameModeWindow->State.Height = fgState.GameModeSize.Y;
fgStructure.GameModeWindow->State.NeedToResize = GL_TRUE;
);
fgStructure.GameModeWindow->State.Width = fgState.GameModeSize.X;
fgStructure.GameModeWindow->State.Height = fgState.GameModeSize.Y;
fgStructure.GameModeWindow->State.NeedToResize = GL_TRUE;
- fgStructure.GameModeWindow->State.IsGameMode = GL_TRUE;
-
-#if TARGET_HOST_UNIX_X11
+#if TARGET_HOST_POSIX_X11
/*
* Sync needed to avoid a real race, the Xserver must have really created
/*
* Sync needed to avoid a real race, the Xserver must have really created
@@
-541,12
+542,10
@@
void FGAPIENTRY glutLeaveGameMode( void )
freeglut_return_if_fail( fgStructure.GameModeWindow );
freeglut_return_if_fail( fgStructure.GameModeWindow );
- fgStructure.GameModeWindow->State.IsGameMode = GL_FALSE;
-
fgAddToWindowDestroyList( fgStructure.GameModeWindow );
fgStructure.GameModeWindow = NULL;
fgAddToWindowDestroyList( fgStructure.GameModeWindow );
fgStructure.GameModeWindow = NULL;
-#if TARGET_HOST_UNIX_X11
+#if TARGET_HOST_POSIX_X11
XUngrabPointer( fgDisplay.Display, CurrentTime );
XUngrabKeyboard( fgDisplay.Display, CurrentTime );
XUngrabPointer( fgDisplay.Display, CurrentTime );
XUngrabKeyboard( fgDisplay.Display, CurrentTime );