abstracting display, touch and sd
This commit is contained in:
35
display/low_level_gui.h
Normal file
35
display/low_level_gui.h
Normal file
@@ -0,0 +1,35 @@
|
||||
#include "low_level_render.h"
|
||||
|
||||
class LowLevelWindow
|
||||
{
|
||||
|
||||
public:
|
||||
int x, y, width, height;
|
||||
const char* title;
|
||||
LowLevelWindow(int x_pos, int y_pos, int w, int h, const char* t)
|
||||
: x(x_pos), y(y_pos), width(w), height(h), title(t) {}
|
||||
|
||||
};
|
||||
|
||||
class LowLevelGUI
|
||||
{
|
||||
private:
|
||||
LowLevelRenderer* renderer;
|
||||
bool use_rounded_corners = true;
|
||||
const Font* current_font;
|
||||
public:
|
||||
LowLevelGUI(LowLevelRenderer* rend, const Font& font);
|
||||
LowLevelWindow* draw_new_window(int x, int y, int width, int height, const char *title);
|
||||
void draw_window(LowLevelWindow* window);
|
||||
void draw_button(LowLevelWindow* window, int x, int y, const char *label, bool pressed = false, bool rounded = true);
|
||||
void draw_checkbox(LowLevelWindow* window, int x, int y, const char *label, bool checked = false);
|
||||
void draw_radio_button(LowLevelWindow* window, int x, int y, const char *label, bool selected = false);
|
||||
void draw_slider(LowLevelWindow* window, int x, int y, int width, int height, int position, char* label = nullptr);
|
||||
void draw_calendar(LowLevelWindow* window, int x, int y, int month, int year);
|
||||
void draw_textbox(LowLevelWindow* window, int x, int y, int width, int height, const char* content, bool focused = false);
|
||||
void draw_tab(LowLevelWindow* window, int x, int y, int width, int height, const char* label, bool selected = false);
|
||||
void draw_status_bar(LowLevelWindow* window, int x, int y, int width, const char* label, const char* sublabel, int percentage, const char* value_text);
|
||||
void draw_circular_gauge(LowLevelWindow* window, int x, int y, int width, const char* label, int percentage);
|
||||
void draw_notification(LowLevelWindow* window, int x, int y, int width, const char* time, const char* message);
|
||||
void draw_large_clock(LowLevelWindow* window, int x, int y, const char* time_str);
|
||||
};
|
||||
Reference in New Issue
Block a user