Skip to content

Commit 5846054

Browse files
authored
[Web] Simplify PointerTracker methods (#3139)
## Description This PR simplifies some methods found in `PointerTracker`. I've also found a little bug which was not caught because of how `tracker` worked before. ## Test plan Verified on example app (mostly `Draggable`/`Double Draggable` examples)
1 parent ca0d63e commit 5846054

File tree

2 files changed

+7
-35
lines changed

2 files changed

+7
-35
lines changed

src/web/tools/GestureHandlerOrchestrator.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -343,13 +343,7 @@ export default class GestureHandlerOrchestrator {
343343
);
344344
};
345345

346-
const handlerPointers: number[] = handler.getTrackedPointersID();
347-
const otherPointers: number[] = otherHandler.getTrackedPointersID();
348-
349-
return (
350-
handlerPointers.some(isPointerWithinBothBounds) ||
351-
otherPointers.some(isPointerWithinBothBounds)
352-
);
346+
return handler.getTrackedPointersID().some(isPointerWithinBothBounds);
353347
}
354348

355349
private isFinished(state: State): boolean {

src/web/tools/PointerTracker.ts

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ export default class PointerTracker {
2222

2323
private lastMovedPointerId: number;
2424

25-
private cachedAbsoluteAverages: { x: number; y: number } = { x: 0, y: 0 };
26-
private cachedRelativeAverages: { x: number; y: number } = { x: 0, y: 0 };
25+
private cachedAbsoluteAverages: Point = { x: 0, y: 0 };
26+
private cachedRelativeAverages: Point = { x: 0, y: 0 };
2727

2828
public constructor() {
2929
this.lastMovedPointerId = NaN;
@@ -121,35 +121,13 @@ export default class PointerTracker {
121121
}
122122

123123
public getLastAbsoluteCoords(pointerId?: number) {
124-
if (pointerId !== undefined) {
125-
return {
126-
x: this.trackedPointers.get(pointerId)?.abosoluteCoords.x as number,
127-
y: this.trackedPointers.get(pointerId)?.abosoluteCoords.y as number,
128-
};
129-
} else {
130-
return {
131-
x: this.trackedPointers.get(this.lastMovedPointerId)?.abosoluteCoords
132-
.x as number,
133-
y: this.trackedPointers.get(this.lastMovedPointerId)?.abosoluteCoords
134-
.y as number,
135-
};
136-
}
124+
return this.trackedPointers.get(pointerId ?? this.lastMovedPointerId)
125+
?.abosoluteCoords as Point;
137126
}
138127

139128
public getLastRelativeCoords(pointerId?: number) {
140-
if (pointerId !== undefined) {
141-
return {
142-
x: this.trackedPointers.get(pointerId)?.relativeCoords.x as number,
143-
y: this.trackedPointers.get(pointerId)?.relativeCoords.y as number,
144-
};
145-
} else {
146-
return {
147-
x: this.trackedPointers.get(this.lastMovedPointerId)?.relativeCoords
148-
.x as number,
149-
y: this.trackedPointers.get(this.lastMovedPointerId)?.relativeCoords
150-
.y as number,
151-
};
152-
}
129+
return this.trackedPointers.get(pointerId ?? this.lastMovedPointerId)
130+
?.relativeCoords as Point;
153131
}
154132

155133
// Some handlers use these methods to send average values in native event.

0 commit comments

Comments
 (0)