本文整理汇总了C++中BScreen::SetMode方法的典型用法代码示例。如果您正苦于以下问题:C++ BScreen::SetMode方法的具体用法?C++ BScreen::SetMode怎么用?C++ BScreen::SetMode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BScreen
的用法示例。
在下文中一共展示了BScreen::SetMode方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
status_t
GlutGameMode::Leave()
{
if (!fActive)
return B_OK;
if (fGameModeWorkspace < 0)
return B_ERROR;
if (fGameModeWindow) {
glutDestroyWindow(fGameModeWindow);
fGameModeWindow = 0;
if (fPreviousWindow)
glutSetWindow(fPreviousWindow);
}
if (_CompareModes(&fOriginalMode, &fCurrentMode)) {
// Restore original display mode
BScreen screen;
// Make restored mode the default one,
// as it was before entering game mode...
screen.SetMode(fGameModeWorkspace, &fOriginalMode, true);
}
fActive = false;
return B_OK;
}
示例2: restoreWorkspaceResolution
void restoreWorkspaceResolution()
{
BScreen screen;
display_mode displayMode;
if (screen.GetMode(&displayMode) == B_OK && memcmp(&displayMode,&gDisplayMode,sizeof(display_mode)))
screen.SetMode(&gDisplayMode);
}
示例3: Leave
status_t
GlutGameMode::Enter()
{
display_mode* mode = _FindMatchingMode();
if (!mode)
return B_BAD_VALUE;
BScreen screen;
if (!fActive) {
// First enter: remember this workspace original mode...
fGameModeWorkspace = current_workspace();
screen.GetMode(fGameModeWorkspace, &fOriginalMode);
}
// Don't make it new default mode for this workspace...
status_t status = screen.SetMode(fGameModeWorkspace, mode, false);
if (status != B_OK)
return status;
// Retrieve the new active display mode, which could be
// a sligth different than the one we asked for...
screen.GetMode(fGameModeWorkspace, &fCurrentMode);
if (!fGameModeWindow) {
// create a new window
fPreviousWindow = glutGetWindow();
fGameModeWindow = glutCreateWindow("glutGameMode");
if (!fGameModeWindow)
return Leave();
} else
// make sure it's the current window
glutSetWindow(fGameModeWindow);
BDirectWindow *directWindow
= dynamic_cast<BDirectWindow*>(gState.currentWindow->Window());
if (directWindow == NULL)
// Hum?!
return B_ERROR;
// Give it some useless title, except for debugging (thread name).
BString name;
name << "Game Mode " << fCurrentMode.virtual_width
<< "x" << fCurrentMode.virtual_height
<< ":" << _GetModePixelDepth(&fCurrentMode)
<< "@" << _GetModeRefreshRate(&fCurrentMode);
// force the game mode window to fullscreen
directWindow->Lock();
directWindow->SetTitle(name.String());
directWindow->SetFullScreen(true);
directWindow->Unlock();
fDisplayChanged = true;
fActive = true;
return B_OK;
}