1
0
forked from me/IronOS
Files
IronOS/source/UI/UI_Elements.cpp
2023-06-28 23:14:09 +10:00

74 lines
2.5 KiB
C++

#include "UI_Elements.h"
#include "OLED.hpp"
void render_Text(const ElementSettings_t *settings, screen_arg_t *args);
void render_Number(const ElementSettings_t *settings, screen_arg_t *args);
void render_Image(const ElementSettings_t *settings, screen_arg_t *args);
void render_PowerSource(const ElementSettings_t *settings, screen_arg_t *args);
void render_Temperature(const ElementSettings_t *settings, screen_arg_t *args);
void render_InputVoltage(const ElementSettings_t *settings, screen_arg_t *args);
void render_ScrollBar(const ElementSettings_t *settings, screen_arg_t *args);
void render_CheckBox(const ElementSettings_t *settings, screen_arg_t *args);
void render_TextScroller(const ElementSettings_t *settings, screen_arg_t *args);
void ui_render_element(const ElementTypes_t element, const ElementSettings_t *settings, screen_arg_t *args) {
switch (element) {
case ElementTypes_t::Text:
render_Text(settings, args);
break;
case ElementTypes_t::Number:
render_Number(settings, args);
break;
case ElementTypes_t::Image:
render_Image(settings, args);
break;
case ElementTypes_t::PowerSource:
render_PowerSource(settings, args);
break;
case ElementTypes_t::Temperature:
render_Temperature(settings, args);
break;
case ElementTypes_t::InputVoltage:
render_InputVoltage(settings, args);
break;
case ElementTypes_t::ScrollBar:
render_ScrollBar(settings, args);
break;
case ElementTypes_t::CheckBox:
render_CheckBox(settings, args);
break;
case ElementTypes_t::TextScroller:
render_TextScroller(settings, args);
break;
}
}
void render_Text(const ElementSettings_t *settings, screen_arg_t *args) {
// Draw text clipped into bounds
// Args shall be a pointer to an encoded string
OLED::printBounded((const char *)args->ptr, settings->position.x, settings->position.y, settings->size.w, settings->size.h);
}
void render_Number(const ElementSettings_t *settings, screen_arg_t *args) {
//
}
void render_Image(const ElementSettings_t *settings, screen_arg_t *args) {
//
}
void render_PowerSource(const ElementSettings_t *settings, screen_arg_t *args) {
//
}
void render_Temperature(const ElementSettings_t *settings, screen_arg_t *args) {
//
}
void render_InputVoltage(const ElementSettings_t *settings, screen_arg_t *args) {
//
}
void render_ScrollBar(const ElementSettings_t *settings, screen_arg_t *args) {
//
}
void render_CheckBox(const ElementSettings_t *settings, screen_arg_t *args) {
//
}
void render_TextScroller(const ElementSettings_t *settings, screen_arg_t *args) {
//
}