diff options
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 |
