summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-12-17 22:52:07 +0300
committerAndrei Karas <akaras@inbox.ru>2015-12-17 22:52:07 +0300
commit120e0b5b384566c89984aeea86ae517909ebaac1 (patch)
tree71a3fae89106d1aa4827a1b314ce3d6f9890575e
parent8d3ef9075b56d9e9e8288e82e0242896433ff853 (diff)
downloadmanaplus-120e0b5b384566c89984aeea86ae517909ebaac1.tar.gz
manaplus-120e0b5b384566c89984aeea86ae517909ebaac1.tar.bz2
manaplus-120e0b5b384566c89984aeea86ae517909ebaac1.tar.xz
manaplus-120e0b5b384566c89984aeea86ae517909ebaac1.zip
Add support for full screen in nacl.
-rw-r--r--src/actions/actions.cpp4
-rw-r--r--src/gui/widgets/tabs/setup_video.cpp6
-rw-r--r--src/gui/windowmanager.cpp13
-rw-r--r--src/gui/windowmanager.h2
4 files changed, 21 insertions, 4 deletions
diff --git a/src/actions/actions.cpp b/src/actions/actions.cpp
index 663c7d475..dec8539d3 100644
--- a/src/actions/actions.cpp
+++ b/src/actions/actions.cpp
@@ -41,6 +41,7 @@
#include "gui/gui.h"
#include "gui/popupmanager.h"
#include "gui/sdlinput.h"
+#include "gui/windowmanager.h"
#include "gui/popups/popupmenu.h"
@@ -909,8 +910,7 @@ impHandler0(attackHuman)
impHandler0(safeVideoMode)
{
- if (mainGraphics)
- mainGraphics->setFullscreen(false);
+ WindowManager::setFullScreen(false);
return true;
}
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