diff options
| author | Riku Isokoski <riksu9000@gmail.com> | 2021-07-19 13:26:12 (GMT) |
|---|---|---|
| committer | Riku Isokoski <riksu9000@gmail.com> | 2021-07-19 13:26:12 (GMT) |
| commit | 97c761a5c74994ea1d9bef9c14e6e24afb9b4be2 (patch) | |
| tree | 11bbbe45fa4e1557cc5e3b7da08c1c380741c9c2 /src/displayapp/screens/Screen.h | |
| parent | 57b339707861c5688f5d432f1506a99df6bb0fce (diff) | |
Refresh rework
Diffstat (limited to 'src/displayapp/screens/Screen.h')
| -rw-r--r-- | src/displayapp/screens/Screen.h | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/displayapp/screens/Screen.h b/src/displayapp/screens/Screen.h index 8e49c9d..30de2ad 100644 --- a/src/displayapp/screens/Screen.h +++ b/src/displayapp/screens/Screen.h @@ -2,6 +2,7 @@ #include <cstdint> #include "../TouchEvents.h" +#include <lvgl/lvgl.h> namespace Pinetime { namespace Applications { @@ -34,25 +35,20 @@ namespace Pinetime { }; class Screen { + private: + virtual void Refresh() { + } + public: explicit Screen(DisplayApp* app) : app {app} { } virtual ~Screen() = default; - /** - * Most of the time, apps only react to events (touch events, for example). - * In this case you don't need to do anything in this method. - * - * For example, InfiniPaint does nothing in Refresh(). - * But, if you want to update your display periodically, draw an animation... - * you cannot do it in a touch event handler because these handlers are not - * called if the user does not touch the screen. - * - * That's why Refresh() is there: update the display periodically. - * - * @return false if the app can be closed, true if it must continue to run - **/ - virtual bool Refresh() = 0; + static void RefreshTaskCallback(lv_task_t* task); + + bool IsRunning() const { + return running; + } /** @return false if the button hasn't been handled by the app, true if it has been handled */ virtual bool OnButtonPushed() { |
