update build system to use RcB2
[rofl0r-pato.git] / gui.h
blobcf87368b147452f76b235bc6efd1cb6b2f5dc148
1 #ifndef GUI_H
2 #define GUI_H
4 #include "pato.h"
5 #include "imginterface.h"
6 #include "gui_menu.h"
7 #include "../concol/console.h"
9 #define MENU_WIDTH 20
11 typedef struct Area {
12 size_t x;
13 size_t y;
14 size_t w;
15 size_t h;
16 } Area;
18 typedef enum Inputcolumn {
19 IC_NONE,
20 IC_MENU,
21 IC_PAGE
22 } Inputcolumn;
25 typedef struct {
26 Area toolbar;
27 Area page;
28 Area menu;
29 Area map;
30 } Guiareas;
32 typedef struct {
33 size_t persona;
34 Guiareas areas;
35 Console term_struct;
36 Console* term;
37 enum Guipage activePage;
38 enum Menupage activeMenu;
39 Menu* dynMenu;
40 Image* map;
41 Image* map_resized;
42 size_t w;
43 size_t h;
44 size_t zoomFactor;
45 Inputcolumn col;
46 GuiMenu menudata;
47 } Gui;
49 void gui_init(Gui* gui);
50 void gui_free(Gui* gui);
51 int gui_processInput(Gui* gui);
52 void gui_resized(Gui* gui);
53 void gui_repaint(Gui* gui);
54 void gui_notify(Gui* gui, size_t player, Notification n);
56 #pragma RcB2 DEP "gui.c"
58 #endif