| // Copyright 2013 The Flutter Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef FLUTTER_SHELL_PLATFORM_GLFW_KEYBOARD_HOOK_HANDLER_H_ | |
| #define FLUTTER_SHELL_PLATFORM_GLFW_KEYBOARD_HOOK_HANDLER_H_ | |
| #include <GLFW/glfw3.h> | |
| #include "flutter/shell/platform/glfw/public/flutter_glfw.h" | |
| namespace flutter { | |
| // Abstract class for handling keyboard input events. | |
| class KeyboardHookHandler { | |
| public: | |
| virtual ~KeyboardHookHandler() = default; | |
| // A function for hooking into keyboard input. | |
| virtual void KeyboardHook(GLFWwindow* window, | |
| int key, | |
| int scancode, | |
| int action, | |
| int mods) = 0; | |
| // A function for hooking into unicode code point input. | |
| virtual void CharHook(GLFWwindow* window, unsigned int code_point) = 0; | |
| }; | |
| } // namespace flutter | |
| #endif // FLUTTER_SHELL_PLATFORM_GLFW_KEYBOARD_HOOK_HANDLER_H_ |