diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/hle/service/hid/controllers/gesture.h | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/src/core/hle/service/hid/controllers/gesture.h b/src/core/hle/service/hid/controllers/gesture.h index eecfeaad5..7e7ae6625 100644 --- a/src/core/hle/service/hid/controllers/gesture.h +++ b/src/core/hle/service/hid/controllers/gesture.h @@ -7,6 +7,7 @@ #include <array> #include "common/bit_field.h" #include "common/common_types.h" +#include "common/point.h" #include "core/frontend/input.h" #include "core/hle/service/hid/controllers/controller_base.h" @@ -63,44 +64,21 @@ private: }; static_assert(sizeof(Attribute) == 4, "Attribute is an invalid size"); - template <typename T> - struct Point { - T x{}; - T y{}; - - friend Point operator+(const Point& lhs, const Point& rhs) { - return { - .x = lhs.x + rhs.x, - .y = lhs.y + rhs.y, - }; - } - - friend Point operator-(const Point& lhs, const Point& rhs) { - return { - .x = lhs.x - rhs.x, - .y = lhs.y - rhs.y, - }; - } - - friend bool operator==(const Point&, const Point&) = default; - }; - static_assert(sizeof(Point<s32_le>) == 8, "Point is an invalid size"); - struct GestureState { s64_le sampling_number; s64_le sampling_number2; s64_le detection_count; TouchType type; Direction direction; - Point<s32_le> pos; - Point<s32_le> delta; + Common::Point<s32_le> pos; + Common::Point<s32_le> delta; f32 vel_x; f32 vel_y; Attribute attributes; f32 scale; f32 rotation_angle; s32_le point_count; - std::array<Point<s32_le>, 4> points; + std::array<Common::Point<s32_le>, 4> points; }; static_assert(sizeof(GestureState) == 0x68, "GestureState is an invalid size"); @@ -111,14 +89,14 @@ private: static_assert(sizeof(SharedMemory) == 0x708, "SharedMemory is an invalid size"); struct Finger { - Point<f32> pos{}; + Common::Point<f32> pos{}; bool pressed{}; }; struct GestureProperties { - std::array<Point<s32_le>, MAX_POINTS> points{}; + std::array<Common::Point<s32_le>, MAX_POINTS> points{}; std::size_t active_points{}; - Point<s32_le> mid_point{}; + Common::Point<s32_le> mid_point{}; s64_le detection_count{}; u64_le delta_time{}; f32 average_distance{}; |