aboutsummaryrefslogtreecommitdiffstats
path: root/src/displayapp/screens/Weather.h
diff options
context:
space:
mode:
authorKieran Cawthray <kieranc@gmail.com>2021-12-09 22:41:29 +0100
committerKieran Cawthray <kieranc@gmail.com>2021-12-09 22:41:29 +0100
commit6cf4a933b6323fc24a3b27ae55a3c12d31d6a841 (patch)
treeffee2e59a62efe62aa8255f68e7cc89be1cad152 /src/displayapp/screens/Weather.h
parentae4b9e0f2e877d200bd780f99e2a8952f9f8bf5b (diff)
parent42a5cdb5b776c2cdeb08a8c6f26606282a809178 (diff)
Merge remote-tracking branch 'upstream/develop' into pts-settings
Diffstat (limited to 'src/displayapp/screens/Weather.h')
-rw-r--r--src/displayapp/screens/Weather.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/displayapp/screens/Weather.h b/src/displayapp/screens/Weather.h
new file mode 100644
index 00000000..34f95fce
--- /dev/null
+++ b/src/displayapp/screens/Weather.h
@@ -0,0 +1,45 @@
+#pragma once
+
+#include <memory>
+#include <components/ble/weather/WeatherService.h>
+#include "Screen.h"
+#include "ScreenList.h"
+
+namespace Pinetime {
+ namespace Applications {
+ class DisplayApp;
+
+ namespace Screens {
+ class Weather : public Screen {
+ public:
+ explicit Weather(DisplayApp* app, Pinetime::Controllers::WeatherService& weather);
+
+ ~Weather() override;
+
+ void Refresh() override;
+
+ bool OnButtonPushed() override;
+
+ bool OnTouchEvent(TouchEvents event) override;
+
+ private:
+ bool running = true;
+
+ Pinetime::Controllers::DateTime& dateTimeController;
+ Controllers::WeatherService& weatherService;
+
+ ScreenList<5> screens;
+
+ std::unique_ptr<Screen> CreateScreenTemperature();
+
+ std::unique_ptr<Screen> CreateScreenAir();
+
+ std::unique_ptr<Screen> CreateScreenClouds();
+
+ std::unique_ptr<Screen> CreateScreenPrecipitation();
+
+ std::unique_ptr<Screen> CreateScreenHumidity();
+ };
+ }
+ }
+}