summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorailurux <ailuruxx@gmail.com>2024-03-07 12:11:20 +1100
committerailurux <ailuruxx@gmail.com>2024-03-07 12:11:20 +1100
commit490b067b765a05192118306e8796bf042ca31b94 (patch)
treeb72b887ed8449c893c1baf963a98e489454b125b /lib
parent53c4ea7805f1af6a4d2969fc8eabbc8ae26ac5ca (diff)
downloadtangara-fw-490b067b765a05192118306e8796bf042ca31b94.tar.gz
Add luavgl_to_style method
Diffstat (limited to 'lib')
-rw-r--r--lib/luavgl/src/luavgl.h5
-rw-r--r--lib/luavgl/src/util.c11
2 files changed, 16 insertions, 0 deletions
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
@@ -158,6 +158,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
*
* Supported values are: integer, float, boolean
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;