2020-01-18 12:17:52 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <Components/Gfx/Gfx.h>
|
|
|
|
|
|
|
|
namespace Pinetime {
|
|
|
|
namespace Applications {
|
2020-02-16 12:32:36 -05:00
|
|
|
class DisplayApp;
|
2020-01-18 12:17:52 -05:00
|
|
|
namespace Screens {
|
|
|
|
class Screen {
|
|
|
|
public:
|
2020-02-16 12:32:36 -05:00
|
|
|
enum class NextScreen {None, Clock, Menu, App};
|
|
|
|
Screen(DisplayApp* app, Components::Gfx& gfx) : app{app}, gfx{gfx} {}
|
|
|
|
virtual ~Screen() = default;
|
2020-01-18 12:17:52 -05:00
|
|
|
virtual void Refresh(bool fullRefresh) = 0;
|
2020-02-16 12:32:36 -05:00
|
|
|
NextScreen GetNextScreen() {return nextScreen;}
|
|
|
|
virtual void OnButtonPushed() {};
|
2020-01-18 12:17:52 -05:00
|
|
|
|
|
|
|
protected:
|
2020-02-16 12:32:36 -05:00
|
|
|
DisplayApp* app;
|
2020-01-18 12:17:52 -05:00
|
|
|
Components::Gfx& gfx;
|
2020-02-16 12:32:36 -05:00
|
|
|
NextScreen nextScreen = NextScreen::None;
|
2020-01-18 12:17:52 -05:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|