From 90bff7f0ed51fb7f8478d3f36bf2f16c252f030d Mon Sep 17 00:00:00 2001 From: Philippe Houdoin Date: Wed, 4 Aug 2010 00:14:40 +0000 Subject: [PATCH] Named the game mode fullscreen window after the mode string. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37891 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/libs/mesa/glut/glutGameMode.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/libs/mesa/glut/glutGameMode.cpp b/src/libs/mesa/glut/glutGameMode.cpp index 0861c64d8d..074edc32fd 100644 --- a/src/libs/mesa/glut/glutGameMode.cpp +++ b/src/libs/mesa/glut/glutGameMode.cpp @@ -7,10 +7,13 @@ */ -#include +#include "glutGameMode.h" #include "glutint.h" #include "glutState.h" -#include "glutBlocker.h" +// #include "glutBlocker.h" + +#include +#include #include @@ -110,14 +113,22 @@ GlutGameMode::Enter() screen.GetMode(fGameModeWorkspace, &fCurrentMode); // create a new window in full screen - glutCreateWindow("glutGameMode"); + BString name; + name << "Game Mode " << fCurrentMode.virtual_width + << "x" << fCurrentMode.virtual_height + << ":" << _GetModePixelDepth(&fCurrentMode) + << "@" << _GetModeRefreshRate(&fCurrentMode); + + glutCreateWindow(name.String()); BDirectWindow *directWindow = dynamic_cast(gState.currentWindow->Window()); if (directWindow == NULL) // Hum?! return B_ERROR; + directWindow->Lock(); directWindow->SetFullScreen(true); + directWindow->Unlock(); fDisplayChanged = true; fActive = true; @@ -160,7 +171,7 @@ GlutGameMode::_FindMatchingMode() // Lazy retrieval of supported modes... BScreen screen; if (screen.GetModeList(&fModesList, &fModesCount) == B_OK) { - // sort modes + // sort modes in decrease order (resolution, depth, frequency) qsort(fModesList, fModesCount, sizeof(display_mode), _CompareModes); } else { // bad luck, no modes can be retrieved!