aboutsummaryrefslogtreecommitdiffstats
path: root/src/DisplayApp/Screens/Brightness.cpp
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2020-03-15 21:01:24 +0100
committerJF <jf@codingfield.com>2020-03-15 21:01:24 +0100
commit8ed6ffaaf8d0ad681c4f84b89e4a72792edb5a8f (patch)
tree594ce4ca20956b61bd796d8aabb64a1ae78c425e /src/DisplayApp/Screens/Brightness.cpp
parent2c55ab20b4f52d21a04e1d0ee049f7c4ca0196de (diff)
Add the possibility to the screen to handle a touch gesture.
A default action is taken if the current screen doesn't handle it.
Diffstat (limited to 'src/DisplayApp/Screens/Brightness.cpp')
-rw-r--r--src/DisplayApp/Screens/Brightness.cpp20
1 files changed, 20 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()));
+}