{ 300, 300, GL_TRUE }, /* Size */
GLUT_RGBA | GLUT_SINGLE | GLUT_DEPTH, /* DisplayMode */
GL_FALSE, /* Initialised */
- GL_FALSE, /* ForceDirectContext */
- GL_TRUE, /* TryDirectContext */
+ GLUT_TRY_DIRECT_CONTEXT, /* DirectContext */
GL_FALSE, /* ForceIconic */
GL_FALSE, /* UseCurrentContext */
GL_FALSE, /* GLDebugSwitch */
0, /* FPSInterval */
0, /* SwapCount */
0, /* SwapTime */
-#if TARGET_HOST_WIN32
+#if TARGET_HOST_WIN32 || TARGET_HOST_WINCE
{ 0, GL_FALSE }, /* Time */
#else
{ { 0, 0 }, GL_FALSE },
FALSE
);
-#elif TARGET_HOST_WIN32
+#elif TARGET_HOST_WIN32 || TARGET_HOST_WINCE
WNDCLASS wc;
ATOM atom;
*/
fgDisplay.Instance = GetModuleHandle( NULL );
- atom = GetClassInfo( fgDisplay.Instance, "FREEGLUT", &wc );
+ atom = GetClassInfo( fgDisplay.Instance, _T("FREEGLUT"), &wc );
+
if( atom == 0 )
{
ZeroMemory( &wc, sizeof(WNDCLASS) );
* XXX Old code had "| CS_DBCLCKS" commented out. Plans for the
* XXX future? Dead-end idea?
*/
- wc.style = CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = fgWindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = fgDisplay.Instance;
- wc.hIcon = LoadIcon( fgDisplay.Instance, "GLUT_ICON" );
+ wc.hIcon = LoadIcon( fgDisplay.Instance, _T("GLUT_ICON") );
+
+#if TARGET_HOST_WIN32
+ wc.style = CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
if (!wc.hIcon)
wc.hIcon = LoadIcon( NULL, IDI_WINLOGO );
+#else /* TARGET_HOST_WINCE */
+ wc.style = CS_HREDRAW | CS_VREDRAW;
+#endif
wc.hCursor = LoadCursor( NULL, IDC_ARROW );
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
- wc.lpszClassName = "FREEGLUT";
+ wc.lpszClassName = _T("FREEGLUT");
/*
* Register the window class
#endif
+#if !TARGET_HOST_WINCE
fgJoystickInit( 0 );
fgJoystickInit( 1 );
+#endif /* !TARGET_HOST_WINCE */
fgState.Initialised = GL_TRUE;
}
free( timer );
}
+#if !TARGET_HOST_WINCE
fgJoystickClose( );
+#endif /* !TARGET_HOST_WINCE */
fgState.Initialised = GL_FALSE;
fgState.DisplayMode = GLUT_RGBA | GLUT_SINGLE | GLUT_DEPTH;
- fgState.ForceDirectContext = GL_FALSE;
- fgState.TryDirectContext = GL_TRUE;
+ fgState.DirectContext = GLUT_TRY_DIRECT_CONTEXT;
fgState.ForceIconic = GL_FALSE;
fgState.UseCurrentContext = GL_FALSE;
fgState.GLDebugSwitch = GL_FALSE;
* Everything inside the following #ifndef is copied from the X sources.
*/
-#if TARGET_HOST_WIN32
+#if TARGET_HOST_WIN32 || TARGET_HOST_WINCE
/*
fgElapsedTime( );
/* check if GLUT_FPS env var is set */
+#if !TARGET_HOST_WINCE
{
const char *fps = getenv( "GLUT_FPS" );
if( fps )
}
else if( strcmp( argv[ i ], "-direct" ) == 0)
{
- if( ! fgState.TryDirectContext )
+ if( fgState.DirectContext == GLUT_FORCE_INDIRECT_CONTEXT )
fgError( "parameters ambiguity, -direct and -indirect "
"cannot be both specified" );
- fgState.ForceDirectContext = GL_TRUE;
+ fgState.DirectContext = GLUT_FORCE_DIRECT_CONTEXT;
argv[ i ] = NULL;
( *pargc )--;
}
else if( strcmp( argv[ i ], "-indirect" ) == 0 )
{
- if( fgState.ForceDirectContext )
+ if( fgState.DirectContext == GLUT_FORCE_DIRECT_CONTEXT )
fgError( "parameters ambiguity, -direct and -indirect "
"cannot be both specified" );
- fgState.TryDirectContext = GL_FALSE;
+ fgState.DirectContext = GLUT_FORCE_INDIRECT_CONTEXT;
argv[ i ] = NULL;
(*pargc)--;
}
}
}
+#endif /* TARGET_HOST_WINCE */
+
/*
* Have the display created now. If there wasn't a "-display"
* in the program arguments, we will use the DISPLAY environment