From 490b067b765a05192118306e8796bf042ca31b94 Mon Sep 17 00:00:00 2001 From: ailurux Date: Thu, 7 Mar 2024 12:11:20 +1100 Subject: Add luavgl_to_style method --- lib/luavgl/src/luavgl.h | 5 +++++ lib/luavgl/src/util.c | 11 +++++++++++ 2 files changed, 16 insertions(+) (limited to 'lib') diff --git a/lib/luavgl/src/luavgl.h b/lib/luavgl/src/luavgl.h index b26bb5c7..c76a6493 100644 --- a/lib/luavgl/src/luavgl.h +++ b/lib/luavgl/src/luavgl.h @@ -157,6 +157,11 @@ LUALIB_API int luavgl_obj_getuserdatauv(lua_State *L, int idx); */ LUALIB_API lv_obj_t *luavgl_to_obj(lua_State *L, int idx); +/** + * @brief Get lvgl style from stack + */ +LUALIB_API lv_style_t *luavgl_to_style(lua_State *L, int idx); + /** * @brief Convert value to integer * diff --git a/lib/luavgl/src/util.c b/lib/luavgl/src/util.c index 2042a6d9..7fb86906 100644 --- a/lib/luavgl/src/util.c +++ b/lib/luavgl/src/util.c @@ -272,6 +272,17 @@ LUALIB_API lv_obj_t *luavgl_to_obj(lua_State *L, int idx) return lobj->obj; } +LUALIB_API lv_style_t *luavgl_to_style(lua_State *L, int idx) +{ + luavgl_style_t *lsty = luavgl_check_style(L, idx); + if (lsty == NULL) { + luaL_argerror(L, idx, "expect lua lvgl style, got null"); + return NULL; + } + + return &lsty->style; +} + LUALIB_API int luavgl_tointeger(lua_State *L, int idx) { int v = 0; -- cgit v1.2.3 From 223c4cbbc91ca6727dd1ceb076640e59bb6ec25b Mon Sep 17 00:00:00 2001 From: ailurux Date: Wed, 27 Mar 2024 15:41:22 +1100 Subject: Allow image recoloring properties to be inherited by children --- lib/lvgl/src/misc/lv_style.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/lvgl/src/misc/lv_style.c b/lib/lvgl/src/misc/lv_style.c index 419c29e4..baf135ad 100644 --- a/lib/lvgl/src/misc/lv_style.c +++ b/lib/lvgl/src/misc/lv_style.c @@ -92,9 +92,11 @@ const uint8_t _lv_style_builtin_prop_flag_lookup_table[_LV_STYLE_NUM_BUILT_IN_PR [LV_STYLE_SHADOW_COLOR] = 0, [LV_STYLE_SHADOW_OPA] = LV_STYLE_PROP_EXT_DRAW, - [LV_STYLE_IMG_OPA] = 0, - [LV_STYLE_IMG_RECOLOR] = 0, - [LV_STYLE_IMG_RECOLOR_OPA] = 0, + // Image style inheritance + // https://github.com/lvgl/lvgl/pull/4664 + [LV_STYLE_IMG_OPA] = LV_STYLE_PROP_INHERIT, + [LV_STYLE_IMG_RECOLOR] = LV_STYLE_PROP_INHERIT, + [LV_STYLE_IMG_RECOLOR_OPA] = LV_STYLE_PROP_INHERIT, [LV_STYLE_LINE_WIDTH] = LV_STYLE_PROP_EXT_DRAW, [LV_STYLE_LINE_DASH_WIDTH] = 0, -- cgit v1.2.3