diff options
Diffstat (limited to 'src/touchhandler')
| -rw-r--r-- | src/touchhandler/TouchHandler.cpp | 9 | ||||
| -rw-r--r-- | src/touchhandler/TouchHandler.h | 22 |
2 files changed, 13 insertions, 18 deletions
diff --git a/src/touchhandler/TouchHandler.cpp b/src/touchhandler/TouchHandler.cpp index d98d2577..b29f951f 100644 --- a/src/touchhandler/TouchHandler.cpp +++ b/src/touchhandler/TouchHandler.cpp @@ -27,18 +27,13 @@ namespace { } } -TouchHandler::TouchHandler(Drivers::Cst816S& touchPanel) : touchPanel {touchPanel} { -} - Pinetime::Applications::TouchEvents TouchHandler::GestureGet() { auto returnGesture = gesture; gesture = Pinetime::Applications::TouchEvents::None; return returnGesture; } -bool TouchHandler::GetNewTouchInfo() { - info = touchPanel.GetTouchInfo(); - +bool TouchHandler::ProcessTouchInfo(Drivers::Cst816S::TouchInfos info) { if (!info.isValid) { return false; } @@ -65,5 +60,7 @@ bool TouchHandler::GetNewTouchInfo() { gestureReleased = true; } + currentTouchPoint = {info.x, info.y, info.touching}; + return true; } diff --git a/src/touchhandler/TouchHandler.h b/src/touchhandler/TouchHandler.h index 9afaa247..a4482255 100644 --- a/src/touchhandler/TouchHandler.h +++ b/src/touchhandler/TouchHandler.h @@ -3,36 +3,34 @@ #include "displayapp/TouchEvents.h" namespace Pinetime { - namespace Drivers { - class Cst816S; - } - namespace Controllers { class TouchHandler { public: - explicit TouchHandler(Drivers::Cst816S&); + struct TouchPoint { + int x; + int y; + bool touching; + }; - bool GetNewTouchInfo(); + bool ProcessTouchInfo(Drivers::Cst816S::TouchInfos info); bool IsTouching() const { - return info.touching; + return currentTouchPoint.touching; } uint8_t GetX() const { - return info.x; + return currentTouchPoint.x; } uint8_t GetY() const { - return info.y; + return currentTouchPoint.y; } Pinetime::Applications::TouchEvents GestureGet(); private: - Pinetime::Drivers::Cst816S::TouchInfos info; - Pinetime::Drivers::Cst816S& touchPanel; Pinetime::Applications::TouchEvents gesture; - bool isCancelled = false; + TouchPoint currentTouchPoint = {}; bool gestureReleased = true; }; } |
