luavgl: add a method to focus an object

custom
jacqueline 1 year ago
parent f2df12836f
commit 5f6af82e8a
  1. 5
      lib/luavgl/src/lvgl.lua
  2. 18
      lib/luavgl/src/obj.c

@ -814,6 +814,11 @@ end
function obj:invalidate()
end
--- Sets this object as the current selection of the object's group.
---@return nil
function obj:focus()
end
---
--- Object event callback. `para` is not used for now.
--- @alias EventCallback fun(obj:Object, code: ObjEventCode): nil

@ -1,3 +1,5 @@
#include "core/lv_group.h"
#include "core/lv_obj.h"
#include "luavgl.h"
#include "private.h"
@ -578,6 +580,21 @@ static int luavgl_obj_get_pos(lua_State *L) {
return 1;
}
/**
* set this object as the current selection
*/
static int luavgl_obj_focus(lua_State *L) {
lv_obj_t *obj = luavgl_to_obj(L, 1);
lv_group_t *group = lv_obj_get_group(obj);
if (group == NULL) {
return 0;
}
lv_group_focus_obj(obj);
return 0;
}
/**
* Remove all animations associates to this object
*/
@ -654,6 +671,7 @@ static const luaL_Reg luavgl_obj_methods[] = {
{"indev_search", luavgl_obj_indev_search},
{"get_coords", luavgl_obj_get_coords},
{"get_pos", luavgl_obj_get_pos},
{"focus", luavgl_obj_focus},
{"onevent", luavgl_obj_on_event},
{"onPressed", luavgl_obj_on_pressed},

Loading…
Cancel
Save