From 120e0b5b384566c89984aeea86ae517909ebaac1 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 17 Dec 2015 22:52:07 +0300 Subject: Add support for full screen in nacl. --- src/gui/widgets/tabs/setup_video.cpp | 6 ++++-- src/gui/windowmanager.cpp | 13 +++++++++++++ src/gui/windowmanager.h | 2 ++ 3 files changed, 19 insertions(+), 2 deletions(-) (limited to 'src/gui') diff --git a/src/gui/widgets/tabs/setup_video.cpp b/src/gui/widgets/tabs/setup_video.cpp index e96320762..1212da022 100644 --- a/src/gui/widgets/tabs/setup_video.cpp +++ b/src/gui/widgets/tabs/setup_video.cpp @@ -177,7 +177,9 @@ Setup_Video::Setup_Video(const Widget2 *const widget) : #else mNoFrameCheckBox->setEnabled(false); mEnableResizeCheckBox->setEnabled(false); +#ifndef __native_client__ mFsCheckBox->setEnabled(false); +#endif // __native_client__ #endif int width = 600; @@ -214,10 +216,10 @@ void Setup_Video::apply() if (intToRenderType(config.getIntValue("opengl")) == RENDER_SOFTWARE) { #endif - if (!mainGraphics->setFullscreen(fullscreen)) + if (!WindowManager::setFullScreen(fullscreen)) { fullscreen = !fullscreen; - if (!mainGraphics->setFullscreen(fullscreen)) + if (!WindowManager::setFullScreen(fullscreen)) { std::stringstream errorMsg; if (fullscreen) diff --git a/src/gui/windowmanager.cpp b/src/gui/windowmanager.cpp index dfc72ab73..1959ac4a1 100644 --- a/src/gui/windowmanager.cpp +++ b/src/gui/windowmanager.cpp @@ -243,6 +243,19 @@ void WindowManager::resizeVideo(int actualWidth, } } +bool WindowManager::setFullScreen(const bool fs) +{ +#ifdef __native_client__ + naclPostMessage("set-fullscreen", + fs ? "on" : "off"); + return true; +#else + if (!mainGraphics) + return false; + return mainGraphics->setFullscreen(fs); +#endif +} + void WindowManager::applyGrabMode() { SDL::grabInput(mainGraphics->getWindow(), diff --git a/src/gui/windowmanager.h b/src/gui/windowmanager.h index 8acdce0fd..79a4a383a 100644 --- a/src/gui/windowmanager.h +++ b/src/gui/windowmanager.h @@ -57,6 +57,8 @@ namespace WindowManager int actualHeight, const bool always); + bool setFullScreen(const bool fs); + void applyScale(); #ifndef USE_SDL2 -- cgit v1.2.3-60-g2f50