diff options
| author | Jordan Woyak <jordan.woyak@gmail.com> | 2024-11-02 17:14:49 -0500 |
|---|---|---|
| committer | Jordan Woyak <jordan.woyak@gmail.com> | 2024-11-03 15:06:50 -0600 |
| commit | 346a9e0f97d4e17abb237a638896ef43db30488f (patch) | |
| tree | e303d6d9310459c823ae094fd63110b6da1777c9 /Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp | |
| parent | 2f1390e9f9706a3c5c0bc46df17006ddf98d4cec (diff) | |
InputCommon: Move FullAnalogSurface class definition out of header file.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp | 56 |
1 files changed, 30 insertions, 26 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp b/Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp index cfced12e80..377ea4444f 100644 --- a/Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp +++ b/Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp @@ -130,39 +130,43 @@ bool Device::Control::IsHidden() const return false; } -ControlState Device::FullAnalogSurface::GetState() const +class FullAnalogSurface final : public Device::Input { - return (1 + std::max(0.0, m_high.GetState()) - std::max(0.0, m_low.GetState())) / 2; -} +public: + FullAnalogSurface(Input* low, Input* high) : m_low(*low), m_high(*high) {} -std::string Device::FullAnalogSurface::GetName() const -{ - // E.g. "Full Axis X+" - return "Full " + m_high.GetName(); -} + ControlState GetState() const override + { + return (1 + std::max(0.0, m_high.GetState()) - std::max(0.0, m_low.GetState())) / 2; + } -bool Device::FullAnalogSurface::IsDetectable() const -{ - return m_low.IsDetectable() && m_high.IsDetectable(); -} + std::string GetName() const override + { + // E.g. "Full Axis X+" + return "Full " + m_high.GetName(); + } -bool Device::FullAnalogSurface::IsHidden() const -{ - return m_low.IsHidden() && m_high.IsHidden(); -} + bool IsDetectable() const override { return m_low.IsDetectable() && m_high.IsDetectable(); } -bool Device::FullAnalogSurface::IsMatchingName(std::string_view name) const -{ - if (Control::IsMatchingName(name)) - return true; + bool IsHidden() const override { return m_low.IsHidden() && m_high.IsHidden(); } - // Old naming scheme was "Axis X-+" which is too visually similar to "Axis X+". - // This has caused countless problems for users with mysterious misconfigurations. - // We match this old name to support old configurations. - const auto old_name = m_low.GetName() + *m_high.GetName().rbegin(); + bool IsMatchingName(std::string_view name) const override + { + if (Control::IsMatchingName(name)) + return true; - return old_name == name; -} + // Old naming scheme was "Axis X-+" which is too visually similar to "Axis X+". + // This has caused countless problems for users with mysterious misconfigurations. + // We match this old name to support old configurations. + const auto old_name = m_low.GetName() + *m_high.GetName().rbegin(); + + return old_name == name; + } + +private: + Input& m_low; + Input& m_high; +}; void Device::AddFullAnalogSurfaceInputs(Input* low, Input* high) { |
