diff --git a/src/kekengine/cpp/engine.cpp b/src/kekengine/cpp/engine.cpp index 1f0fece..ca23d75 100644 --- a/src/kekengine/cpp/engine.cpp +++ b/src/kekengine/cpp/engine.cpp @@ -51,6 +51,16 @@ void onCursorPosCallback(GLFWwindow *window, double x, double y) { kekData.activeCamera->rotateYaw(xoff); kekData.activeCamera->rotatePitch(yoff); + + for(std::pair cb : kekData.mouseCallbacks) { + cb.second(window, x, y); + } +} + +void onKeyCallback(GLFWwindow *window, int key, int scancode, int action, int mods) { + for(std::pair cb : kekData.keyCallbacks) { + cb.second(window, key, scancode, action, mods); + } } int init() { diff --git a/src/kekengine/include/input.h b/src/kekengine/include/input.h index a2b3d38..d22afa7 100644 --- a/src/kekengine/include/input.h +++ b/src/kekengine/include/input.h @@ -6,9 +6,9 @@ namespace kek { -typedef generic_callable_t PeriodicCallback; -typedef generic_callable_t KeyCallback; -typedef generic_callable_t MouseCallback; +typedef generic_callable_t PeriodicCallback; // periodicCallback(GLFWwindow *window) +typedef generic_callable_t KeyCallback; // keyCallback(GLFWwindow *window, int key, int scancode, int action, int mods) +typedef generic_callable_t MouseCallback; // mouseCallback(GLFWwindow *window, double x, double y) typedef unsigned int InputListener;