summaryrefslogtreecommitdiff
path: root/src/options/OptionsController.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-09-05 16:31:49 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-09-05 16:31:49 (GMT)
commitd61690bc091af0e253abe18832cc06f6c998724a (patch)
treebc152e2abb2790d03d9c24b9576954d307fbcafc /src/options/OptionsController.cpp
parentd379390d066add46513da73a690ef20414b6627b (diff)
downloadpowder-d61690bc091af0e253abe18832cc06f6c998724a.zip
powder-d61690bc091af0e253abe18832cc06f6c998724a.tar.gz
Prevent setting double scale on smaller screens. Fixes #166
Diffstat (limited to 'src/options/OptionsController.cpp')
-rw-r--r--src/options/OptionsController.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/options/OptionsController.cpp b/src/options/OptionsController.cpp
index 93d3062..add8cf7 100644
--- a/src/options/OptionsController.cpp
+++ b/src/options/OptionsController.cpp
@@ -6,6 +6,7 @@
*/
#include "OptionsController.h"
+#include "dialogues/ErrorMessage.h"
OptionsController::OptionsController(Simulation * sim, ControllerCallback * callback_):
callback(callback_),
@@ -61,7 +62,19 @@ void OptionsController::SetFullscreen(bool fullscreen)
void OptionsController::SetScale(bool scale)
{
- model->SetScale(scale);
+ if(scale)
+ {
+ if(ui::Engine::Ref().GetMaxWidth() >= ui::Engine::Ref().GetWidth() * 2 && ui::Engine::Ref().GetMaxHeight() >= ui::Engine::Ref().GetHeight() * 2)
+ model->SetScale(scale);
+ else
+ {
+ new ErrorMessage("Screen resolution error", "Your screen size is too small to use this scale mode.");
+ model->SetScale(false);
+ }
+ }
+ else
+ model->SetScale(scale);
+
}
OptionsView * OptionsController::GetView()