diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-01 21:29:22 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-01 21:29:22 (GMT) |
| commit | cbefea85d717bd599fa0559f091b051e904d9e2f (patch) | |
| tree | e11849927aa88b270470c55d8b0fc052d34851e4 /src/Activity.h | |
| parent | 29ac6380ba649e30dc29771b2833a86f20c9dbfe (diff) | |
| download | powder-cbefea85d717bd599fa0559f091b051e904d9e2f.zip powder-cbefea85d717bd599fa0559f091b051e904d9e2f.tar.gz | |
Local Saving, Server Saving rewrite
Diffstat (limited to 'src/Activity.h')
| -rw-r--r-- | src/Activity.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/Activity.h b/src/Activity.h new file mode 100644 index 0000000..0263467 --- /dev/null +++ b/src/Activity.h @@ -0,0 +1,42 @@ +#pragma once + +#include "interface/Window.h" + +class Activity +{ +public: + virtual void Exit() {} + virtual void Show() {} + virtual void Hide() {} + virtual ~Activity() {} +}; + +class WindowActivity: public ui::Window, public Activity +{ +public: + WindowActivity(ui::Point position, ui::Point size) : + ui::Window(position, size) + { + Show(); + } + virtual void Exit() + { + Hide(); + SelfDestruct(); + } + virtual void Show() + { + if(ui::Engine::Ref().GetWindow() != this) + { + ui::Engine::Ref().ShowWindow(this); + } + } + virtual void Hide() + { + if(ui::Engine::Ref().GetWindow() == this) + { + ui::Engine::Ref().CloseWindow(); + } + } + virtual ~WindowActivity() {} +};
\ No newline at end of file |
