SDL2 input backend implementation. More...
Public Member Functions | |
SDL2InputBackend ()=default | |
~SDL2InputBackend () override | |
bool | Initialize (const InputConfig &config) override |
Initialize the input backend. | |
void | Shutdown () override |
Shutdown the input backend. | |
ControllerState | Poll (int player) override |
Poll current input state (call every frame) | |
void | ProcessEvent (void *event) override |
Process platform-specific events (optional) | |
InputConfig | GetConfig () const override |
Get current configuration. | |
void | SetConfig (const InputConfig &config) override |
Update configuration (hot-reload) | |
std::string | GetBackendName () const override |
Get backend name for debugging. | |
bool | IsInitialized () const override |
Check if backend is initialized. | |
![]() | |
virtual | ~IInputBackend ()=default |
Private Member Functions | |
void | UpdateEventState (int keycode, bool pressed) |
Private Attributes | |
InputConfig | config_ |
bool | initialized_ = false |
ControllerState | event_state_ |
SDL2 input backend implementation.
Definition at line 14 of file input_backend.cc.
|
default |
|
inlineoverride |
Definition at line 17 of file input_backend.cc.
References Shutdown().
|
inlineoverridevirtual |
Initialize the input backend.
Implements yaze::emu::input::IInputBackend.
Definition at line 19 of file input_backend.cc.
References config_, initialized_, yaze::emu::input::InputConfig::key_a, yaze::emu::input::InputConfig::key_b, yaze::emu::input::InputConfig::key_down, yaze::emu::input::InputConfig::key_l, yaze::emu::input::InputConfig::key_left, yaze::emu::input::InputConfig::key_r, yaze::emu::input::InputConfig::key_right, yaze::emu::input::InputConfig::key_select, yaze::emu::input::InputConfig::key_start, yaze::emu::input::InputConfig::key_up, yaze::emu::input::InputConfig::key_x, yaze::emu::input::InputConfig::key_y, LOG_INFO, and LOG_WARN.
|
inlineoverridevirtual |
Shutdown the input backend.
Implements yaze::emu::input::IInputBackend.
Definition at line 48 of file input_backend.cc.
References initialized_, and LOG_INFO.
Referenced by ~SDL2InputBackend().
|
inlineoverridevirtual |
Poll current input state (call every frame)
player | Player number (1-4) |
Implements yaze::emu::input::IInputBackend.
Definition at line 55 of file input_backend.cc.
References yaze::emu::input::A, yaze::emu::input::B, config_, yaze::emu::input::InputConfig::continuous_polling, yaze::emu::input::DOWN, event_state_, initialized_, yaze::emu::input::InputConfig::key_a, yaze::emu::input::InputConfig::key_b, yaze::emu::input::InputConfig::key_down, yaze::emu::input::InputConfig::key_l, yaze::emu::input::InputConfig::key_left, yaze::emu::input::InputConfig::key_r, yaze::emu::input::InputConfig::key_right, yaze::emu::input::InputConfig::key_select, yaze::emu::input::InputConfig::key_start, yaze::emu::input::InputConfig::key_up, yaze::emu::input::InputConfig::key_x, yaze::emu::input::InputConfig::key_y, yaze::emu::input::L, yaze::emu::input::LEFT, LOG_DEBUG, yaze::emu::input::R, yaze::emu::input::RIGHT, yaze::emu::input::SELECT, yaze::emu::input::ControllerState::SetButton(), yaze::emu::input::START, yaze::emu::input::UP, yaze::emu::input::X, and yaze::emu::input::Y.
|
inlineoverridevirtual |
Process platform-specific events (optional)
event | Platform-specific event data (e.g., SDL_Event*) |
Implements yaze::emu::input::IInputBackend.
Definition at line 104 of file input_backend.cc.
References initialized_, and UpdateEventState().
|
inlineoverridevirtual |
Get current configuration.
Implements yaze::emu::input::IInputBackend.
Definition at line 119 of file input_backend.cc.
References config_.
|
inlineoverridevirtual |
Update configuration (hot-reload)
Implements yaze::emu::input::IInputBackend.
Definition at line 121 of file input_backend.cc.
References config_.
|
inlineoverridevirtual |
Get backend name for debugging.
Implements yaze::emu::input::IInputBackend.
Definition at line 125 of file input_backend.cc.
|
inlineoverridevirtual |
Check if backend is initialized.
Implements yaze::emu::input::IInputBackend.
Definition at line 127 of file input_backend.cc.
References initialized_.
|
inlineprivate |
Definition at line 130 of file input_backend.cc.
References yaze::emu::input::A, yaze::emu::input::B, config_, yaze::emu::input::DOWN, event_state_, yaze::emu::input::InputConfig::key_a, yaze::emu::input::InputConfig::key_b, yaze::emu::input::InputConfig::key_down, yaze::emu::input::InputConfig::key_l, yaze::emu::input::InputConfig::key_left, yaze::emu::input::InputConfig::key_r, yaze::emu::input::InputConfig::key_right, yaze::emu::input::InputConfig::key_select, yaze::emu::input::InputConfig::key_start, yaze::emu::input::InputConfig::key_up, yaze::emu::input::InputConfig::key_x, yaze::emu::input::InputConfig::key_y, yaze::emu::input::L, yaze::emu::input::LEFT, yaze::emu::input::R, yaze::emu::input::RIGHT, yaze::emu::input::SELECT, yaze::emu::input::ControllerState::SetButton(), yaze::emu::input::START, yaze::emu::input::UP, yaze::emu::input::X, and yaze::emu::input::Y.
Referenced by ProcessEvent().
|
private |
Definition at line 146 of file input_backend.cc.
Referenced by GetConfig(), Initialize(), Poll(), SetConfig(), and UpdateEventState().
|
private |
Definition at line 147 of file input_backend.cc.
Referenced by Initialize(), IsInitialized(), Poll(), ProcessEvent(), and Shutdown().
|
private |
Definition at line 148 of file input_backend.cc.
Referenced by Poll(), and UpdateEventState().