summaryrefslogtreecommitdiff
path: root/src/DisplayApp/Screens/Screen.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/DisplayApp/Screens/Screen.h')
-rw-r--r--src/DisplayApp/Screens/Screen.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/DisplayApp/Screens/Screen.h b/src/DisplayApp/Screens/Screen.h
index 57b8ea2a..625daada 100644
--- a/src/DisplayApp/Screens/Screen.h
+++ b/src/DisplayApp/Screens/Screen.h
@@ -9,16 +9,18 @@ namespace Pinetime {
class Screen {
public:
enum class NextScreen {None, Clock, Menu, App};
- Screen(DisplayApp* app, Components::Gfx& gfx) : app{app}, gfx{gfx} {}
+
+ Screen(DisplayApp* app) : app{app} {}
virtual ~Screen() = default;
- virtual void Refresh(bool fullRefresh) = 0;
- NextScreen GetNextScreen() {return nextScreen;}
- virtual void OnButtonPushed() {};
+
+ // Return false if the app can be closed, true if it must continue to run
+ virtual bool Refresh(bool fullRefresh) = 0;
+
+ // Return false if the button hasn't been handled by the app, true if it has been handled
+ virtual bool OnButtonPushed() { return false; }
protected:
DisplayApp* app;
- Components::Gfx& gfx;
- NextScreen nextScreen = NextScreen::None;
};
}
}