summaryrefslogtreecommitdiff
path: root/src/interface
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-08-18 21:08:20 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-08-18 21:08:20 (GMT)
commit740f0d30c3d5badc10da09af875b47d67128048b (patch)
tree2c9ce272c8a9afb75c55ef5a3d73973143cd89a8 /src/interface
parent63da7a4afec50035c6aa37a29a8d60d38cab969f (diff)
downloadpowder-740f0d30c3d5badc10da09af875b47d67128048b.zip
powder-740f0d30c3d5badc10da09af875b47d67128048b.tar.gz
Blocking Confirm/Error/Input prompts (EngineProcess creates a new event loop which can be broken out of with Engine::Break())
Diffstat (limited to 'src/interface')
-rw-r--r--src/interface/Engine.cpp8
-rw-r--r--src/interface/Engine.h3
2 files changed, 10 insertions, 1 deletions
diff --git a/src/interface/Engine.cpp b/src/interface/Engine.cpp
index b005201..31311fe 100644
--- a/src/interface/Engine.cpp
+++ b/src/interface/Engine.cpp
@@ -24,7 +24,8 @@ Engine::Engine():
windowTargetPosition(0, 0),
FrameIndex(0),
Fullscreen(false),
- Scale(1)
+ Scale(1),
+ break_(false)
{
}
@@ -49,6 +50,11 @@ void Engine::Begin(int width, int height)
height_ = height;
}
+void Engine::Break()
+{
+ break_ = !break_;
+}
+
void Engine::Exit()
{
running_ = false;
diff --git a/src/interface/Engine.h b/src/interface/Engine.h
index cd1c341..b28ba84 100644
--- a/src/interface/Engine.h
+++ b/src/interface/Engine.h
@@ -35,7 +35,9 @@ namespace ui
void Begin(int width, int height);
inline bool Running() { return running_; }
+ inline bool Broken() { return break_; }
void Exit();
+ void Break();
void SetFullscreen(bool fullscreen) { Fullscreen = fullscreen; }
inline bool GetFullscreen() { return Fullscreen; }
@@ -76,6 +78,7 @@ namespace ui
float windowOpenState;
bool running_;
+ bool break_;
int mousex_;
int mousey_;