diff --git a/src/hasp/hasp_style.cpp b/src/hasp/hasp_style.cpp new file mode 100644 index 00000000..b60c1d38 --- /dev/null +++ b/src/hasp/hasp_style.cpp @@ -0,0 +1,226 @@ +#include "hasp_attribute.h" /*To see all the hashes*/ + +static void set_style_attribute(lv_style_t * style, lv_state_t state, int16_t val) +{ + lv_color_t color; + + switch(1) { + case ATTR_RADIUS: + lv_style_set_radius(style, state, val); + break; + case ATTR_BG_COLOR: + lv_style_set_bg_color(style, state, color); + break; + + // break; case ATTR_CLIP_CORNER:lv_style_set_clip_corner(style, state, val!=0); + case ATTR_SIZE: + lv_style_set_size(style, state, val); + break; + case ATTR_TRANSFORM_WIDTH: + lv_style_set_transform_width(style, state, val); + break; + case ATTR_TRANSFORM_HEIGHT: + lv_style_set_transform_height(style, state, val); + // break; case ATTR_TRANSFORM_ANGLE:lv_style_set_transform_angle(style, state, val); + // break; case ATTR_TRANSFORM_ZOOM:lv_style_set_transform_zoom(style, state, val); + // break; case ATTR_OPA_SCALE:lv_style_set_opa_scale(style, state, (lv_opa_t)val); + break; + case ATTR_PAD_TOP: + lv_style_set_pad_top(style, state, val); + break; + case ATTR_PAD_BOTTOM: + lv_style_set_pad_bottom(style, state, val); + break; + case ATTR_PAD_LEFT: + lv_style_set_pad_left(style, state, val); + break; + case ATTR_PAD_RIGHT: + lv_style_set_pad_right(style, state, val); + break; + case ATTR_PAD_INNER: + lv_style_set_pad_inner(style, state, val); + // break; case ATTR_MARGIN_TOP:lv_style_set_margin_top(style, state, val); + // break; case ATTR_MARGIN_BOTTOM:lv_style_set_margin_bottom(style, state, val); + // break; case ATTR_MARGIN_LEFT:lv_style_set_margin_left(style, state, val); + // break; case ATTR_MARGIN_RIGHT:lv_style_set_margin_right(style, state, val); + // break; case ATTR_BG_BLEND_MODE:lv_style_set_bg_blend_mode, lv_blend_mode_t, _int, scalar) + break; + case ATTR_BG_MAIN_STOP: + lv_style_set_bg_main_stop(style, state, val); + break; + case ATTR_BG_GRAD_STOP: + lv_style_set_bg_grad_stop(style, state, val); + // break; case ATTR_BG_GRAD_DIR:lv_style_set_bg_grad_dir, lv_grad_dir_t, _int, scalar) + break; + case ATTR_BG_GRAD_COLOR: + lv_style_set_bg_grad_color(style, state, color); + break; + case ATTR_BG_OPA: + lv_style_set_bg_opa(style, state, (lv_opa_t)val); + break; + case ATTR_BORDER_WIDTH: + lv_style_set_border_width(style, state, val); + // break; case ATTR_BORDER_SIDE:lv_style_set_border_side, lv_border_side_t, _int, scalar) + // break; case ATTR_BORDER_BLEND_MODE:lv_style_set_border_blend_mode, lv_blend_mode_t, _int, scalar) + break; + case ATTR_BORDER_POST: + lv_style_set_border_post(style, state, val != 0); + break; + case ATTR_BORDER_COLOR: + lv_style_set_border_color(style, state, color); + break; + case ATTR_BORDER_OPA: + lv_style_set_border_opa(style, state, (lv_opa_t)val); + break; + case ATTR_OUTLINE_WIDTH: + lv_style_set_outline_width(style, state, val); + break; + case ATTR_OUTLINE_PAD: + lv_style_set_outline_pad(style, state, val); + // break; case ATTR_OUTLINE_BLEND_MODE:lv_style_set_outline_blend_mode, lv_blend_mode_t, _int, scalar) + break; + case ATTR_OUTLINE_COLOR: + lv_style_set_outline_color(style, state, color); + break; + case ATTR_OUTLINE_OPA: + lv_style_set_outline_opa(style, state, (lv_opa_t)val); + break; + case ATTR_SHADOW_WIDTH: + lv_style_set_shadow_width(style, state, val); + break; + case ATTR_SHADOW_OFS_X: + lv_style_set_shadow_ofs_x(style, state, val); + break; + case ATTR_SHADOW_OFS_Y: + lv_style_set_shadow_ofs_y(style, state, val); + break; + case ATTR_SHADOW_SPREAD: + lv_style_set_shadow_spread(style, state, val); + // break; case ATTR_SHADOW_BLEND_MODE:lv_style_set_shadow_blend_mode, lv_blend_mode_t, _int, scalar) + break; + case ATTR_SHADOW_COLOR: + lv_style_set_shadow_color(style, state, color); + break; + case ATTR_SHADOW_OPA: + lv_style_set_shadow_opa(style, state, (lv_opa_t)val); + break; + case ATTR_PATTERN_REPEAT: + lv_style_set_pattern_repeat(style, state, val != 0); + // break; case ATTR_PATTERN_BLEND_MODE:lv_style_set_pattern_blend_mode, lv_blend_mode_t, _int, scalar) + break; + case ATTR_PATTERN_RECOLOR: + lv_style_set_pattern_recolor(style, state, color); + break; + case ATTR_PATTERN_OPA: + lv_style_set_pattern_opa(style, state, (lv_opa_t)val); + break; + case ATTR_PATTERN_RECOLOR_OPA: + lv_style_set_pattern_recolor_opa(style, state, (lv_opa_t)val); + // break; case ATTR_PATTERN_IMAGE:lv_style_set_pattern_image, const void*, _ptr, scalar) + break; + case ATTR_VALUE_LETTER_SPACE: + lv_style_set_value_letter_space(style, state, val); + break; + case ATTR_VALUE_LINE_SPACE: + lv_style_set_value_line_space(style, state, val); + // break; case ATTR_VALUE_BLEND_MODE:lv_style_set_value_blend_mode, lv_blend_mode_t, _int, scalar) + break; + case ATTR_VALUE_OFS_X: + lv_style_set_value_ofs_x(style, state, val); + break; + case ATTR_VALUE_OFS_Y: + lv_style_set_value_ofs_y(style, state, val); + break; + case ATTR_VALUE_ALIGN: + lv_style_set_value_align(style, state, (lv_align_t)val); + break; + case ATTR_VALUE_COLOR: + lv_style_set_value_color(style, state, color); + break; + case ATTR_VALUE_OPA: + lv_style_set_value_opa(style, state, (lv_opa_t)val); + // break; case ATTR_VALUE_FONT:lv_style_set_value_font, const lv_font_t*, _ptr, scalar) + // break; case ATTR_VALUE_STR:lv_style_set_value_str, const char*, _ptr, scalar) + break; + case ATTR_TEXT_LETTER_SPACE: + lv_style_set_text_letter_space(style, state, val); + break; + case ATTR_TEXT_LINE_SPACE: + lv_style_set_text_line_space(style, state, val); + // break; case ATTR_TEXT_DECOR:lv_style_set_text_decor, lv_text_decor_t, _int, scalar) + // break; case ATTR_TEXT_BLEND_MODE:lv_style_set_text_blend_mode, lv_blend_mode_t, _int, scalar) + break; + case ATTR_TEXT_COLOR: + lv_style_set_text_color(style, state, color); + break; + case ATTR_TEXT_SEL_COLOR: + lv_style_set_text_sel_color(style, state, color); + // break; case ATTR_TEXT_SEL_BG_COLOR:lv_style_set_text_sel_bg_color(style, state, color); + break; + case ATTR_TEXT_OPA: + lv_style_set_text_opa(style, state, (lv_opa_t)val); + // break; case ATTR_TEXT_FONT:lv_style_set_text_font, const lv_font_t*, _ptr, scalar) + break; + case ATTR_LINE_WIDTH: + lv_style_set_line_width(style, state, val); + // break; case ATTR_LINE_BLEND_MODE:lv_style_set_line_blend_mode, lv_blend_mode_t, _int, scalar) + break; + case ATTR_LINE_DASH_WIDTH: + lv_style_set_line_dash_width(style, state, val); + break; + case ATTR_LINE_DASH_GAP: + lv_style_set_line_dash_gap(style, state, val); + break; + case ATTR_LINE_ROUNDED: + lv_style_set_line_rounded(style, state, val != 0); + break; + case ATTR_LINE_COLOR: + lv_style_set_line_color(style, state, color); + break; + case ATTR_LINE_OPA: + lv_style_set_line_opa(style, state, (lv_opa_t)val); + // break; case ATTR_IMAGE_BLEND_MODE:lv_style_set_image_blend_mode, lv_blend_mode_t, _int, scalar) + break; + case ATTR_IMAGE_RECOLOR: + lv_style_set_image_recolor(style, state, color); + break; + case ATTR_IMAGE_OPA: + lv_style_set_image_opa(style, state, (lv_opa_t)val); + break; + case ATTR_IMAGE_RECOLOR_OPA: + lv_style_set_image_recolor_opa(style, state, (lv_opa_t)val); + // break; case ATTR_TRANSITION_TIME:lv_style_set_transition_time(style, state, val); + // break; case ATTR_TRANSITION_DELAY:lv_style_set_transition_delay(style, state, val); + // break; case ATTR_TRANSITION_PROP_1:lv_style_set_ transition_prop_1(style, state, val); + // break; case ATTR_TRANSITION_PROP_2:lv_style_set_ transition_prop_2(style, state, val); + // break; case ATTR_TRANSITION_PROP_3:lv_style_set_ transition_prop_3(style, state, val); + // break; case ATTR_TRANSITION_PROP_4:lv_style_set_ transition_prop_4(style, state, val); + // break; case ATTR_TRANSITION_PROP_5:lv_style_set_ transition_prop_5(style, state, val); + // break; case ATTR_TRANSITION_PROP_6:lv_style_set_ transition_prop_6(style, state, val); + //#if LV_USE_ANIMATION + // break; case ATTR_TRANSITION_PATH:lv_style_set_transition_path, lv_anim_path_t*, _ptr, scalar) + //#else + // /*For compatibility*/ + // break; case ATTR_TRANSITION_PATH:lv_style_set_transition_path, const void*, _ptr, scalar) + //#endif + break; + case ATTR_SCALE_WIDTH: + lv_style_set_scale_width(style, state, val); + break; + case ATTR_SCALE_BORDER_WIDTH: + lv_style_set_scale_border_width(style, state, val); + break; + case ATTR_SCALE_END_BORDER_WIDTH: + lv_style_set_scale_end_border_width(style, state, val); + break; + case ATTR_SCALE_END_LINE_WIDTH: + lv_style_set_scale_end_line_width(style, state, val); + break; + case ATTR_SCALE_GRAD_COLOR: + lv_style_set_scale_grad_color(style, state, color); + break; + case ATTR_SCALE_END_COLOR: + lv_style_set_scale_end_color(style, state, color); + default:; + } +} \ No newline at end of file diff --git a/src/hasp/lv_theme_hasp.cpp b/src/hasp/lv_theme_hasp.cpp index c761efa9..53d7cd0d 100644 --- a/src/hasp/lv_theme_hasp.cpp +++ b/src/hasp/lv_theme_hasp.cpp @@ -27,10 +27,11 @@ #define COLOR_SCR (IS_LIGHT ? LV_COLOR_WHITE : lv_color_hex(0x545b6a)) #define COLOR_SCR_GRAD (IS_LIGHT ? LV_COLOR_SILVER : lv_color_hex(0x222b3a)) #define COLOR_SCR_TEXT (IS_LIGHT ? lv_color_hex(0x3b3e42) : lv_color_hex(0xefefef)) +#define HUE_COLOR lv_color_hex(0x2F8CD8) /*BUTTON*/ -#define COLOR_BTN (IS_LIGHT ? lv_color_hex(0x81a8cb) : lv_color_hex(0x81a8cb)) -#define COLOR_BTN_GRAD (IS_LIGHT ? lv_color_hex(0x4477a1) : lv_color_hex(0x4477a1)) +#define COLOR_BTN (lv_color_lighten(HUE_COLOR, LV_OPA_30)) +#define COLOR_BTN_GRAD (lv_color_darken(HUE_COLOR, LV_OPA_30)) #define COLOR_BTN_PR (lv_color_darken(COLOR_BTN_CHK, LV_OPA_20)) #define COLOR_BTN_PR_GRAD lv_color_darken(COLOR_BTN_GRAD, LV_OPA_20) #define COLOR_BTN_CHK lv_color_darken(COLOR_BTN_GRAD, LV_OPA_20) @@ -39,7 +40,7 @@ #define COLOR_BTN_CHK_PR_GRAD (lv_color_darken(COLOR_BTN_CHK_GRAD, LV_OPA_30)) #define COLOR_BTN_DIS (IS_LIGHT ? lv_color_hex3(0xccc) : lv_color_hex3(0x888)) -#define COLOR_BTN_BORDER (IS_LIGHT ? lv_color_hex(0xd6dde3) : lv_color_hex(0x808a97)) +#define COLOR_BTN_BORDER (IS_LIGHT ? (lv_color_darken(HUE_COLOR, LV_OPA_50)) : (lv_color_lighten(HUE_COLOR, LV_OPA_40))) #define COLOR_BTN_BORDER_PR (IS_LIGHT ? lv_color_hex3(0xccc) : lv_color_hex(0x5f656e)) #define COLOR_BTN_BORDER_CHK (IS_LIGHT ? lv_color_hex(0x3b3e42) : lv_color_hex(0x5f656e)) #define COLOR_BTN_BORDER_CHK_PR (IS_LIGHT ? lv_color_hex(0x3b3e42) : lv_color_hex(0x5f656e)) @@ -114,8 +115,8 @@ typedef struct #endif #if LV_USE_BAR -// lv_style_t bar_bg; -// lv_style_t bar_indic; + // lv_style_t bar_bg; + // lv_style_t bar_indic; #endif #if LV_USE_CALENDAR @@ -277,7 +278,7 @@ static void basic_init(void) lv_style_set_value_font(&styles->pretty_color, LV_STATE_DEFAULT, theme.font_subtitle); lv_style_set_value_color(&styles->pretty_color, LV_STATE_DEFAULT, COLOR_SCR_TEXT); - lv_style_set_border_opa(&styles->pretty_color, LV_STATE_DEFAULT, 3); + lv_style_set_border_opa(&styles->pretty_color, LV_STATE_DEFAULT, LV_OPA_50); lv_style_set_border_width(&styles->pretty_color, LV_STATE_DEFAULT, BORDER_WIDTH); lv_style_set_border_color(&styles->pretty_color, LV_STATE_DEFAULT, BORDER_COLOR); lv_style_set_border_color(&styles->pretty_color, LV_STATE_EDITED, @@ -351,7 +352,7 @@ static void basic_init(void) lv_style_set_border_color(&styles->btn, LV_STATE_CHECKED, COLOR_BTN_BORDER_CHK); lv_style_set_border_color(&styles->btn, LV_STATE_DISABLED, COLOR_BTN_BORDER_INA); lv_style_set_border_width(&styles->btn, LV_STATE_DEFAULT, BORDER_WIDTH); - lv_style_set_border_opa(&styles->btn, LV_STATE_DEFAULT, LV_OPA_30); + lv_style_set_border_opa(&styles->btn, LV_STATE_DEFAULT, LV_OPA_50); // lv_style_set_border_opa(&styles->btn, LV_STATE_CHECKED, LV_OPA_40); lv_style_set_text_color(&styles->btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); @@ -446,25 +447,25 @@ static void label_init(void) static void bar_init(void) { #if LV_USE_BAR -/* style_init_reset(&styles->bar_bg); - lv_style_set_radius(&styles->bar_bg, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - lv_style_set_bg_opa(&styles->bar_bg, LV_STATE_DEFAULT, LV_OPA_COVER); - lv_style_set_bg_color(&styles->bar_bg, LV_STATE_DEFAULT, COLOR_BG_SEC); - lv_style_set_value_color(&styles->bar_bg, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - lv_style_set_outline_color(&styles->bar_bg, LV_STATE_DEFAULT, theme.color_primary); - lv_style_set_outline_color(&styles->bar_bg, LV_STATE_EDITED, theme.color_secondary); - lv_style_set_outline_opa(&styles->bar_bg, LV_STATE_DEFAULT, LV_OPA_TRANSP); - lv_style_set_outline_width(&styles->bar_bg, LV_STATE_DEFAULT, OUTLINE_WIDTH); - lv_style_set_transition_time(&styles->bar_bg, LV_STATE_DEFAULT, TRANSITION_TIME); - lv_style_set_transition_prop_6(&styles->bar_bg, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA); + /* style_init_reset(&styles->bar_bg); + lv_style_set_radius(&styles->bar_bg, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); + lv_style_set_bg_opa(&styles->bar_bg, LV_STATE_DEFAULT, LV_OPA_COVER); + lv_style_set_bg_color(&styles->bar_bg, LV_STATE_DEFAULT, COLOR_BG_SEC); + lv_style_set_value_color(&styles->bar_bg, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); + lv_style_set_outline_color(&styles->bar_bg, LV_STATE_DEFAULT, theme.color_primary); + lv_style_set_outline_color(&styles->bar_bg, LV_STATE_EDITED, theme.color_secondary); + lv_style_set_outline_opa(&styles->bar_bg, LV_STATE_DEFAULT, LV_OPA_TRANSP); + lv_style_set_outline_width(&styles->bar_bg, LV_STATE_DEFAULT, OUTLINE_WIDTH); + lv_style_set_transition_time(&styles->bar_bg, LV_STATE_DEFAULT, TRANSITION_TIME); + lv_style_set_transition_prop_6(&styles->bar_bg, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA); - style_init_reset(&styles->bar_indic); - lv_style_set_bg_opa(&styles->bar_indic, LV_STATE_DEFAULT, LV_OPA_COVER); - lv_style_set_radius(&styles->bar_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - lv_style_set_bg_color(&styles->bar_indic, LV_STATE_DEFAULT, theme.color_primary); - lv_style_set_bg_color(&styles->bar_indic, LV_STATE_DISABLED, lv_color_hex3(0x888)); - lv_style_set_value_color(&styles->bar_indic, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x41404f) : - LV_COLOR_WHITE);*/ + style_init_reset(&styles->bar_indic); + lv_style_set_bg_opa(&styles->bar_indic, LV_STATE_DEFAULT, LV_OPA_COVER); + lv_style_set_radius(&styles->bar_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); + lv_style_set_bg_color(&styles->bar_indic, LV_STATE_DEFAULT, theme.color_primary); + lv_style_set_bg_color(&styles->bar_indic, LV_STATE_DISABLED, lv_color_hex3(0x888)); + lv_style_set_value_color(&styles->bar_indic, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x41404f) : + LV_COLOR_WHITE);*/ #endif } @@ -1313,6 +1314,7 @@ static void theme_apply(lv_theme_t * th, lv_obj_t * obj, lv_theme_style_t name) list = lv_obj_get_style_list(obj, LV_ROLLER_PART_SELECTED); _lv_style_list_add_style(list, &styles->pretty_color); + //_lv_style_list_add_style(list, &styles->btn); _lv_style_list_add_style(list, &styles->selected); break; #endif