mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-28 11:49:06 +00:00
ControlGroup/Slider: Return state data by value
Makes it less error-prone to get state data from sliders (no need to pass any locals), and also allows direct assignment, letting the retrieved data be const.
This commit is contained in:
parent
4c30b9e14d
commit
918d448b5b
4 changed files with 25 additions and 25 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue