All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MouseTapGesture.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "AppInterface.h"
6 #include "WindowsInput.h"
7 
8 namespace Eegeo
9 {
10  namespace Windows
11  {
12  namespace Input
13  {
15  {
16  private:
17  int m_tapDownCount;
18  int m_tapUpCount;
19  int m_currentPointerTrackingStack;
20  float m_tapAnchorX;
21  float m_tapAnchorY;
22  long long m_tapUnixTime;
23 
24  IWindowsInputHandler* m_pTapHandler;
25 
26  void DispatchSingleTap();
27  void DispatchDoubleTap();
28  bool WithinAnchorDeadzone(const MouseInputEvent& event) const;
29  bool IsTapping() const;
30  void Reset();
31  void TrackPointerDown();
32  void TrackPointerUp();
33  bool NoPointerDown() const;
34 
35  public:
37 
38  void PointerDown(const MouseInputEvent& event);
39  void PointerUp(const MouseInputEvent& event);
40  void PointerMove(const MouseInputEvent& event);
41 
42  void Update(float deltaSeconds);
43  };
44  }
45  }
46 }