diff options
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup')
| -rw-r--r-- | Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.cpp | 8 | ||||
| -rw-r--r-- | Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.h | 7 |
2 files changed, 10 insertions, 5 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.cpp b/Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.cpp index 6784f6e24e..f7e20dc386 100644 --- a/Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.cpp +++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.cpp @@ -30,14 +30,14 @@ Slider::Slider(const std::string& name_) : Slider(name_, name_) { } -void Slider::GetState(ControlState* const slider) +Slider::StateData Slider::GetState() { const ControlState deadzone = numeric_settings[0]->GetValue(); const ControlState state = controls[1]->control_ref->State() - controls[0]->control_ref->State(); if (fabs(state) > deadzone) - *slider = (state - (deadzone * sign(state))) / (1 - deadzone); - else - *slider = 0; + return {(state - (deadzone * sign(state))) / (1 - deadzone)}; + + return {0.0}; } } // namespace ControllerEmu diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.h b/Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.h index fb038cd931..8142415a8f 100644 --- a/Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.h +++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.h @@ -13,9 +13,14 @@ namespace ControllerEmu class Slider : public ControlGroup { public: + struct StateData + { + ControlState value{}; + }; + Slider(const std::string& name_, const std::string& ui_name_); explicit Slider(const std::string& name_); - void GetState(ControlState* slider); + StateData GetState(); }; } // namespace ControllerEmu |
