summaryrefslogtreecommitdiff
path: root/src/gui/gui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/gui.cpp')
-rw-r--r--src/gui/gui.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp
index d54a924f1..49b6d2774 100644
--- a/src/gui/gui.cpp
+++ b/src/gui/gui.cpp
@@ -83,6 +83,8 @@
#include "input/inputmanager.h"
+#include "render/renderers.h"
+
#include "resources/imageset.h"
#include "resources/resourcemanager.h"
@@ -452,9 +454,19 @@ bool Gui::handleKeyInput()
void Gui::draw()
{
BLOCK_START("Gui::draw 1")
- mGraphics->pushClipArea(getTop()->getDimension());
- getTop()->draw(mGraphics);
- touchManager.draw();
+ Widget *const top = getTop();
+ mGraphics->pushClipArea(top->getDimension());
+
+ if (isBatchDrawRenders(openGLMode))
+ {
+ top->draw(mGraphics);
+ touchManager.draw();
+ }
+ else
+ {
+ top->safeDraw(mGraphics);
+ touchManager.safeDraw();
+ }
int mouseX;
int mouseY;