hid/gesture: Add default comparators to Point

Simplifies some comparisons.
This commit is contained in:
Lioncash 2021-05-17 15:04:58 -04:00
parent 60831eabd9
commit 2f1ef3910b
2 changed files with 7 additions and 10 deletions

View file

@ -91,8 +91,7 @@ bool Controller_Gesture::ShouldUpdateGesture(const GestureProperties& gesture,
// Update if coordinates change
for (size_t id = 0; id < MAX_POINTS; id++) {
if (gesture.points[id].x != last_gesture.points[id].x ||
gesture.points[id].y != last_gesture.points[id].y) {
if (gesture.points[id] != last_gesture.points[id]) {
return true;
}
}
@ -179,8 +178,7 @@ void Controller_Gesture::UpdateExistingGesture(GestureProperties& gesture, Touch
// Promote to pan type if touch moved
for (size_t id = 0; id < MAX_POINTS; id++) {
if (gesture.points[id].x != last_gesture.points[id].x ||
gesture.points[id].y != last_gesture.points[id].y) {
if (gesture.points[id] != last_gesture.points[id]) {
type = TouchType::Pan;
break;
}
@ -192,10 +190,7 @@ void Controller_Gesture::UpdateExistingGesture(GestureProperties& gesture, Touch
enable_press_and_tap = false;
gesture.active_points = 0;
gesture.mid_point = {};
for (size_t id = 0; id < MAX_POINTS; id++) {
gesture.points[id].x = 0;
gesture.points[id].y = 0;
}
gesture.points.fill({});
return;
}

View file

@ -64,8 +64,10 @@ private:
static_assert(sizeof(Attribute) == 4, "Attribute is an invalid size");
struct Point {
s32_le x;
s32_le y;
s32_le x{};
s32_le y{};
friend bool operator==(const Point&, const Point&) = default;
};
static_assert(sizeof(Point) == 8, "Point is an invalid size");