/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ #pragma once #include "../../Base/ITickable.hpp" #include "../../Input/InputDeviceKeyboard.hpp" #include "../../Input/InputDeviceMouse.hpp" #include "../../Input/InputDeviceController.hpp" namespace openVulkanoCpp::GLFW { class KeyboardGLFW final : public Input::InputDeviceKeyboard { public: KeyboardGLFW() = default; ~KeyboardGLFW() override = default; using Input::InputDeviceKeyboard::Init; using Input::InputDeviceKeyboard::PreTick; using Input::InputDeviceKeyboard::UpdateKey; using Input::InputDeviceKeyboard::UpdateActiveWindow; }; class MouseGLFW final : public Input::InputDeviceMouse { public: MouseGLFW() = default; ~MouseGLFW() override = default; using Input::InputDeviceMouse::Init; using Input::InputDeviceMouse::ClearAxes; using Input::InputDeviceMouse::UpdateButtons; using Input::InputDeviceMouse::UpdatePosition; using Input::InputDeviceMouse::UpdateWheel; using Input::InputDeviceMouse::UpdateActiveWindow; }; class ControllerGLFW final : public Input::InputDeviceController, public ITickable { bool gamepad = false;; public: ControllerGLFW() = default; ~ControllerGLFW() override = default; void Init(int joystickId); void Tick() override; }; }