summaryrefslogtreecommitdiff
path: root/src/displayapp/screens/Screen.h
diff options
context:
space:
mode:
authorAvamander <avamander@gmail.com>2020-10-02 21:49:55 +0300
committerAvamander <avamander@gmail.com>2020-10-02 21:49:55 +0300
commit4daab2692692d47af24a9384eb0f402821527882 (patch)
treebc525f6fc2ea8a378ac4e6fba729c956f7dc1d66 /src/displayapp/screens/Screen.h
parente3fb2f0b8974f3e9a124d27f4b568e754ccfb782 (diff)
Renamed displayapp/Screens to displayapp/screens
Diffstat (limited to 'src/displayapp/screens/Screen.h')
-rw-r--r--src/displayapp/screens/Screen.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/displayapp/screens/Screen.h b/src/displayapp/screens/Screen.h
new file mode 100644
index 00000000..dbf81a44
--- /dev/null
+++ b/src/displayapp/screens/Screen.h
@@ -0,0 +1,30 @@
+#pragma once
+
+#include <cstdint>
+#include "../TouchEvents.h"
+
+namespace Pinetime {
+ namespace Applications {
+ class DisplayApp;
+ namespace Screens {
+ class Screen {
+ public:
+ Screen(DisplayApp* app) : app{app} {}
+ virtual ~Screen() = default;
+
+ // Return false if the app can be closed, true if it must continue to run
+ virtual bool Refresh() = 0;
+
+ // Return false if the button hasn't been handled by the app, true if it has been handled
+ virtual bool OnButtonPushed() { return false; }
+
+ // Return false if the event hasn't been handled by the app, true if it has been handled
+ virtual bool OnTouchEvent(TouchEvents event) { return false; }
+ virtual bool OnTouchEvent(uint16_t x, uint16_t y) { return false; }
+
+ protected:
+ DisplayApp* app;
+ };
+ }
+ }
+}