summaryrefslogtreecommitdiff
path: root/src/managers/input/UnifiedWorkspaceSwipeGesture.hpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2025-08-28 11:20:29 +0200
committerGitHub <noreply@github.com>2025-08-28 11:20:29 +0200
commit81bf4eccba449bfe2b6adfb51260108aec710d4f (patch)
tree215c5b536cbcf1df9888081aadd3de16eb4b3ebe /src/managers/input/UnifiedWorkspaceSwipeGesture.hpp
parent378e130f1426648d8d734049800128f9882805bf (diff)
input: Add fully configurable trackpad gestures (#11490)
Adds configurable trackpad gestures
Diffstat (limited to 'src/managers/input/UnifiedWorkspaceSwipeGesture.hpp')
-rw-r--r--src/managers/input/UnifiedWorkspaceSwipeGesture.hpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/managers/input/UnifiedWorkspaceSwipeGesture.hpp b/src/managers/input/UnifiedWorkspaceSwipeGesture.hpp
new file mode 100644
index 00000000..4dbb6c5d
--- /dev/null
+++ b/src/managers/input/UnifiedWorkspaceSwipeGesture.hpp
@@ -0,0 +1,28 @@
+#pragma once
+
+#include "../../helpers/memory/Memory.hpp"
+#include "../../desktop/DesktopTypes.hpp"
+
+class CUnifiedWorkspaceSwipeGesture {
+ public:
+ void begin();
+ void update(double delta);
+ void end();
+
+ bool isGestureInProgress();
+
+ private:
+ PHLWORKSPACE m_workspaceBegin = nullptr;
+ PHLMONITORREF m_monitor;
+
+ double m_delta = 0;
+ int m_initialDirection = 0;
+ float m_avgSpeed = 0;
+ int m_speedPoints = 0;
+ int m_touchID = 0;
+
+ friend class CWorkspaceSwipeGesture;
+ friend class CInputManager;
+};
+
+inline UP<CUnifiedWorkspaceSwipeGesture> g_pUnifiedWorkspaceSwipe = makeUnique<CUnifiedWorkspaceSwipeGesture>();