74 lines
2.5 KiB
C++
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) {
|
|
//
|
|
}
|