All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
AndroidSdkInputHandler.h
1 // Copyright eeGeo Ltd (2017), All Rights Reserved
2 
3 #pragma once
4 
5 
6 #include "Types.h"
7 #include "IAndroidInputHandler.h"
8 #include "KeyboardInput.h"
9 #include "AppInterface.h"
10 #include "EegeoRootDeclarations.h"
11 
12 #include <vector>
13 #include <ITouchController.h>
14 
15 
16 namespace Eegeo
17 {
18  namespace Input
19  {
21  {
22  public:
23  virtual ~ITouchControllerProxy() {}
24  virtual void SetTouchController(ITouchController* pTouchController) = 0;
25 
26  };
27  }
28 
29  namespace Android
30  {
31  namespace Sdk
32  {
35  private Eegeo::NonCopyable
36  {
37  public:
39 
40  void SetTouchController(ITouchController* pTouchController);
41 
42  void Event_TouchRotate(const AppInterface::RotateData& data);
43  void Event_TouchRotate_Start(const AppInterface::RotateData& data);
44  void Event_TouchRotate_End(const AppInterface::RotateData& data);
45 
46  void Event_TouchPinch(const AppInterface::PinchData& data);
47  void Event_TouchPinch_Start(const AppInterface::PinchData& data);
48  void Event_TouchPinch_End(const AppInterface::PinchData& data);
49 
50  void Event_TouchPan(const AppInterface::PanData& data);
51  void Event_TouchPan_Start(const AppInterface::PanData& data);
52  void Event_TouchPan_End(const AppInterface::PanData& data);
53 
54  void Event_TouchTap(const AppInterface::TapData& data);
55  void Event_TouchDoubleTap(const AppInterface::TapData& data);
56 
57  void Event_TouchDown(const AppInterface::TouchData& data);
58  void Event_TouchMove(const AppInterface::TouchData& data);
59  void Event_TouchUp(const AppInterface::TouchData& data);
60 
61  bool Event_KeyPress(const AppInterface::KeyboardData& data);
62  void AddKeyPressListener(
64  bool RemoveKeyPressListener(
66 
67  float TranslateGlobalXToLocalX(float x);
68  float TranslateGlobalYToLocalY(float y);
69 
70  // ??
71  void SetViewportOffset(float x, float y);
72 
73  private:
74  ITouchController* m_pTouchController;
75 
76  float m_windowOffsetX;
77  float m_windowOffsetY;
78 
79  typedef std::vector<Eegeo::UI::NativeInput::IKeyboardInputKeyPressedHandler*> KeyPressListenerVector;
80 
81  KeyPressListenerVector m_keyPressListeners;
82  };
83  }
84  }
85 }