]> Shamusworld >> Repos - apple2/blob - src/gui/gui.h
e3a3aeeaf1c1a5535c897b8ec1b5472056e4b606
[apple2] / src / gui / gui.h
1 //
2 // GUI.H
3 //
4 // Graphical User Interface support
5 //
6
7 #ifndef __GUI_H__
8 #define __GUI_H__
9
10 #include <SDL2/SDL.h>
11
12 class GUI
13 {
14         public:
15                 GUI();
16                 ~GUI();
17
18                 // Everything else is a class method...
19                 static void Init(SDL_Renderer *);
20                 static SDL_Texture * CreateTexture(SDL_Renderer *, const void *);
21                 static void MouseDown(int32_t, int32_t, uint32_t);
22                 static void MouseUp(int32_t, int32_t, uint32_t);
23                 static void MouseMove(int32_t, int32_t, uint32_t);
24                 static void HandleIconSelection(SDL_Renderer *);
25                 static void AssembleDriveIcon(SDL_Renderer *, int);
26                 static void DrawEjectButton(SDL_Renderer *, int);
27                 static void DrawDriveLight(SDL_Renderer *, int);
28                 static void DrawCharArray(SDL_Renderer *, const char *, int x,
29                         int y, int w, int h, int r, int g, int b);
30                 static void HandleGUIState(void);
31                 static void DrawSidebarIcons(SDL_Renderer *);
32                 static void Render(SDL_Renderer *);
33
34                 // Class variables...
35                 static SDL_Texture * overlay;
36                 static SDL_Rect olDst;
37                 static int sidebarState;
38                 static int32_t dx;
39                 static int32_t iconSelected;
40                 static bool hasKeyboardFocus;
41 };
42
43 #endif  // __GUI_H__
44