diff options
| author | Lioncash <mathew1800@gmail.com> | 2021-05-28 07:58:55 -0400 | 
|---|---|---|
| committer | Lioncash <mathew1800@gmail.com> | 2021-05-28 08:15:22 -0400 | 
| commit | 5554de39332cb2647406a3159b5fefc409affb54 (patch) | |
| tree | a9a4b703288693a847df0e6c3d18e3618107b80d /src/core | |
| parent | 8171ad65cd9f170dd9f72d1256415ebd34979d36 (diff) | |
touchscreen: Make use of common point struct
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/service/hid/controllers/touchscreen.cpp | 13 | ||||
| -rw-r--r-- | src/core/hle/service/hid/controllers/touchscreen.h | 7 | 
2 files changed, 10 insertions, 10 deletions
| diff --git a/src/core/hle/service/hid/controllers/touchscreen.cpp b/src/core/hle/service/hid/controllers/touchscreen.cpp index ac9112c40..6ef17acc5 100644 --- a/src/core/hle/service/hid/controllers/touchscreen.cpp +++ b/src/core/hle/service/hid/controllers/touchscreen.cpp @@ -74,8 +74,11 @@ void Controller_Touchscreen::OnUpdate(const Core::Timing::CoreTiming& core_timin      for (std::size_t id = 0; id < MAX_FINGERS; ++id) {          auto& touch_entry = cur_entry.states[id];          if (id < active_fingers_count) { -            touch_entry.x = static_cast<u16>(active_fingers[id].x * Layout::ScreenUndocked::Width); -            touch_entry.y = static_cast<u16>(active_fingers[id].y * Layout::ScreenUndocked::Height); +            const auto& [active_x, active_y] = active_fingers[id].position; +            touch_entry.position = { +                .x = static_cast<u16>(active_x * Layout::ScreenUndocked::Width), +                .y = static_cast<u16>(active_y * Layout::ScreenUndocked::Height), +            };              touch_entry.diameter_x = Settings::values.touchscreen.diameter_x;              touch_entry.diameter_y = Settings::values.touchscreen.diameter_y;              touch_entry.rotation_angle = Settings::values.touchscreen.rotation_angle; @@ -86,8 +89,7 @@ void Controller_Touchscreen::OnUpdate(const Core::Timing::CoreTiming& core_timin          } else {              // Clear touch entry              touch_entry.attribute.raw = 0; -            touch_entry.x = 0; -            touch_entry.y = 0; +            touch_entry.position = {};              touch_entry.diameter_x = 0;              touch_entry.diameter_y = 0;              touch_entry.rotation_angle = 0; @@ -140,8 +142,7 @@ std::size_t Controller_Touchscreen::UpdateTouchInputEvent(              fingers[finger_id].id = static_cast<u32_le>(finger_id);              attribute.start_touch.Assign(1);          } -        fingers[finger_id].x = x; -        fingers[finger_id].y = y; +        fingers[finger_id].position = {x, y};          fingers[finger_id].attribute = attribute;          return finger_id;      } diff --git a/src/core/hle/service/hid/controllers/touchscreen.h b/src/core/hle/service/hid/controllers/touchscreen.h index 2869d0cfd..ef2becefd 100644 --- a/src/core/hle/service/hid/controllers/touchscreen.h +++ b/src/core/hle/service/hid/controllers/touchscreen.h @@ -7,6 +7,7 @@  #include "common/bit_field.h"  #include "common/common_funcs.h"  #include "common/common_types.h" +#include "common/point.h"  #include "common/swap.h"  #include "core/frontend/input.h"  #include "core/hle/service/hid/controllers/controller_base.h" @@ -55,8 +56,7 @@ private:          u64_le delta_time;          Attributes attribute;          u32_le finger; -        u32_le x; -        u32_le y; +        Common::Point<u32_le> position;          u32_le diameter_x;          u32_le diameter_y;          u32_le rotation_angle; @@ -81,8 +81,7 @@ private:      struct Finger {          u64_le last_touch{}; -        float x{}; -        float y{}; +        Common::Point<float> position;          u32_le id{};          bool pressed{};          Attributes attribute; | 
