summaryrefslogtreecommitdiff
path: root/src/DisplayApp/Screens
diff options
context:
space:
mode:
Diffstat (limited to 'src/DisplayApp/Screens')
-rw-r--r--src/DisplayApp/Screens/Brightness.cpp20
-rw-r--r--src/DisplayApp/Screens/Brightness.h2
-rw-r--r--src/DisplayApp/Screens/Screen.h4
3 files changed, 26 insertions, 0 deletions
diff --git a/src/DisplayApp/Screens/Brightness.cpp b/src/DisplayApp/Screens/Brightness.cpp
index a87a62a8..9e3416c0 100644
--- a/src/DisplayApp/Screens/Brightness.cpp
+++ b/src/DisplayApp/Screens/Brightness.cpp
@@ -70,3 +70,23 @@ uint8_t Brightness::LevelToInt(Pinetime::Controllers::BrightnessController::Leve
default : return 0;
}
}
+
+bool Brightness::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
+ switch(event) {
+ case TouchEvents::SwipeLeft:
+ brightness.Lower();
+ SetValue();
+ return true;
+ case TouchEvents::SwipeRight:
+ brightness.Higher();
+ SetValue();
+ return true;
+ default:
+ return false;
+ }
+}
+
+void Brightness::SetValue() {
+ lv_slider_set_value(slider, LevelToInt(brightness.Level()), LV_ANIM_OFF);
+ lv_label_set_text(slider_label, LevelToString(brightness.Level()));
+}
diff --git a/src/DisplayApp/Screens/Brightness.h b/src/DisplayApp/Screens/Brightness.h
index 31861f8a..37cbcd7e 100644
--- a/src/DisplayApp/Screens/Brightness.h
+++ b/src/DisplayApp/Screens/Brightness.h
@@ -13,6 +13,7 @@ namespace Pinetime {
~Brightness() override;
bool Refresh() override;
bool OnButtonPushed() override;
+ bool OnTouchEvent(TouchEvents event) override;
void OnValueChanged();
private:
@@ -25,6 +26,7 @@ namespace Pinetime {
const char* LevelToString(Controllers::BrightnessController::Levels level);
uint8_t LevelToInt(Controllers::BrightnessController::Levels level);
void SetValue(uint8_t value);
+ void SetValue();
};
}
}
diff --git a/src/DisplayApp/Screens/Screen.h b/src/DisplayApp/Screens/Screen.h
index 6cbd41ad..d8902317 100644
--- a/src/DisplayApp/Screens/Screen.h
+++ b/src/DisplayApp/Screens/Screen.h
@@ -1,4 +1,5 @@
#pragma once
+#include "../TouchEvents.h"
namespace Pinetime {
namespace Applications {
@@ -15,6 +16,9 @@ namespace Pinetime {
// Return false if the button hasn't been handled by the app, true if it has been handled
virtual bool OnButtonPushed() { return false; }
+ // Return false if the event hasn't been handled by the app, true if it has been handled
+ virtual bool OnTouchEvent(TouchEvents event) { return false; }
+
protected:
DisplayApp* app;
};