File tree Expand file tree Collapse file tree 2 files changed +53
-0
lines changed Expand file tree Collapse file tree 2 files changed +53
-0
lines changed Original file line number Diff line number Diff line change 13
13
14
14
var SyntheticUIEvent = require ( 'SyntheticUIEvent' ) ;
15
15
var ViewportMetrics = require ( 'ViewportMetrics' ) ;
16
+ var MouseMetrics = require ( 'MouseMetrics' ) ;
16
17
17
18
var getEventModifierState = require ( 'getEventModifierState' ) ;
18
19
@@ -63,6 +64,28 @@ var MouseEventInterface = {
63
64
event . pageY :
64
65
event . clientY + ViewportMetrics . currentScrollTop ;
65
66
} ,
67
+ movementX : function ( event ) {
68
+ if ( 'movementX' in event ) {
69
+ return event . movementX ;
70
+ }
71
+ var previousScreenX = MouseMetrics . previousScreenX ;
72
+ MouseMetrics . setPreviousScreenX ( event . screenX ) ;
73
+ if ( previousScreenX === null ) {
74
+ return 0 ;
75
+ }
76
+ return event . screenX - previousScreenX ;
77
+ } ,
78
+ movementY : function ( event ) {
79
+ if ( 'movementY' in event ) {
80
+ return event . movementY ;
81
+ }
82
+ var previousScreenY = MouseMetrics . previousScreenY ;
83
+ MouseMetrics . setPreviousScreenY ( event . screenY ) ;
84
+ if ( previousScreenY === null ) {
85
+ return 0 ;
86
+ }
87
+ return event . screenY - previousScreenY ;
88
+ } ,
66
89
} ;
67
90
68
91
/**
Original file line number Diff line number Diff line change
1
+ /**
2
+ * Copyright 2013-present, Facebook, Inc.
3
+ * All rights reserved.
4
+ *
5
+ * This source code is licensed under the BSD-style license found in the
6
+ * LICENSE file in the root directory of this source tree. An additional grant
7
+ * of patent rights can be found in the PATENTS file in the same directory.
8
+ *
9
+ * @providesModule MouseMetrics
10
+ */
11
+
12
+ 'use strict' ;
13
+
14
+ var MouseMetrics = {
15
+
16
+ previousScreenX : null ,
17
+
18
+ previousScreenY : null ,
19
+
20
+ setPreviousScreenX : function ( value ) {
21
+ MouseMetrics . previousScreenX = value ;
22
+ } ,
23
+
24
+ setPreviousScreenY : function ( value ) {
25
+ MouseMetrics . previousScreenY = value ;
26
+ } ,
27
+
28
+ } ;
29
+
30
+ module . exports = MouseMetrics ;
You can’t perform that action at this time.
0 commit comments