summaryrefslogtreecommitdiff
path: root/src/DisplayApp/DisplayApp.h
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2020-08-20 21:09:45 +0200
committerJF <jf@codingfield.com>2020-08-20 21:09:45 +0200
commit7d3af600bd056e0f4be7d31122cc2dbb352cef70 (patch)
tree80d626e7e1a2bffe4915b1ac53aa10fcd82756b4 /src/DisplayApp/DisplayApp.h
parente6a1aff6cee374d8888d89ec03e604f19a0a450d (diff)
Add TouchModes : in Gestures mode, only 1 event is processed for each touchevent. This allows to recognize gesture and handle them in Screens or in DisplayApp.
In Polling mode, X/Y positions are sent continuously to lvgl, allowing to scroll inside a dropdown menu for example.
Diffstat (limited to 'src/DisplayApp/DisplayApp.h')
-rw-r--r--src/DisplayApp/DisplayApp.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/DisplayApp/DisplayApp.h b/src/DisplayApp/DisplayApp.h
index 478953c8..345e06d4 100644
--- a/src/DisplayApp/DisplayApp.h
+++ b/src/DisplayApp/DisplayApp.h
@@ -34,6 +34,7 @@ namespace Pinetime {
NewNotification, BleFirmwareUpdateStarted };
enum class FullRefreshDirections { None, Up, Down };
+ enum class TouchModes { Gestures, Polling };
DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Drivers::Cst816S &,
Controllers::Battery &batteryController, Controllers::Ble &bleController,
@@ -46,6 +47,8 @@ namespace Pinetime {
void StartApp(Apps app);
void SetFullRefresh(FullRefreshDirections direction);
+ void SetTouchMode(TouchModes mode);
+
private:
TaskHandle_t taskHandle;
static void Process(void* instance);
@@ -81,6 +84,7 @@ namespace Pinetime {
std::unique_ptr<Screens::Modal> modal;
Pinetime::Controllers::NotificationManager& notificationManager;
Pinetime::Controllers::FirmwareValidator validator;
+ TouchModes touchMode = TouchModes::Gestures;
};
}
}