#if TARGET_HOST_POSIX_X11
static Bool fghWindowIsVisible( Display *display, XEvent *event, XPointer arg)
{
- Window window = arg;
+ Window window = (Window)arg;
return (event->type == MapNotify) && (event->xmap.window == window);
}
#endif
GLboolean gameMode, GLboolean isSubWindow )
{
#if TARGET_HOST_POSIX_X11
- XVisualInfo * visualInfo;
+ XVisualInfo * visualInfo = NULL;
XSetWindowAttributes winAttr;
XTextProperty textProperty;
XSizeHints sizeHints;
XFree(visualInfo);
if( !isSubWindow)
- XPeekIfEvent( fgDisplay.Display, &eventReturnBuffer, &fghWindowIsVisible, window->Window.Handle );
+ XPeekIfEvent( fgDisplay.Display, &eventReturnBuffer, &fghWindowIsVisible, (XPointer)(window->Window.Handle) );
#elif TARGET_HOST_MS_WINDOWS
if( gameMode )
{
/* if in gamemode, query the origin of specified by the -display
- * parameter command line (if any) and offset the upper-left corner
+ * command line parameter (if any) and offset the upper-left corner
* of the window so we create the window on that screen.
* The -display argument doesn't do anything if not trying to enter
* gamemode.
}
{
+#if(WINVER >= 0x0500) /* Windows 2000 or later */
DWORD s;
RECT rect;
HMONITOR hMonitor;
mi.cbSize = sizeof(mi);
GetMonitorInfo(hMonitor, &mi);
rect = mi.rcMonitor;
+#else /* if (WINVER >= 0x0500) */
+ RECT rect;
+
+ /* For fullscreen mode, force the top-left corner to 0,0
+ * and adjust the window rectangle so that the client area
+ * covers the whole screen.
+ */
+
+ rect.left = 0;
+ rect.top = 0;
+ rect.right = fgDisplay.ScreenWidth;
+ rect.bottom = fgDisplay.ScreenHeight;
+
+ AdjustWindowRect ( &rect, WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS |
+ WS_CLIPCHILDREN, FALSE );
+#endif /* (WINVER >= 0x0500) */
/*
* then resize window
SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSENDCHANGING |
SWP_NOZORDER
);
-
+
win->State.IsFullscreen = GL_TRUE;
}
#endif