diff options
Diffstat (limited to 'lib/luavgl')
| -rw-r--r-- | lib/luavgl/src/lvgl.lua | 5 | ||||
| -rw-r--r-- | lib/luavgl/src/widgets/slider.c | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/luavgl/src/lvgl.lua b/lib/luavgl/src/lvgl.lua index e06f673d..13fd6908 100644 --- a/lib/luavgl/src/lvgl.lua +++ b/lib/luavgl/src/lvgl.lua @@ -1098,6 +1098,11 @@ end function slider:value() end +--- get whether slider is dragged or not +--- @return boolean +function slider:is_dragged() +end + --- --- Switch widget ---@class Switch:Object diff --git a/lib/luavgl/src/widgets/slider.c b/lib/luavgl/src/widgets/slider.c index c385f6bb..ad093fb5 100644 --- a/lib/luavgl/src/widgets/slider.c +++ b/lib/luavgl/src/widgets/slider.c @@ -73,9 +73,19 @@ static int luavgl_slider_tostring(lua_State *L) { return 1; } +static int luavgl_slider_is_dragged(lua_State *L) { + lv_obj_t *obj = luavgl_to_obj(L, 1); + bool is_dragged = lv_slider_is_dragged(obj); + lv_group_t * g = lv_obj_get_group(obj); + bool editing = lv_group_get_editing(g); + lua_pushboolean(L, editing || is_dragged); + return 1; +} + static const luaL_Reg luavgl_slider_methods[] = { {"set", luavgl_slider_set}, {"value", luavgl_slider_value}, + {"is_dragged", luavgl_slider_is_dragged}, {NULL, NULL}, }; |
