diff options
author | JF002 <JF002@users.noreply.github.com> | 2021-08-28 15:06:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-28 15:06:03 +0200 |
commit | 969de9a8bccfa97da29de2eac61be9325dd2fdaa (patch) | |
tree | 820a3bbe74993ff6ce6b7f430d187a397a46f363 /src/touchhandler/TouchHandler.h | |
parent | df8ea7fe523bb9ec0ac3e24f0b1bebe5743d90cc (diff) | |
parent | 85c99797dad39348976d92ecf935536f362ee2c5 (diff) |
Merge pull request #492 from Riksu9000/new_touch_handler
New touch handler
Diffstat (limited to 'src/touchhandler/TouchHandler.h')
-rw-r--r-- | src/touchhandler/TouchHandler.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/touchhandler/TouchHandler.h b/src/touchhandler/TouchHandler.h new file mode 100644 index 00000000..f5442939 --- /dev/null +++ b/src/touchhandler/TouchHandler.h @@ -0,0 +1,45 @@ +#pragma once +#include "drivers/Cst816s.h" +#include "systemtask/SystemTask.h" +#include <FreeRTOS.h> +#include <task.h> + +namespace Pinetime { + namespace Components { + class LittleVgl; + } + namespace Drivers { + class Cst816S; + } + namespace System { + class SystemTask; + } + namespace Controllers { + class TouchHandler { + public: + explicit TouchHandler(Drivers::Cst816S&, Components::LittleVgl&); + void CancelTap(); + bool GetNewTouchInfo(); + void UpdateLvglTouchPoint(); + + bool IsTouching() const { + return info.touching; + } + uint8_t GetX() const { + return info.x; + } + uint8_t GetY() const { + return info.y; + } + Drivers::Cst816S::Gestures GestureGet(); + private: + + Pinetime::Drivers::Cst816S::TouchInfos info; + Pinetime::Drivers::Cst816S& touchPanel; + Pinetime::Components::LittleVgl& lvgl; + Pinetime::Drivers::Cst816S::Gestures gesture; + bool isCancelled = false; + bool gestureReleased = true; + }; + } +} |