4 // Graphical User Interface support
13 class Menu; // Now *this* should work, since we've got pointers...
23 void AddMenuTitle(const char *);
24 void AddMenuItem(const char *, Element * (* a)(void) = NULL, SDL_Scancode k = SDL_SCANCODE_UNKNOWN);
25 void CommitItemsToMenu(void);
32 std::list<Element *> windowList;
35 SDL_Rect mouse, oldMouse;
45 // Everything else is a class method...
46 static void Init(SDL_Renderer *);
47 static SDL_Texture * CreateTexture(SDL_Renderer *, const void *);
48 static void MouseDown(int32_t, int32_t, uint32_t);
49 static void MouseUp(int32_t, int32_t, uint32_t);
50 static void MouseMove(int32_t, int32_t, uint32_t);
51 static void HandleIconSelection(SDL_Renderer *);
52 static void HandleGUIState(void);
53 static void DrawSidebarIcons(SDL_Renderer *);
54 static void Render(SDL_Renderer *);
57 static SDL_Texture * overlay;
58 // static SDL_Rect olSrc;
59 static SDL_Rect olDst;
60 // static bool sidebarOut;
61 static int sidebarState;
63 static int32_t iconSelected;