summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerEmu/ControlGroup
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup')
-rw-r--r--Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.cpp8
-rw-r--r--Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.h7
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