HatchitGame
ht_input_singleton.h
1 
15 #pragma once
16 
17 #include <ht_platform.h>
18 #include <ht_singleton.h>
19 #include <ht_keyboard.h>
20 #include <ht_mouse.h>
21 
22 namespace Hatchit
23 {
24  namespace Game
25  {
26  class HT_API Input : public Core::Singleton<Input>
27  {
28  public:
29  static void Initialize();
30 
31  static void DeInitialize();
32 
33  /*Keyboard*/
34  static bool KeyPressed(IKeyboard::Key key);
35  static bool KeySinglePressed(IKeyboard::Key key);
36  static bool KeyReleased(IKeyboard::Key key);
37 
38  /*Mouse*/
39  static int MouseX();
40  static int MouseY();
41  static int PreviousMouseX();
42  static int PreviousMouseY();
43  static int MouseWheelX();
44  static int MouseWheelY();
45  static int DeltaX(int val);
46  static int DeltaY(int val);
47  static bool MouseButtonPress(MouseButton button);
48  static bool MouseButtonSinglePress(MouseButton button);
49  static bool MouseButtonRelease(MouseButton button);
50 
51  static void Update();
52 
53  static IKeyboard* const Keyboard();
54  static IMouse* const Mouse();
55 
56  private:
57  IKeyboard* m_keyboard;
58  IMouse* m_mouse;
59  };
60  }
61 }
Definition: ht_keyboard.h:23
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_glfwkeyboard.h:21
Definition: ht_mouse.h:30
Definition: ht_input_singleton.h:26