diff options
author | rtk0c <[email protected]> | 2022-07-07 19:31:19 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2022-07-07 19:31:19 -0700 |
commit | eeed6d84f4324387597be05e6ed1df4b3adfca9c (patch) | |
tree | 039f2ed112d8671001e2ba4d11533ea1406a41b0 /source/30-game/Input.cpp | |
parent | a98b0495a957ed15900c052bcad00b3c48367546 (diff) |
Changeset: 80 Add skeleton for keyboard management GUI in editor
Diffstat (limited to 'source/30-game/Input.cpp')
-rw-r--r-- | source/30-game/Input.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/source/30-game/Input.cpp b/source/30-game/Input.cpp new file mode 100644 index 0000000..9f304ff --- /dev/null +++ b/source/30-game/Input.cpp @@ -0,0 +1,23 @@ +#include "Input.hpp" + +#include <cassert> + +GLFWkeyboard* InputState::FindKeyboard(std::string_view name) { + assert(false); + // TODO +} + +GlfwKeyboardAttachment* InputState::ConnectKeyboard(GLFWkeyboard* keyboard) { + auto attachment = new GlfwKeyboardAttachment(); + glfwSetKeyboardUserPointer(keyboard, attachment); + + return attachment; +} + +void InputState::DisconnectKeyboard(GLFWkeyboard* keyboard) { + InputState::instance->DisconnectKeyboard(keyboard); + auto attachment = static_cast<GlfwKeyboardAttachment*>(glfwGetKeyboardUserPointer(keyboard)); + // Defensive: this GLFWkeyboard* will be deleted after this callback ends anyways + glfwSetKeyboardUserPointer(keyboard, nullptr); + delete attachment; +} |