aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Croteau <jcroteau@gmail.com>2014-02-21 01:45:04 -0800
committerJoel Croteau <jcroteau@gmail.com>2014-02-21 01:45:04 -0800
commita0f9597f9192c1437552b9b94a19f47dd8124861 (patch)
tree3a4315305872a681ddbaf16d1026c57ba6b991e7
parent7ead20ea09f187b9c46709d299154be166d44281 (diff)
Squashed commit of the following:
commit e2a8165560c7ec6be2d5650e0a3c6a4b520d1f56 Author: Joel Croteau <jcroteau@gmail.com> Date: Fri Feb 21 01:40:50 2014 -0800 Fix indentation in fillMouseEventData commit a5d620164e2ab7cb7ba61803c1eedb53f888f4cb Author: Joel Croteau <jcroteau@gmail.com> Date: Thu Feb 20 23:56:01 2014 -0800 Remove dependency on Browser.getMovementX/Y commit 2e4f0a4c5fc9ab1857e33862c49e20c1418320c2 Author: Joel Croteau <jcroteau@gmail.com> Date: Thu Feb 20 10:27:52 2014 -0800 Fix error that was causing FillMouseEventData to fail with SAFE_HEAP enabled The parentheses without semicolons generated when using SAFE_HEAP caused the compiled code to generate SAFE_HEAP_STORE is not a function errors. commit 470dbf6bcb3f88c809b3fea41e197680eda08c7e Author: Joel Croteau <jcroteau@gmail.com> Date: Thu Feb 20 07:12:02 2014 -0800 Fix bug causing incorrect movement values in mouse events This adds code to correctly set the movementX and movementY members of EmscriptenMouseEvents sent to callback functions by the HTML5 event library. movementX and movementY are not members of the base HTML5 mouse event, so we need to add extra code to retrieve them for our events.
-rw-r--r--src/library_html5.js30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/library_html5.js b/src/library_html5.js
index a38c2390..fa75aced 100644
--- a/src/library_html5.js
+++ b/src/library_html5.js
@@ -188,21 +188,21 @@ var LibraryJSEvents = {
fillMouseEventData: function(eventStruct, e) {
var rect = Module['canvas'].getBoundingClientRect();
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.timestamp, 'JSEvents.tick()', 'double') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.screenX, 'e.screenX', 'i32') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.screenY, 'e.screenY', 'i32') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.clientX, 'e.clientX', 'i32') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.clientY, 'e.clientY', 'i32') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.ctrlKey, 'e.ctrlKey', 'i32') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.shiftKey, 'e.shiftKey', 'i32') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.altKey, 'e.altKey', 'i32') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.metaKey, 'e.metaKey', 'i32') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.button, 'e.button', 'i16') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.buttons, 'e.buttons', 'i16') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.movementX, 'e.movementX', 'i32') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.movementY, 'e.movementY', 'i32') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.canvasX, 'e.clientX - rect.left', 'i32') }}}
- {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.canvasY, 'e.clientY - rect.top', 'i32') }}}
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.timestamp, 'JSEvents.tick()', 'double') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.screenX, 'e.screenX', 'i32') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.screenY, 'e.screenY', 'i32') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.clientX, 'e.clientX', 'i32') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.clientY, 'e.clientY', 'i32') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.ctrlKey, 'e.ctrlKey', 'i32') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.shiftKey, 'e.shiftKey', 'i32') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.altKey, 'e.altKey', 'i32') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.metaKey, 'e.metaKey', 'i32') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.button, 'e.button', 'i16') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.buttons, 'e.buttons', 'i16') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.movementX, 'e.movementX || e.mozMovementX || e.webkitMovementX', 'i32') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.movementY, 'e.movementY || e.mozMovementY || e.webkitMovementY', 'i32') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.canvasX, 'e.clientX - rect.left', 'i32') }}};
+ {{{ makeSetValue('eventStruct', C_STRUCTS.EmscriptenMouseEvent.canvasY, 'e.clientY - rect.top', 'i32') }}};
},
registerMouseEventCallback: function(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) {