From b53c558335bac299654050f0ceb11d743c3ff0fd Mon Sep 17 00:00:00 2001 From: Ken Van Hoeylandt Date: Tue, 11 Aug 2026 22:33:41 +0200 Subject: [PATCH] Scrollable improvements --- Modules/lvgl-window-manager-module/source/window_manager.cpp | 3 +++ Tactility/Source/Tactility.cpp | 2 ++ 2 files changed, 5 insertions(+) diff --git a/Modules/lvgl-window-manager-module/source/window_manager.cpp b/Modules/lvgl-window-manager-module/source/window_manager.cpp index 0a42d429a..92bcb166f 100644 --- a/Modules/lvgl-window-manager-module/source/window_manager.cpp +++ b/Modules/lvgl-window-manager-module/source/window_manager.cpp @@ -99,6 +99,7 @@ lv_obj_t* build_window_widget(lv_obj_t* content, WindowCreateWidgetsFn create_wi lv_obj_set_style_pad_all(widget, 0, LV_STATE_DEFAULT); lv_obj_set_style_border_width(widget, 0, LV_STATE_DEFAULT); lv_obj_set_style_radius(widget, 0, LV_STATE_DEFAULT); + lv_obj_remove_flag(widget, LV_OBJ_FLAG_SCROLLABLE); if (create_widgets != nullptr) { create_widgets(widget, user_data); } @@ -197,6 +198,8 @@ error_t window_manager_start(void) { lv_obj_set_style_pad_all(real_widget, 0, LV_STATE_DEFAULT); lv_obj_set_style_border_width(real_widget, 0, LV_STATE_DEFAULT); lv_obj_set_style_radius(real_widget, 0, LV_STATE_DEFAULT); + // See build_window_widget()'s identical call for why. + lv_obj_remove_flag(real_widget, LV_OBJ_FLAG_SCROLLABLE); content_widget = (screen_init != nullptr) ? screen_init(real_widget) : nullptr; if (content_widget == nullptr) { diff --git a/Tactility/Source/Tactility.cpp b/Tactility/Source/Tactility.cpp index 769cd711c..7fa77d4a6 100644 --- a/Tactility/Source/Tactility.cpp +++ b/Tactility/Source/Tactility.cpp @@ -374,6 +374,7 @@ static lv_obj_t* windowManagerScreenInit(lv_obj_t* root) { lv_obj_set_style_bg_color(vertical_container, lv_color_black(), LV_STATE_DEFAULT); lv_obj_set_style_border_width(vertical_container, 0, LV_STATE_DEFAULT); lv_obj_set_style_radius(vertical_container, 0, LV_STATE_DEFAULT); + lv_obj_remove_flag(vertical_container, LV_OBJ_FLAG_SCROLLABLE); lvgl::statusbar_create(vertical_container); @@ -383,6 +384,7 @@ static lv_obj_t* windowManagerScreenInit(lv_obj_t* root) { lv_obj_set_width(app_container, LV_PCT(100)); lv_obj_set_flex_grow(app_container, 1); lv_obj_set_flex_flow(app_container, LV_FLEX_FLOW_COLUMN); + lv_obj_remove_flag(app_container, LV_OBJ_FLAG_SCROLLABLE); // Parented to root (not app_container/vertical_container) so it overlays on top of // everything, including the statusbar, regardless of which app is showing. Hidden until a