fix(color): Make toggle switch UI consistent with other UI elements (#4110)

Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
This commit is contained in:
philmoz
2023-09-27 19:45:06 +10:00
committed by GitHub
co-authored by philmoz
parent 9b0d3a25c4
commit 4c95d665b6
+144 -102
View File
@@ -23,6 +23,7 @@
* INCLUDES
*********************/
#include "etx_lv_theme.h"
#include "../colors.h"
#include "font.h"
@@ -34,11 +35,11 @@ extern lv_color_t makeLvColor(uint32_t colorFlags);
#define BORDER_WIDTH lv_disp_dpx(theme.disp, 2)
#if LCD_W > LCD_H
#define PAD_SMALL (lv_disp_dpx(theme.disp, 12))
#define PAD_TINY (lv_disp_dpx(theme.disp, 4))
#define PAD_SMALL (lv_disp_dpx(theme.disp, 12))
#define PAD_TINY (lv_disp_dpx(theme.disp, 4))
#else
#define PAD_SMALL (lv_disp_dpx(theme.disp, 10))
#define PAD_TINY (lv_disp_dpx(theme.disp, 2))
#define PAD_SMALL (lv_disp_dpx(theme.disp, 10))
#define PAD_TINY (lv_disp_dpx(theme.disp, 2))
#endif
/**********************
@@ -122,13 +123,15 @@ static bool inited = false;
* STATIC FUNCTIONS
**********************/
static lv_color_t dark_color_filter_cb(const lv_color_filter_dsc_t * f, lv_color_t c, lv_opa_t opa)
static lv_color_t dark_color_filter_cb(const lv_color_filter_dsc_t* f,
lv_color_t c, lv_opa_t opa)
{
LV_UNUSED(f);
return lv_color_darken(c, opa);
}
static lv_color_t grey_filter_cb(const lv_color_filter_dsc_t * f, lv_color_t color, lv_opa_t opa)
static lv_color_t grey_filter_cb(const lv_color_filter_dsc_t* f,
lv_color_t color, lv_opa_t opa)
{
LV_UNUSED(f);
return lv_color_mix(lv_palette_lighten(LV_PALETTE_GREY, 2), color, opa);
@@ -142,11 +145,11 @@ static void style_init(void)
// Scrollbar
lv_style_init(&styles.scrollbar);
lv_style_set_pad_all(&styles.scrollbar, lv_disp_dpx(theme.disp, 7));
lv_style_set_width(&styles.scrollbar, lv_disp_dpx(theme.disp, 5));
lv_style_set_bg_opa(&styles.scrollbar, LV_OPA_40);
lv_style_set_width(&styles.scrollbar, lv_disp_dpx(theme.disp, 5));
lv_style_set_bg_opa(&styles.scrollbar, LV_OPA_40);
lv_style_init(&styles.scrollbar_scrolled);
lv_style_set_bg_opa(&styles.scrollbar_scrolled, LV_OPA_COVER);
lv_style_set_bg_opa(&styles.scrollbar_scrolled, LV_OPA_COVER);
// Keyboard
lv_style_init(&styles.keyboard);
@@ -273,13 +276,14 @@ static void style_init(void)
// Toggle switch
lv_style_init(&styles.switch_knob);
lv_style_set_pad_all(&styles.switch_knob, -3);
lv_style_set_pad_all(&styles.switch_knob, -4);
lv_style_set_bg_opa(&styles.switch_knob, LV_OPA_100);
// Table
lv_style_init(&styles.table_cell);
lv_style_set_border_width(&styles.table_cell, lv_disp_dpx(theme.disp, 1));
lv_style_set_border_side(&styles.table_cell, LV_BORDER_SIDE_TOP | LV_BORDER_SIDE_BOTTOM);
lv_style_set_border_side(&styles.table_cell,
LV_BORDER_SIDE_TOP | LV_BORDER_SIDE_BOTTOM);
// Edit box cursor
lv_style_init(&styles.field_cursor);
@@ -303,7 +307,7 @@ static void style_init(void)
lv_style_init(&styles.modal_title);
lv_style_set_bg_opa(&styles.modal_title, LV_OPA_COVER);
lv_style_set_pad_all(&styles.modal_title, PAGE_PADDING);
lv_style_set_width(&styles.modal_title, lv_pct(100));
lv_style_set_width(&styles.modal_title, lv_pct(100));
lv_style_set_max_height(&styles.modal_title, LCD_H * 0.8);
// Progress bar
@@ -345,14 +349,17 @@ static void style_init(void)
lv_style_set_bg_color(&styles.keyboard, makeLvColor(COLOR_THEME_SECONDARY3));
lv_style_set_border_color(&styles.border, makeLvColor(COLOR_THEME_SECONDARY2));
lv_style_set_border_color(&styles.border,
makeLvColor(COLOR_THEME_SECONDARY2));
lv_style_set_bg_color(&styles.btn, makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_text_color(&styles.btn, makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_bg_color(&styles.line_btn, makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_text_color(&styles.line_btn, makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_border_color(&styles.line_btn, makeLvColor(COLOR_THEME_SECONDARY2));
lv_style_set_text_color(&styles.line_btn,
makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_border_color(&styles.line_btn,
makeLvColor(COLOR_THEME_SECONDARY2));
lv_style_set_bg_color(&styles.field, makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_border_color(&styles.field, makeLvColor(COLOR_THEME_SECONDARY2));
@@ -360,64 +367,88 @@ static void style_init(void)
lv_style_set_border_color(&styles.focussed, makeLvColor(COLOR_THEME_FOCUS));
lv_style_set_bg_color(&styles.bg_color_grey, makeLvColor(COLOR_THEME_DISABLED));
lv_style_set_bg_color(&styles.bg_color_grey,
makeLvColor(COLOR_THEME_DISABLED));
lv_style_set_bg_color(&styles.bg_color_white, makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_text_color(&styles.bg_color_white, makeLvColor(COLOR_THEME_PRIMARY1));
lv_style_set_bg_color(&styles.bg_color_white,
makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_text_color(&styles.bg_color_white,
makeLvColor(COLOR_THEME_PRIMARY1));
lv_style_set_bg_color(&styles.bg_color_active, makeLvColor(COLOR_THEME_ACTIVE));
lv_style_set_text_color(&styles.bg_color_active, makeLvColor(COLOR_THEME_PRIMARY1));
lv_style_set_bg_color(&styles.bg_color_active,
makeLvColor(COLOR_THEME_ACTIVE));
lv_style_set_text_color(&styles.bg_color_active,
makeLvColor(COLOR_THEME_PRIMARY1));
lv_style_set_bg_color(&styles.bg_color_mix_active, makeLvColor(COLOR_THEME_ACTIVE));
lv_style_set_bg_color(&styles.bg_color_mix_active,
makeLvColor(COLOR_THEME_ACTIVE));
lv_style_set_bg_color(&styles.bg_color_focus, makeLvColor(COLOR_THEME_FOCUS));
lv_style_set_text_color(&styles.bg_color_focus, makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_text_color(&styles.bg_color_focus,
makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_bg_color(&styles.bg_color_focus_light, makeLvColor(COLOR_THEME_FOCUS));
lv_style_set_bg_color(&styles.bg_color_focus_light,
makeLvColor(COLOR_THEME_FOCUS));
lv_style_set_bg_color(&styles.bg_color_edit, makeLvColor(COLOR_THEME_EDIT));
lv_style_set_text_color(&styles.bg_color_edit, makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_text_color(&styles.bg_color_edit,
makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_bg_color(&styles.slider_main, makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_bg_color(&styles.slider_main,
makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_bg_color(&styles.slider_knob, makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_border_color(&styles.slider_knob, makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_border_color(&styles.slider_knob,
makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_bg_color(&styles.choice_main, makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_border_color(&styles.choice_main, makeLvColor(COLOR_THEME_SECONDARY2));
lv_style_set_text_color(&styles.choice_main, makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_border_color(&styles.choice_main,
makeLvColor(COLOR_THEME_SECONDARY2));
lv_style_set_text_color(&styles.choice_main,
makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_bg_color(&styles.switch_knob, makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_border_color(&styles.switch_knob, makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_bg_color(&styles.switch_knob,
makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_border_color(&styles.table_cell, makeLvColor(COLOR_THEME_SECONDARY2));
lv_style_set_border_color(&styles.table_cell,
makeLvColor(COLOR_THEME_SECONDARY2));
lv_style_set_bg_color(&styles.modal_content, makeLvColor(COLOR_THEME_SECONDARY3));
lv_style_set_bg_color(&styles.modal_content,
makeLvColor(COLOR_THEME_SECONDARY3));
lv_style_set_bg_color(&styles.modal_title, makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_text_color(&styles.modal_title, makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_bg_color(&styles.modal_title,
makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_text_color(&styles.modal_title,
makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_bg_color(&styles.progress_main, makeLvColor(COLOR_THEME_SECONDARY2));
lv_style_set_bg_color(&styles.progress_indicator, makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_bg_color(&styles.progress_main,
makeLvColor(COLOR_THEME_SECONDARY2));
lv_style_set_bg_color(&styles.progress_indicator,
makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_border_color(&styles.cb_marker, makeLvColor(COLOR_THEME_SECONDARY2));
lv_style_set_border_color(&styles.cb_marker,
makeLvColor(COLOR_THEME_SECONDARY2));
lv_style_set_bg_color(&styles.cb_marker, makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_border_color(&styles.cb_marker_checked, makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_bg_color(&styles.cb_marker_checked, makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_text_color(&styles.cb_marker_checked, makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_border_color(&styles.cb_marker_checked,
makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_bg_color(&styles.cb_marker_checked,
makeLvColor(COLOR_THEME_SECONDARY1));
lv_style_set_text_color(&styles.cb_marker_checked,
makeLvColor(COLOR_THEME_PRIMARY2));
lv_style_set_bg_color(&styles.bubble_popup, makeLvColor(COLOR2FLAGS(WHITE)));
lv_style_set_border_color(&styles.bubble_popup, makeLvColor(COLOR2FLAGS(BLACK)));
lv_style_set_text_color(&styles.bubble_popup, makeLvColor(COLOR2FLAGS(BLACK)));
lv_style_set_border_color(&styles.bubble_popup,
makeLvColor(COLOR2FLAGS(BLACK)));
lv_style_set_text_color(&styles.bubble_popup,
makeLvColor(COLOR2FLAGS(BLACK)));
}
/**********************
* GLOBAL FUNCTIONS
**********************/
lv_theme_t *etx_lv_theme_init(lv_disp_t *disp, lv_color_t color_primary,
lv_color_t color_secondary,
const lv_font_t *font)
lv_theme_t* etx_lv_theme_init(lv_disp_t* disp, lv_color_t color_primary,
lv_color_t color_secondary, const lv_font_t* font)
{
theme.disp = disp;
theme.color_primary = color_primary;
@@ -432,7 +463,7 @@ lv_theme_t *etx_lv_theme_init(lv_disp_t *disp, lv_color_t color_primary,
if (disp == NULL || lv_disp_get_theme(disp) == &theme)
lv_obj_report_style_change(NULL);
return (lv_theme_t *)&theme;
return (lv_theme_t*)&theme;
}
/**********************
@@ -442,12 +473,12 @@ lv_theme_t *etx_lv_theme_init(lv_disp_t *disp, lv_color_t color_primary,
// Event handler forward references
static void field_edit_event(const lv_obj_class_t* class_p, lv_event_t* e);
static void window_base_event(const lv_obj_class_t* class_p, lv_event_t* e);
static void table_event(const lv_obj_class_t * class_p, lv_event_t * e);
static void table_event(const lv_obj_class_t* class_p, lv_event_t* e);
// Object constructors
extern "C" {
void input_mix_line_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void input_mix_line_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.line_btn, 0);
lv_obj_add_style(obj, &styles.border, 0);
@@ -458,7 +489,7 @@ void input_mix_line_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
lv_obj_add_style(obj, &styles.focussed, LV_STATE_FOCUSED);
}
void input_mix_group_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void input_mix_group_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.line_btn, 0);
lv_obj_add_style(obj, &styles.border, 0);
@@ -467,7 +498,7 @@ void input_mix_group_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
lv_obj_add_style(obj, &styles.font_bold, 0);
}
void field_edit_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void field_edit_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.field, 0);
lv_obj_add_style(obj, &styles.border, 0);
@@ -483,38 +514,41 @@ void field_edit_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
lv_textarea_set_one_line(obj, true);
}
void number_edit_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void number_edit_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
field_edit_constructor(class_p, obj);
lv_obj_add_style(obj, &styles.text_align_right, 0);
}
void window_base_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void window_base_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.scrollbar, LV_PART_SCROLLBAR);
lv_obj_add_style(obj, &styles.scrollbar_scrolled, LV_PART_SCROLLBAR | LV_STATE_SCROLLED);
lv_obj_add_style(obj, &styles.scrollbar_scrolled,
LV_PART_SCROLLBAR | LV_STATE_SCROLLED);
}
void form_window_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void form_window_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
window_base_constructor(class_p, obj);
lv_obj_add_style(obj, &styles.bg_color_transparent, LV_PART_MAIN);
}
void table_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void table_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.pad_zero, 0);
lv_obj_add_style(obj, &styles.scrollbar, LV_PART_SCROLLBAR);
lv_obj_add_style(obj, &styles.scrollbar_scrolled, LV_PART_SCROLLBAR | LV_STATE_SCROLLED);
lv_obj_add_style(obj, &styles.scrollbar_scrolled,
LV_PART_SCROLLBAR | LV_STATE_SCROLLED);
lv_obj_add_style(obj, &styles.bg_color_white, LV_PART_ITEMS);
lv_obj_add_style(obj, &styles.table_cell, LV_PART_ITEMS);
lv_obj_add_style(obj, &styles.pad_small, LV_PART_ITEMS);
lv_obj_add_style(obj, &styles.pressed, LV_PART_ITEMS | LV_STATE_PRESSED);
lv_obj_add_style(obj, &styles.bg_color_focus, LV_PART_ITEMS | LV_STATE_EDITED);
lv_obj_add_style(obj, &styles.bg_color_focus,
LV_PART_ITEMS | LV_STATE_EDITED);
lv_obj_set_style_pad_ver(obj, 7, LV_PART_ITEMS);
}
void etx_keyboard_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void etx_keyboard_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.keyboard, 0);
lv_obj_add_style(obj, &styles.pad_tiny, 0);
@@ -524,14 +558,17 @@ void etx_keyboard_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
lv_obj_add_style(obj, &styles.bg_color_white, LV_PART_ITEMS);
lv_obj_add_style(obj, &styles.keyboard_btn_bg, LV_PART_ITEMS);
lv_obj_add_style(obj, &styles.pressed, LV_PART_ITEMS | LV_STATE_PRESSED);
lv_obj_add_style(obj, &styles.bg_color_active, LV_PART_ITEMS | LV_STATE_CHECKED);
lv_obj_add_style(obj, &styles.bg_color_focus, LV_PART_ITEMS | LV_STATE_FOCUS_KEY);
lv_obj_add_style(obj, &styles.bg_color_focus, LV_PART_ITEMS | LV_STATE_EDITED);
lv_obj_add_style(obj, &styles.bg_color_active,
LV_PART_ITEMS | LV_STATE_CHECKED);
lv_obj_add_style(obj, &styles.bg_color_focus,
LV_PART_ITEMS | LV_STATE_FOCUS_KEY);
lv_obj_add_style(obj, &styles.bg_color_focus,
LV_PART_ITEMS | LV_STATE_EDITED);
}
void etx_switch_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void etx_switch_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.bg_color_grey, 0);
lv_obj_add_style(obj, &styles.bg_color_white, 0);
lv_obj_add_style(obj, &styles.border, 0);
lv_obj_add_style(obj, &styles.border, LV_PART_INDICATOR);
lv_obj_add_style(obj, &styles.circle, 0);
@@ -539,29 +576,35 @@ void etx_switch_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
lv_obj_add_style(obj, &styles.circle, LV_PART_KNOB);
lv_obj_add_style(obj, &styles.anim_fast, 0);
lv_obj_add_style(obj, &styles.disabled, LV_STATE_DISABLED);
lv_obj_add_style(obj, &styles.disabled, LV_PART_INDICATOR | LV_STATE_DISABLED);
lv_obj_add_style(obj, &styles.disabled,
LV_PART_INDICATOR | LV_STATE_DISABLED);
lv_obj_add_style(obj, &styles.disabled, LV_PART_KNOB | LV_STATE_DISABLED);
lv_obj_add_style(obj, &styles.focussed, LV_STATE_FOCUSED);
lv_obj_add_style(obj, &styles.focussed, LV_PART_INDICATOR | LV_STATE_FOCUSED);
lv_obj_add_style(obj, &styles.bg_color_active, LV_PART_INDICATOR | LV_STATE_CHECKED);
lv_obj_add_style(obj, &styles.bg_color_active,
LV_PART_INDICATOR | LV_STATE_CHECKED);
lv_obj_add_style(obj, &styles.switch_knob, LV_PART_KNOB);
lv_obj_add_style(obj, &styles.border, LV_PART_KNOB);
}
void etx_slider_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void etx_slider_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.slider_main, LV_PART_MAIN);
lv_obj_add_style(obj, &styles.slider_knob, LV_PART_KNOB);
lv_obj_add_style(obj, &styles.circle, LV_PART_MAIN);
lv_obj_add_style(obj, &styles.circle, LV_PART_KNOB);
lv_obj_add_style(obj, &styles.bg_color_focus, LV_PART_MAIN | LV_STATE_FOCUSED);
lv_obj_add_style(obj, &styles.bg_color_focus, LV_PART_MAIN | LV_STATE_FOCUSED | LV_STATE_EDITED);
lv_obj_add_style(obj, &styles.bg_color_focus, LV_PART_INDICATOR | LV_STATE_FOCUSED);
lv_obj_add_style(obj, &styles.bg_color_focus, LV_PART_INDICATOR | LV_STATE_FOCUSED | LV_STATE_EDITED);
lv_obj_add_style(obj, &styles.bg_color_edit, LV_PART_KNOB | LV_STATE_FOCUSED | LV_STATE_EDITED);
lv_obj_add_style(obj, &styles.bg_color_focus,
LV_PART_MAIN | LV_STATE_FOCUSED);
lv_obj_add_style(obj, &styles.bg_color_focus,
LV_PART_MAIN | LV_STATE_FOCUSED | LV_STATE_EDITED);
lv_obj_add_style(obj, &styles.bg_color_focus,
LV_PART_INDICATOR | LV_STATE_FOCUSED);
lv_obj_add_style(obj, &styles.bg_color_focus,
LV_PART_INDICATOR | LV_STATE_FOCUSED | LV_STATE_EDITED);
lv_obj_add_style(obj, &styles.bg_color_edit,
LV_PART_KNOB | LV_STATE_FOCUSED | LV_STATE_EDITED);
}
void etx_btnmatrix_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void etx_btnmatrix_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
// main
lv_obj_add_style(obj, &styles.rounded, 0);
@@ -570,13 +613,16 @@ void etx_btnmatrix_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
lv_obj_add_style(obj, &styles.rounded, LV_PART_ITEMS);
lv_obj_add_style(obj, &styles.disabled, LV_PART_ITEMS | LV_STATE_DISABLED);
lv_obj_add_style(obj, &styles.pressed, LV_PART_ITEMS | LV_STATE_PRESSED);
lv_obj_add_style(obj, &styles.bg_color_active, LV_PART_ITEMS | LV_STATE_CHECKED);
lv_obj_add_style(obj, &styles.bg_color_active,
LV_PART_ITEMS | LV_STATE_CHECKED);
lv_obj_add_style(obj, &styles.focussed, LV_PART_ITEMS | LV_STATE_EDITED);
lv_obj_add_style(obj, &styles.bg_color_focus_light, LV_PART_MAIN | LV_STATE_FOCUSED);
lv_obj_add_style(obj, &styles.bg_color_focus_light, LV_PART_MAIN | LV_STATE_FOCUSED | LV_STATE_EDITED);
lv_obj_add_style(obj, &styles.bg_color_focus_light,
LV_PART_MAIN | LV_STATE_FOCUSED);
lv_obj_add_style(obj, &styles.bg_color_focus_light,
LV_PART_MAIN | LV_STATE_FOCUSED | LV_STATE_EDITED);
}
void etx_button_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void etx_button_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.btn, 0);
lv_obj_add_style(obj, &styles.border, 0);
@@ -586,7 +632,7 @@ void etx_button_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
lv_obj_add_style(obj, &styles.disabled, LV_STATE_DISABLED);
}
void etx_choice_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void etx_choice_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.choice_main, 0);
lv_obj_add_style(obj, &styles.border, 0);
@@ -594,7 +640,7 @@ void etx_choice_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
lv_obj_add_style(obj, &styles.rounded, 0);
}
void etx_bar_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void etx_bar_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.progress_main, LV_PART_MAIN);
lv_obj_add_style(obj, &styles.progress_indicator, LV_PART_INDICATOR);
@@ -602,22 +648,23 @@ void etx_bar_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
lv_obj_add_style(obj, &styles.rounded, LV_PART_INDICATOR);
}
void etx_checkbox_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void etx_checkbox_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.rounded, LV_PART_INDICATOR);
lv_obj_add_style(obj, &styles.pad_zero, LV_PART_INDICATOR);
lv_obj_add_style(obj, &styles.cb_marker, LV_PART_INDICATOR);
lv_obj_add_style(obj, &styles.cb_marker_checked, LV_PART_INDICATOR | LV_STATE_CHECKED);
lv_obj_add_style(obj, &styles.cb_marker_checked,
LV_PART_INDICATOR | LV_STATE_CHECKED);
lv_obj_add_style(obj, &styles.border, LV_PART_INDICATOR);
lv_obj_add_style(obj, &styles.focussed, LV_PART_INDICATOR | LV_STATE_FOCUSED);
lv_obj_add_style(obj, &styles.disabled, LV_PART_INDICATOR | LV_STATE_DISABLED);
lv_obj_add_style(obj, &styles.disabled,
LV_PART_INDICATOR | LV_STATE_DISABLED);
}
void bubble_popup_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
void bubble_popup_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
lv_obj_add_style(obj, &styles.bubble_popup, 0);
}
}
// Object classes
@@ -657,8 +704,7 @@ const lv_obj_class_t field_edit_class = {
.height_def = 32,
.editable = LV_OBJ_CLASS_EDITABLE_TRUE,
.group_def = LV_OBJ_CLASS_GROUP_DEF_TRUE,
.instance_size = sizeof(lv_textarea_t)
};
.instance_size = sizeof(lv_textarea_t)};
const lv_obj_class_t number_edit_class = {
.base_class = &lv_textarea_class,
@@ -670,8 +716,7 @@ const lv_obj_class_t number_edit_class = {
.height_def = 32,
.editable = LV_OBJ_CLASS_EDITABLE_TRUE,
.group_def = LV_OBJ_CLASS_GROUP_DEF_TRUE,
.instance_size = sizeof(lv_textarea_t)
};
.instance_size = sizeof(lv_textarea_t)};
const lv_obj_class_t window_base_class = {
.base_class = &lv_obj_class,
@@ -683,8 +728,7 @@ const lv_obj_class_t window_base_class = {
.height_def = LV_DPI_DEF,
.editable = LV_OBJ_CLASS_EDITABLE_FALSE,
.group_def = LV_OBJ_CLASS_GROUP_DEF_FALSE,
.instance_size = sizeof(lv_obj_t)
};
.instance_size = sizeof(lv_obj_t)};
const lv_obj_class_t form_window_class = {
.base_class = &window_base_class,
@@ -696,10 +740,9 @@ const lv_obj_class_t form_window_class = {
.height_def = LV_DPI_DEF,
.editable = LV_OBJ_CLASS_EDITABLE_FALSE,
.group_def = LV_OBJ_CLASS_GROUP_DEF_FALSE,
.instance_size = sizeof(lv_obj_t)
};
.instance_size = sizeof(lv_obj_t)};
const lv_obj_class_t table_class = {
const lv_obj_class_t table_class = {
.base_class = &lv_table_class,
.constructor_cb = table_constructor,
.destructor_cb = nullptr,
@@ -826,8 +869,7 @@ const lv_obj_class_t etx_bubble_popup_class = {
.height_def = LV_DPI_DEF,
.editable = LV_OBJ_CLASS_EDITABLE_FALSE,
.group_def = LV_OBJ_CLASS_GROUP_DEF_FALSE,
.instance_size = sizeof(lv_obj_t)
};
.instance_size = sizeof(lv_obj_t)};
// Event handlers
static void field_edit_event(const lv_obj_class_t* class_p, lv_event_t* e)
@@ -836,7 +878,7 @@ static void field_edit_event(const lv_obj_class_t* class_p, lv_event_t* e)
lv_obj_event_base(&field_edit_class, e);
}
extern "C" void window_event_cb(lv_event_t * e);
extern "C" void window_event_cb(lv_event_t* e);
static void window_base_event(const lv_obj_class_t* class_p, lv_event_t* e)
{
@@ -847,17 +889,17 @@ static void window_base_event(const lv_obj_class_t* class_p, lv_event_t* e)
window_event_cb(e);
}
static void table_event(const lv_obj_class_t * class_p, lv_event_t * e)
static void table_event(const lv_obj_class_t* class_p, lv_event_t* e)
{
lv_res_t res;
lv_event_code_t code = lv_event_get_code(e);
if (code != LV_EVENT_RELEASED) {
/*Call the ancestor's event handler*/
res = lv_obj_event_base(&table_class, e);
if(res != LV_RES_OK) return;
if (res != LV_RES_OK) return;
} else {
lv_obj_t * obj = lv_event_get_target(e);
lv_table_t * table = (lv_table_t *)obj;
lv_obj_t* obj = lv_event_get_target(e);
lv_table_t* table = (lv_table_t*)obj;
/*From lv_table.c: handler for LV_EVENT_RELEASED*/
lv_obj_invalidate(obj);
@@ -874,7 +916,7 @@ static void table_event(const lv_obj_class_t * class_p, lv_event_t * e)
// Object creators
static lv_obj_t* etx_create(const lv_obj_class_t* class_p, lv_obj_t* parent)
{
lv_obj_t * obj = lv_obj_class_create_obj(class_p, parent);
lv_obj_t* obj = lv_obj_class_create_obj(class_p, parent);
lv_obj_class_init_obj(obj);
return obj;
@@ -910,7 +952,7 @@ lv_obj_t* etx_form_window_create(lv_obj_t* parent)
return etx_create(&form_window_class, parent);
}
lv_obj_t * etx_table_create(lv_obj_t * parent)
lv_obj_t* etx_table_create(lv_obj_t* parent)
{
return etx_create(&table_class, parent);
}