From 635deb70d4c7b09749d9d7edb9515ede496f7f3e Mon Sep 17 00:00:00 2001
From: CJBok <cjbok@ziggo.nl>
Date: Wed, 15 Jan 2020 11:25:15 +0100
Subject: Moved analog direction logic to sdl_impl

---
 src/input_common/sdl/sdl_impl.cpp | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

(limited to 'src/input_common/sdl/sdl_impl.cpp')

diff --git a/src/input_common/sdl/sdl_impl.cpp b/src/input_common/sdl/sdl_impl.cpp
index d2e9d278fa..a2e0c0bd22 100644
--- a/src/input_common/sdl/sdl_impl.cpp
+++ b/src/input_common/sdl/sdl_impl.cpp
@@ -342,6 +342,22 @@ public:
         return std::make_tuple<float, float>(0.0f, 0.0f);
     }
 
+    bool GetAnalogDirectionStatus(Input::AnalogDirection direction) const override {
+        const auto [x, y] = GetStatus();
+        const float directional_deadzone = 0.4f;
+        switch (direction) {
+        case Input::AnalogDirection::RIGHT:
+            return x > directional_deadzone;
+        case Input::AnalogDirection::LEFT:
+            return x < -directional_deadzone;
+        case Input::AnalogDirection::UP:
+            return y > directional_deadzone;
+        case Input::AnalogDirection::DOWN:
+            return y < -directional_deadzone;
+        }
+        return false;
+    }
+
 private:
     std::shared_ptr<SDLJoystick> joystick;
     const int axis_x;
-- 
cgit v1.2.3-70-g09d2