From d8b7dcc60f0cfb952fd4619e5a4f2cd8791fd57f Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Tue, 15 Mar 2016 13:19:24 -0700 Subject: [PATCH] Add 'locationX/Y' to recorded Responder events --- src/apis/PanResponder/normalizeNativeEvent.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/apis/PanResponder/normalizeNativeEvent.js b/src/apis/PanResponder/normalizeNativeEvent.js index 884d90ff..7a6e5f05 100644 --- a/src/apis/PanResponder/normalizeNativeEvent.js +++ b/src/apis/PanResponder/normalizeNativeEvent.js @@ -2,10 +2,16 @@ const normalizeTouches = (touches = []) => Array.prototype.slice.call(touches).map((touch) => { const identifier = touch.identifier > 20 ? (touch.identifier % 20) : touch.identifier + const rect = touch.target && touch.target.getBoundingClientRect() + const locationX = touch.pageX - rect.left + const locationY = touch.pageY - rect.top + return { clientX: touch.clientX, clientY: touch.clientY, force: touch.force, + locationX: locationX, + locationY: locationY, identifier: identifier, pageX: touch.pageX, pageY: touch.pageY, @@ -41,9 +47,8 @@ function normalizeTouchEvent(nativeEvent) { event.identifier = changedTouches[0].identifier event.pageX = changedTouches[0].pageX event.pageY = changedTouches[0].pageY - const rect = changedTouches[0].target.getBoundingClientRect() - event.locationX = changedTouches[0].pageX - rect.left - event.locationY = changedTouches[0].pageY - rect.top + event.locationX = changedTouches[0].locationX + event.locationY = changedTouches[0].locationY } return event @@ -54,6 +59,8 @@ function normalizeMouseEvent(nativeEvent) { clientX: nativeEvent.clientX, clientY: nativeEvent.clientY, force: nativeEvent.force, + locationX: nativeEvent.clientX, + locationY: nativeEvent.clientY, identifier: 0, pageX: nativeEvent.pageX, pageY: nativeEvent.pageY,