summaryrefslogtreecommitdiff
path: root/src/managers/input/UnifiedWorkspaceSwipeGesture.hpp
diff options
context:
space:
mode:
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>();