From c1e143c4fd2158f5badb626ba7eece3ee897a9d4 Mon Sep 17 00:00:00 2001 From: gagarinlg Date: Sun, 29 May 2022 18:37:10 +0200 Subject: [PATCH] attach windo focusHandler to LVGL events --- radio/src/thirdparty/libopenui/src/window.cpp | 6 ++++++ radio/src/thirdparty/libopenui/src/window.h | 3 +++ 2 files changed, 9 insertions(+) diff --git a/radio/src/thirdparty/libopenui/src/window.cpp b/radio/src/thirdparty/libopenui/src/window.cpp index 0666ebd54..c1b5258f5 100644 --- a/radio/src/thirdparty/libopenui/src/window.cpp +++ b/radio/src/thirdparty/libopenui/src/window.cpp @@ -139,6 +139,12 @@ extern "C" void window_event_cb(lv_event_t * e) else if (code == LV_EVENT_CANCEL) { TRACE("CANCEL[%p]", window); window->onCancel(); + } else if (code == LV_EVENT_FOCUSED) { + if(window->focusHandler) + window->focusHandler(true); + } else if (code == LV_EVENT_DEFOCUSED) { + if(window->focusHandler) + window->focusHandler(false); } } diff --git a/radio/src/thirdparty/libopenui/src/window.h b/radio/src/thirdparty/libopenui/src/window.h index 8cf5dec9f..0aafc982b 100644 --- a/radio/src/thirdparty/libopenui/src/window.h +++ b/radio/src/thirdparty/libopenui/src/window.h @@ -65,10 +65,13 @@ constexpr WindowFlags WINDOW_FLAGS_LAST = PUSH_FRONT; // }; typedef lv_obj_t *(*LvglCreate)(lv_obj_t *); +extern "C" void window_event_cb(lv_event_t * e); + class Window { friend class GridLayout; + friend void window_event_cb(lv_event_t * e); public: Window(Window *parent, const rect_t &rect, WindowFlags windowFlags = 0,