From 0248614add99c1df1bc7c9ff97091f678ff75aca Mon Sep 17 00:00:00 2001
From: Ameer <aj662@drexel.edu>
Date: Sun, 21 Jun 2020 12:36:28 -0400
Subject: GC Adapter Implementation

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

(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 675b477fa3..3c1820c4ae 100644
--- a/src/input_common/sdl/sdl_impl.cpp
+++ b/src/input_common/sdl/sdl_impl.cpp
@@ -49,7 +49,8 @@ static int SDLEventWatcher(void* user_data, SDL_Event* event) {
 class SDLJoystick {
 public:
     SDLJoystick(std::string guid_, int port_, SDL_Joystick* joystick)
-        : guid{std::move(guid_)}, port{port_}, sdl_joystick{joystick, &SDL_JoystickClose} {}
+        : guid{std::move(guid_)}, port{port_}, sdl_joystick{joystick, &SDL_JoystickClose} {
+    }
 
     void SetButton(int button, bool value) {
         std::lock_guard lock{mutex};
@@ -97,6 +98,7 @@ public:
         std::lock_guard lock{mutex};
         return (state.hats.at(hat) & direction) != 0;
     }
+
     /**
      * The guid of the joystick
      */
@@ -125,6 +127,7 @@ private:
         std::unordered_map<int, Sint16> axes;
         std::unordered_map<int, Uint8> hats;
     } state;
+
     std::string guid;
     int port;
     std::unique_ptr<SDL_Joystick, decltype(&SDL_JoystickClose)> sdl_joystick;
@@ -155,7 +158,8 @@ std::shared_ptr<SDLJoystick> SDLState::GetSDLJoystickBySDLID(SDL_JoystickID sdl_
     if (map_it != joystick_map.end()) {
         const auto vec_it =
             std::find_if(map_it->second.begin(), map_it->second.end(),
-                         [&sdl_joystick](const std::shared_ptr<SDLJoystick>& joystick) {
+                         [&sdl_joystick](const std::shared_ptr<SDLJoystick>& joystick)
+                         {
                              return sdl_joystick == joystick->GetSDLJoystick();
                          });
         if (vec_it != map_it->second.end()) {
@@ -166,7 +170,8 @@ std::shared_ptr<SDLJoystick> SDLState::GetSDLJoystickBySDLID(SDL_JoystickID sdl_
 
         // Search for a SDLJoystick without a mapped SDL_Joystick...
         const auto nullptr_it = std::find_if(map_it->second.begin(), map_it->second.end(),
-                                             [](const std::shared_ptr<SDLJoystick>& joystick) {
+                                             [](const std::shared_ptr<SDLJoystick>& joystick)
+                                             {
                                                  return !joystick->GetSDLJoystick();
                                              });
         if (nullptr_it != map_it->second.end()) {
@@ -223,7 +228,8 @@ void SDLState::CloseJoystick(SDL_Joystick* sdl_joystick) {
         const auto& joystick_guid_list = joystick_map[guid];
         const auto joystick_it =
             std::find_if(joystick_guid_list.begin(), joystick_guid_list.end(),
-                         [&sdl_joystick](const std::shared_ptr<SDLJoystick>& joystick) {
+                         [&sdl_joystick](const std::shared_ptr<SDLJoystick>& joystick)
+                         {
                              return joystick->GetSDLJoystick() == sdl_joystick;
                          });
         joystick = *joystick_it;
@@ -279,7 +285,8 @@ void SDLState::CloseJoysticks() {
 class SDLButton final : public Input::ButtonDevice {
 public:
     explicit SDLButton(std::shared_ptr<SDLJoystick> joystick_, int button_)
-        : joystick(std::move(joystick_)), button(button_) {}
+        : joystick(std::move(joystick_)), button(button_) {
+    }
 
     bool GetStatus() const override {
         return joystick->GetButton(button);
@@ -293,7 +300,8 @@ private:
 class SDLDirectionButton final : public Input::ButtonDevice {
 public:
     explicit SDLDirectionButton(std::shared_ptr<SDLJoystick> joystick_, int hat_, Uint8 direction_)
-        : joystick(std::move(joystick_)), hat(hat_), direction(direction_) {}
+        : joystick(std::move(joystick_)), hat(hat_), direction(direction_) {
+    }
 
     bool GetStatus() const override {
         return joystick->GetHatDirection(hat, direction);
@@ -310,7 +318,8 @@ public:
     explicit SDLAxisButton(std::shared_ptr<SDLJoystick> joystick_, int axis_, float threshold_,
                            bool trigger_if_greater_)
         : joystick(std::move(joystick_)), axis(axis_), threshold(threshold_),
-          trigger_if_greater(trigger_if_greater_) {}
+          trigger_if_greater(trigger_if_greater_) {
+    }
 
     bool GetStatus() const override {
         const float axis_value = joystick->GetAxis(axis);
@@ -330,7 +339,8 @@ private:
 class SDLAnalog final : public Input::AnalogDevice {
 public:
     SDLAnalog(std::shared_ptr<SDLJoystick> joystick_, int axis_x_, int axis_y_, float deadzone_)
-        : joystick(std::move(joystick_)), axis_x(axis_x_), axis_y(axis_y_), deadzone(deadzone_) {}
+        : joystick(std::move(joystick_)), axis_x(axis_x_), axis_y(axis_y_), deadzone(deadzone_) {
+    }
 
     std::tuple<float, float> GetStatus() const override {
         const auto [x, y] = joystick->GetAnalog(axis_x, axis_y);
@@ -368,7 +378,9 @@ private:
 /// A button device factory that creates button devices from SDL joystick
 class SDLButtonFactory final : public Input::Factory<Input::ButtonDevice> {
 public:
-    explicit SDLButtonFactory(SDLState& state_) : state(state_) {}
+    explicit SDLButtonFactory(SDLState& state_)
+        : state(state_) {
+    }
 
     /**
      * Creates a button device from a joystick button
@@ -443,7 +455,10 @@ private:
 /// An analog device factory that creates analog devices from SDL joystick
 class SDLAnalogFactory final : public Input::Factory<Input::AnalogDevice> {
 public:
-    explicit SDLAnalogFactory(SDLState& state_) : state(state_) {}
+    explicit SDLAnalogFactory(SDLState& state_)
+        : state(state_) {
+    }
+
     /**
      * Creates analog device from joystick axes
      * @param params contains parameters for creating the device:
@@ -490,7 +505,8 @@ SDLState::SDLState() {
 
     initialized = true;
     if (start_thread) {
-        poll_thread = std::thread([this] {
+        poll_thread = std::thread([this]
+        {
             using namespace std::chrono_literals;
             while (initialized) {
                 SDL_PumpEvents();
@@ -576,7 +592,9 @@ namespace Polling {
 
 class SDLPoller : public InputCommon::Polling::DevicePoller {
 public:
-    explicit SDLPoller(SDLState& state_) : state(state_) {}
+    explicit SDLPoller(SDLState& state_)
+        : state(state_) {
+    }
 
     void Start() override {
         state.event_queue.Clear();
@@ -593,7 +611,9 @@ protected:
 
 class SDLButtonPoller final : public SDLPoller {
 public:
-    explicit SDLButtonPoller(SDLState& state_) : SDLPoller(state_) {}
+    explicit SDLButtonPoller(SDLState& state_)
+        : SDLPoller(state_) {
+    }
 
     Common::ParamPackage GetNextInput() override {
         SDL_Event event;
@@ -602,8 +622,7 @@ public:
             case SDL_JOYAXISMOTION:
                 if (std::abs(event.jaxis.value / 32767.0) < 0.5) {
                     break;
-                }
-                [[fallthrough]];
+                }[[fallthrough]];
             case SDL_JOYBUTTONUP:
             case SDL_JOYHATMOTION:
                 return SDLEventToButtonParamPackage(state, event);
@@ -615,7 +634,9 @@ public:
 
 class SDLAnalogPoller final : public SDLPoller {
 public:
-    explicit SDLAnalogPoller(SDLState& state_) : SDLPoller(state_) {}
+    explicit SDLAnalogPoller(SDLState& state_)
+        : SDLPoller(state_) {
+    }
 
     void Start() override {
         SDLPoller::Start();
-- 
cgit v1.2.3-70-g09d2