summaryrefslogtreecommitdiff
path: root/src/displayapp/screens/Weather.h
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2022-01-07 16:31:01 (GMT)
committerGitea <gitea@fake.local>2022-01-07 16:31:01 (GMT)
commitadc7909c9823c5cd9fc9888a84e84f9182b9088f (patch)
tree778abfb7792fb7e58e3ec4408c9e56444f383e25 /src/displayapp/screens/Weather.h
parentcfef0131b7b1bb83c81db417c43d6d499594125f (diff)
parent26ae828e393d28390c5ea718bec9d4c1a96435ac (diff)
Merge branch 'develop' of JF/PineTime into master
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 0000000..34f95fc
--- /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();
+ };
+ }
+ }
+}