Let TouchHandler return TouchEvents instead of driver specific enum

Let the TouchHandler::GestureGet() function return a TouchEvent instead
of the touchpanel-driver specific enum.

This helps to move the driver specific helper function `ConvertGesture`
from `DisplayApp` into `TouchHandler`.
This commit is contained in:
Reinhold Gschweicher
2022-01-16 23:37:15 +01:00
committed by JF
parent b498e1d633
commit 2607c3d799
4 changed files with 42 additions and 33 deletions

View File

@@ -60,28 +60,6 @@ namespace {
static inline bool in_isr(void) {
return (SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk) != 0;
}
TouchEvents ConvertGesture(Pinetime::Drivers::Cst816S::Gestures gesture) {
switch (gesture) {
case Pinetime::Drivers::Cst816S::Gestures::SingleTap:
return TouchEvents::Tap;
case Pinetime::Drivers::Cst816S::Gestures::LongPress:
return TouchEvents::LongTap;
case Pinetime::Drivers::Cst816S::Gestures::DoubleTap:
return TouchEvents::DoubleTap;
case Pinetime::Drivers::Cst816S::Gestures::SlideRight:
return TouchEvents::SwipeRight;
case Pinetime::Drivers::Cst816S::Gestures::SlideLeft:
return TouchEvents::SwipeLeft;
case Pinetime::Drivers::Cst816S::Gestures::SlideDown:
return TouchEvents::SwipeDown;
case Pinetime::Drivers::Cst816S::Gestures::SlideUp:
return TouchEvents::SwipeUp;
case Pinetime::Drivers::Cst816S::Gestures::None:
default:
return TouchEvents::None;
}
}
}
DisplayApp::DisplayApp(Drivers::St7789& lcd,
@@ -227,7 +205,7 @@ void DisplayApp::Refresh() {
if (state != States::Running) {
break;
}
auto gesture = ConvertGesture(touchHandler.GestureGet());
auto gesture = touchHandler.GestureGet();
if (gesture == TouchEvents::None) {
break;
}