]> git.lizzy.rs Git - dragonblocks3d.git/blobdiff - src/dragonblocks/input_handler.hpp
Added player, refactored mesh code
[dragonblocks3d.git] / src / dragonblocks / input_handler.hpp
index a54f1adfadb115aa4d4d4c0d268fdd7573b636b8..bf4d4e94be922dd9893ea68bf65e977beb57fa39 100644 (file)
@@ -12,23 +12,24 @@ namespace dragonblocks
        {
                public:
                void processInput(double);
-               void processMouseInput(double);
-               void processKeyInput(double);
-               void onMouseMove(double, double, double);
-               void onKeyPress(double, std::set<int>);
                void listenFor(int);
                void dontListenFor(int);
+               void addMouseHandler(void (*)(double, double, double));
+               void removeMouseHandler(void (*)(double, double, double));
+               void addKeyHandler(void (*)(double, std::set<int>));
+               void removeKeyHandler(void (*)(double, std::set<int>));
                
-               bool pitch_move;
                double mouse_sensitivity;               
-               double yaw, pitch;
-               double speed;
+
+               InputHandler(Window *);
                
-               InputHandler(Camera *, Window *);
+               private:
+               void processMouseInput(double);
+               void processKeyInput(double);
                
-               private:                
-               Camera *camera;
                Window *window;
                std::set<int> listened_keys;
+               std::set<void (*)(double, double, double)> mouse_handlers;
+               std::set<void (*)(double, std::set<int>)> key_handlers;
        };
 }