Просмотр исходного кода

add: easylvgl, 增加set_hidden方法以设置容器的隐藏状态

zengeshuai 2 месяцев назад
Родитель
Сommit
bb4575d5ec

+ 12 - 0
components/easylvgl/binding/luat_lib_easylvgl_container.c

@@ -56,6 +56,17 @@ static int l_container_set_color(lua_State *L) {
     return 0;
 }
 
+/**
+ * Container:set_hidden(hidden)
+ * @api container:set_hidden(hidden)
+ * @bool hidden 是否隐藏
+ */
+static int l_container_set_hidden(lua_State *L) {
+    lv_obj_t *container = easylvgl_check_component(L, 1, EASYLVGL_CONTAINER_MT);
+    bool hidden = lua_toboolean(L, 2);
+    easylvgl_container_set_hidden(container, hidden);
+    return 0;
+}
 /**
  * Container GC
  */
@@ -82,6 +93,7 @@ void easylvgl_register_container_meta(lua_State *L) {
 
     static const luaL_Reg methods[] = {
         {"set_color", l_container_set_color},
+        {"set_hidden", l_container_set_hidden},
         {NULL, NULL}
     };
 

+ 12 - 0
components/easylvgl/src/components/widgets/luat_easylvgl_container.c

@@ -89,3 +89,15 @@ int easylvgl_container_set_color(lv_obj_t *container, uint32_t color_value)
     return EASYLVGL_OK;
 }
 
+/**
+ * 设置 Container 隐藏状态
+ */
+int easylvgl_container_set_hidden(lv_obj_t *container, bool hidden)
+{
+    if (container == NULL) {
+        return EASYLVGL_ERR_INVALID_PARAM;
+    }
+
+    lv_obj_set_flag(container, LV_OBJ_FLAG_HIDDEN, hidden);
+    return EASYLVGL_OK;
+}