23 #ifndef M4_GUI_CHEAPO_H 24 #define M4_GUI_CHEAPO_H 26 #include "common/str.h" 27 #include "m4/graphics/gr_buff.h" 32 constexpr int16 MAX_BUTTONS = 20;
35 NOTHING, IN_CONTROL, OVER_CONTROL, SELECTED, TRACKING
39 BUTTON_0, BUTTON_RELAXED, BUTTON_OVER, BUTTON_PICKED
48 int16 _x1 = 0, _x2 = 0, _y1 = 0, _y2 = 0;
51 RectClass(int16 x1, int16 y1, int16 x2, int16 y2);
54 virtual int16 inside(int16 x, int16 y)
const;
58 void set(int16 x1, int16 y1, int16 x2, int16 y2);
64 char *_string =
nullptr;
65 int16 _string_len = 0;
67 bool _must_redraw =
false;
70 TextField(int16 x1, int16 y1, int16 x2, int16 y2);
73 void set_string(
const char *
string);
74 void draw(
GrBuff *myBuffer);
86 bool _highlighted =
false;
93 ButtonState _state = BUTTON_RELAXED;
95 bool _must_redraw =
false;
101 int16 unknown, int16 relaxed, int16 over, int16 picked,
int sprite);
103 int16 relaxed, int16 over, int16 picked,
int sprite);
106 void draw(
GrBuff *myBuffer);
107 int16 inside(int16 x, int16 y)
const override;
108 virtual ControlStatus track(int32 eventType, int16 x, int16 y);
111 void set(int16 x1, int16 y1, int16 x2, int16 y2, int16 tag);
112 void set(int16 x1, int16 y1, int16 x2, int16 y2, int16 tag, int16 unknown,
113 int16 relaxed, int16 over, int16 picked, int32 sprite);
116 int16 get_tag()
const;
120 bool is_hidden()
const;
121 void set_sprite_relaxed(int16 r);
122 void set_sprite_picked(int16 p);
123 void set_sprite_over(int16 o);
124 void set_sprite_unknown(int16 val);
129 ControlStatus _toggle_state;
132 ControlStatus track(int32 eventType, int16 x, int16 y);
137 bool _selected =
false;
142 int16 _highlight_index = 0;
143 bool _must_redraw_all =
false;
149 void draw(
GrBuff *myBuffer);
150 int16 inside(int16 x, int16 y)
const override;
151 ControlStatus track(int32 eventType, int16 x, int16 y);
154 void highlight_button(int16 index);
155 void set_selected(
bool);
Definition: gui_cheapo.h:62
Definition: gui_cheapo.h:46
Definition: gui_cheapo.h:127
Definition: gui_cheapo.h:135
Definition: printman.h:30
Definition: database.h:28