|
@@ -163,6 +163,9 @@ export type MoveInput = {
|
|
|
pageX: number,
|
|
|
pageY: number,
|
|
|
inside: boolean,
|
|
|
+ // Move is subscribed to window element
|
|
|
+ // This indicates that the event originated from the element the InputObserver was created on
|
|
|
+ onElement: boolean
|
|
|
} & BaseInput
|
|
|
|
|
|
export type PinchInput = {
|
|
@@ -202,6 +205,7 @@ type PointerEvent = {
|
|
|
clientY: number
|
|
|
pageX: number
|
|
|
pageY: number
|
|
|
+ target: EventTarget | null
|
|
|
|
|
|
preventDefault?: () => void
|
|
|
}
|
|
@@ -446,7 +450,8 @@ namespace InputObserver {
|
|
|
clientX: (t0.clientX + t1.clientX) / 2,
|
|
|
clientY: (t0.clientY + t1.clientY) / 2,
|
|
|
pageX: (t0.pageX + t1.pageX) / 2,
|
|
|
- pageY: (t0.pageY + t1.pageY) / 2
|
|
|
+ pageY: (t0.pageY + t1.pageY) / 2,
|
|
|
+ target: ev.target
|
|
|
};
|
|
|
}
|
|
|
|
|
@@ -592,7 +597,7 @@ namespace InputObserver {
|
|
|
const { pageX, pageY } = ev;
|
|
|
const [x, y] = pointerEnd;
|
|
|
const inside = insideBounds(pointerEnd);
|
|
|
- move.next({ x, y, pageX, pageY, buttons, button, modifiers: getModifierKeys(), inside });
|
|
|
+ move.next({ x, y, pageX, pageY, buttons, button, modifiers: getModifierKeys(), inside, onElement: ev.target === element });
|
|
|
|
|
|
if (dragging === DraggingState.Stopped) return;
|
|
|
|