Add the possibility to the screen to handle a touch gesture.

A default action is taken if the current screen doesn't handle it.
This commit is contained in:
JF
2020-03-15 21:01:24 +01:00
parent 2c55ab20b4
commit 8ed6ffaaf8
7 changed files with 61 additions and 25 deletions

View File

@@ -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()));
}