#pragma once #include #include #include #include #include #include "displayapp/screens/Screen.h" #include "components/datetime/DateTimeController.h" namespace Pinetime { namespace Controllers { class Settings; class Battery; class Ble; class NotificationManager; class MotionController; } namespace Applications { namespace Screens { class Clock : public Screen { public: Clock(DisplayApp* app, Controllers::DateTime& dateTimeController, Controllers::Battery& batteryController, Controllers::Ble& bleController, Controllers::NotificationManager& notificatioManager, Controllers::Settings& settingsController, Controllers::HeartRateController& heartRateController, Controllers::MotionController& motionController, Controllers::FS& filesystem); ~Clock() override; bool OnTouchEvent(TouchEvents event) override; bool OnButtonPushed() override; private: Controllers::DateTime& dateTimeController; Controllers::Battery& batteryController; Controllers::Ble& bleController; Controllers::NotificationManager& notificatioManager; Controllers::Settings& settingsController; Controllers::HeartRateController& heartRateController; Controllers::MotionController& motionController; Controllers::FS& filesystem; std::unique_ptr screen; std::unique_ptr WatchFaceDigitalScreen(); std::unique_ptr WatchFaceAnalogScreen(); std::unique_ptr WatchFacePineTimeStyleScreen(); std::unique_ptr WatchFaceTerminalScreen(); std::unique_ptr WatchFaceInfineatScreen(); std::unique_ptr WatchFaceCasioStyleG7710(); }; } } }