/* ==================== uiscreen.h ==================== version 0.0.0 ==================== Screens are User Interface screen classes. Each class is inherited from the base UIScreen class which is inerited from PG_Window ParaGUI widget. Each screen also has it's own interface, layout, etc. Screens are controlled directly by RenderMan, not the user. Users issue commands to RenderMan, and RenderMan forwards the requests/actions to the particular Screen in current use. CHANGELOG: ---------------------- 0.0.1 - TO-DO & EXPANSION LIST ---------------------- =============================================================== */ #ifndef UISCREEN_H #define UISCREEN_H #include "paragui.h" #include "pgapplication.h" #include "pgeventobject.h" #include "pgthemewidget.h" #include "pgwidget.h" #include "../core/pointerhub.h" // defined elsewhere class PG_MapWindow; // compiler flips out on include for whatever reason enum screen_type { UISCREEN_START=0, UISCREEN_NEWGAME, UISCREEN_BLOTCHMAKER_LESS, UISCREEN_BLOTCHMAKER_MORE, UISCREEN_MAIN, UISCREEN_POD_ASSEMBLY, UISCREEN_POD_MANAGER, UISCREEN_COMBAT, UISCREEN_GAME_SETTINGS }; /** Base User Interface Screen class */ class UIScreen: public PG_ThemeWidget, public PG_EventObject, public PointerHub { public: UIScreen(PG_Widget* parent, const PG_Rect &r); //UIScreen(); virtual ~UIScreen(); virtual void MovePod(int x1, int y1, int x2, int y2); protected: // load config file // layout graphics based on config file }; #endif