]> git.lizzy.rs Git - dragonblocks3d.git/blob - src/input_handler.hpp
New structure
[dragonblocks3d.git] / src / input_handler.hpp
1 #pragma once
2
3 #include <set>
4 #include "gl.hpp"
5
6 namespace dragonblocks
7 {
8         class Camera;
9         class Window;
10         
11         class InputHandler
12         {
13                 public:
14                 double mouse_sensitivity;
15                 
16                 void processInput(double);
17                 void listenFor(int);
18                 void dontListenFor(int);
19                 bool isKeyDown(int);
20                 bool wasKeyDown(int);
21                 glm::vec2 getCursorDelta();
22                 void setWindow(Window *);
23                 
24                 private:
25                 Window *window;
26                 std::set<int> listened_keys;
27                 std::set<int> is_down;
28                 std::set<int> was_down;
29                 glm::vec2 cursor_delta;
30         };
31 }