InputAdapter.ixx File
Abstract interface for platform-specific input adapters. More...
Included Headers
#include <bit>
#include <memory>
#include <array>
#include <utility>
#include <helios.input.gamepad.DeadzoneStrategy>
#include <helios.input.gamepad.GamepadSettings>
#include <helios.util.log.LogManager>
#include <helios.util.log.Logger>
#include <helios.window.Window>
#include <helios.input.types.Key>
#include <helios.input.gamepad.GamepadState>
#include <helios.input.types.Gamepad>
Namespaces Index
| namespace | helios |
| namespace | input |
|
Input handling and management. More... | |
Classes Index
| class | InputAdapter |
|
Abstract interface for platform-specific input adapters. More... | |
Macro Definitions Index
| #define | HELIOS_LOG_SCOPE "helios::input::InputAdapter" |
Description
Abstract interface for platform-specific input adapters.
Macro Definitions
HELIOS_LOG_SCOPE
|
Definition at line 23 of file InputAdapter.ixx.
23#define HELIOS_LOG_SCOPE "helios::input::InputAdapter"
File Listing
The file content with the documentation metadata removed is:
23#define HELIOS_LOG_SCOPE "helios::input::InputAdapter"
24export namespace helios::input {
40 class InputAdapter {
46 inline static const helios::util::log::Logger& logger_ = helios::util::log::LogManager::loggerForScope(HELIOS_LOG_SCOPE);
54 std::unique_ptr<helios::input::gamepad::DeadzoneStrategy> deadzoneStrategy_;
62 std::array<helios::input::gamepad::GamepadSettings, std::to_underlying(helios::input::types::Gamepad::size_)> gamepadSettings_ = {};
70 virtual ~InputAdapter() = default;
78 explicit InputAdapter(std::unique_ptr<helios::input::gamepad::DeadzoneStrategy> deadzoneStrategy) :
79 deadzoneStrategy_(std::move(deadzoneStrategy))
90 [[nodiscard]] virtual bool isKeyPressed(
91 helios::input::types::Key key,
92 const helios::window::Window& win) const noexcept = 0;
102 [[nodiscard]] virtual bool isKeyReleased(
103 helios::input::types::Key key,
104 const helios::window::Window& win) const noexcept = 0;
115 [[nodiscard]] virtual bool isConnected(helios::input::types::Gamepad gamepadId) const noexcept = 0;
131 virtual void updateGamepadState(unsigned int gamepadMask) noexcept = 0;
152 [[nodiscard]] virtual const helios::input::gamepad::GamepadState& gamepadState(
153 helios::input::types::Gamepad gamepadId) const noexcept = 0;
170 [[nodiscard]] helios::input::gamepad::GamepadSettings& gamepadSettings(helios::input::types::Gamepad gamepadId) noexcept {
174 return gamepadSettings_[idx];
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.