TurtleBrains  0.2.1
High quality, portable, C++ API for native application and game development.
tb_input_action.h
1 
9 #ifndef _TurtleBrainsUnstable_InputAction_h_
10 #define _TurtleBrainsUnstable_InputAction_h_
11 
12 #include "../application/tb_application_input.h"
13 
14 #include <list>
15 
16 namespace TurtleBrains
17 {
18  namespace Game
19  {
20  namespace Input
21  {
29  bool IsKeyPressed(const tbApplication::Key& key);
30 
38  bool IsKeyReleased(const tbApplication::Key& key);
39 
46  bool IsKeyDown(const tbApplication::Key& key);
47 
55  void GetMousePosition(int* mouseX, int* mouseY);
56 
64  bool GetMouseMovement(int* mouseX, int* mouseY);
65 
73  void SetMousePosition(int mouseX, int mouseY);
74  };
75 
80  {
81  public:
82  InputAction(void);
83  ~InputAction(void);
84 
85  bool IsDown(void) const;
86  bool IsPressed(void) const;
87  bool IsReleased(void) const;
88 
89  void ClearBindings(void);
90  void AddBinding(const tbApplication::Key& keyBinding);
91  void RemoveBinding(const tbApplication::Key& keyBinding);
92 
93  static void UpdateActionOnSimulate(bool onSimulateStep = true);
94 
95  private:
96  typedef std::list<tbApplication::Key> KeyContainer;
97  KeyContainer mKeyBindings;
98  };
99 
100  }; /* namespace Game */
101 }; /* namespace TurtleBrains */
102 
103 namespace tbGame = TurtleBrains::Game;
104 
105 #endif /* _TurtleBrainsUnstable_InputAction_h_ */
Definition: tb_input_action.h:79
Contains all functions, classes and helpers related to game/application development written by Tim "B...
Definition: tb_application_dialog.h:21
Key
Definition: tb_application_input.h:24
This is the heart of TurtleBrains for game developers to create GameScenes and Entities to interact w...