From 2872eb224e9f3ec6947542f2d7ac0ad288574cf1 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Tue, 17 May 2011 15:48:23 +0200 Subject: Added a console-like window which doesn't do anything interesting yet. --- gui.h | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'gui.h') diff --git a/gui.h b/gui.h index fe3bb3e..9e769f5 100644 --- a/gui.h +++ b/gui.h @@ -6,18 +6,44 @@ #include class GUI { + protected: + CEGUI::Window *wnd; + bool _showing; + public: static CEGUI::Window *root; virtual ~GUI() {}; static void init(); - virtual void render(); + static void pre_render(); + static void render(); + virtual void update() = 0; + virtual void show(); + virtual void hide(); + bool showing(); +}; + +class ConsoleWindow : public GUI { + private: + CEGUI::Window *editbox; + CEGUI::Listbox *listbox; + + bool clicked(const CEGUI::EventArgs& e); + bool keydown(const CEGUI::EventArgs& e); + + void erase_editbox_text(); + void handle_input(); + + public: + ConsoleWindow(); + virtual ~ConsoleWindow(); + + virtual void update(); }; class RaiseWindow : public GUI { private: - CEGUI::FrameWindow *wnd; CEGUI::PushButton *btn; CEGUI::Scrollbar *radius_sb; @@ -35,7 +61,7 @@ class RaiseWindow : public GUI { RaiseWindow(); virtual ~RaiseWindow(); - virtual void render(); + virtual void update(); float get_radius(); float get_focus(); float get_strength(); -- cgit v1.2.3