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. | |
Public Member Functions inherited from yaze::emu::input::IInputBackend | |
| 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().