diff options
author | JF002 <JF002@users.noreply.github.com> | 2021-08-28 16:39:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-28 16:39:48 +0200 |
commit | 2870d3ae6c00f127883e6cedecda328994b0fec7 (patch) | |
tree | 75c4b96ace962cbb965c2bdd0dd11137b471c5ac /src/displayapp/screens/Screen.h | |
parent | fab49f8557ef8ff38fe4f607e33b18fb5a1aeb9a (diff) | |
parent | c2fae47391f02b515c8d85a00ae1b7190bcd30a0 (diff) |
Merge pull request #497 from Riksu9000/refresh_rework
Rework Refresh
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 420f2015..ce5741b2 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 { @@ -38,25 +39,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() { |