@@ -209,6 +209,7 @@ var LibraryHTML5 = {
209
209
} ,
210
210
211
211
#if PTHREADS
212
+ // TODO: Support proxied events for MEMORY64
212
213
queueEventHandlerOnThread_iiii ( targetThread , eventHandlerFunc , eventTypeId , eventData , userData ) {
213
214
withStackSave ( ( ) => {
214
215
var varargs = stackAlloc ( 12 ) ;
@@ -287,7 +288,7 @@ var LibraryHTML5 = {
287
288
#endif
288
289
{ { { makeSetValue ( 'keyEventData' , C_STRUCTS . EmscriptenKeyboardEvent . timestamp , 'e.timeStamp' , 'double' ) } } } ;
289
290
290
- var idx = keyEventData >> 2 ;
291
+ var idx = { { { getHeapOffset ( ' keyEventData' , 'i32' ) } } } ;
291
292
292
293
HEAP32 [ idx + { { { C_STRUCTS . EmscriptenKeyboardEvent . location / 4 } } } ] = e . location ;
293
294
HEAP32 [ idx + { { { C_STRUCTS . EmscriptenKeyboardEvent . ctrlKey / 4 } } } ] = e . ctrlKey ;
@@ -307,7 +308,7 @@ var LibraryHTML5 = {
307
308
if ( targetThread ) JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc, eventTypeId, keyEventData, userData ) ;
308
309
else
309
310
#endif
310
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , keyEventData , userData ) ) e . preventDefault ( ) ;
311
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId, keyEventData, userData ) ) e . preventDefault( ) ;
311
312
} ;
312
313
313
314
var eventHandler = {
@@ -461,7 +462,7 @@ var LibraryHTML5 = {
461
462
assert ( eventStruct % 4 == 0 ) ;
462
463
#endif
463
464
{ { { makeSetValue ( 'eventStruct' , C_STRUCTS . EmscriptenMouseEvent . timestamp , 'e.timeStamp' , 'double' ) } } } ;
464
- var idx = eventStruct >> 2 ;
465
+ var idx = { { { getHeapOffset ( ' eventStruct' , 'i32' ) } } } ;
465
466
HEAP32 [ idx + { { { C_STRUCTS . EmscriptenMouseEvent . screenX / 4 } } } ] = e . screenX ;
466
467
HEAP32 [ idx + { { { C_STRUCTS . EmscriptenMouseEvent . screenY / 4 } } } ] = e . screenY ;
467
468
HEAP32 [ idx + { { { C_STRUCTS . EmscriptenMouseEvent . clientX / 4 } } } ] = e . clientX ;
@@ -547,7 +548,7 @@ var LibraryHTML5 = {
547
548
JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc , eventTypeId , mouseEventData , userData ) ;
548
549
} else
549
550
#endif
550
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , JSEvents . mouseEvent , userData ) ) e . preventDefault ( ) ;
551
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , JSEvents . mouseEvent , userData ) ) e . preventDefault ( ) ;
551
552
} ;
552
553
553
554
var eventHandler = {
@@ -646,7 +647,7 @@ var LibraryHTML5 = {
646
647
if ( targetThread ) JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc , eventTypeId , wheelEvent , userData ) ;
647
648
else
648
649
#endif
649
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , wheelEvent , userData ) ) e . preventDefault ( ) ;
650
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , wheelEvent , userData ) ) e . preventDefault ( ) ;
650
651
} ;
651
652
#if MIN_IE_VERSION <= 8 || MIN_SAFARI_VERSION < 60100 // Browsers that do not support https://caniuse.com/#feat=mdn-api_wheelevent
652
653
// The 'mousewheel' event as implemented in Safari 6.0.5
@@ -658,7 +659,7 @@ var LibraryHTML5 = {
658
659
{ { { makeSetValue ( 'JSEvents.wheelEvent' , C_STRUCTS . EmscriptenWheelEvent . deltaY , 'wheelDeltaY' , 'double' ) } } } ;
659
660
{ { { makeSetValue ( 'JSEvents.wheelEvent' , C_STRUCTS . EmscriptenWheelEvent . deltaZ , '0 /* Not available */' , 'double' ) } } } ;
660
661
{ { { makeSetValue ( 'JSEvents.wheelEvent' , C_STRUCTS . EmscriptenWheelEvent . deltaMode , '0 /* DOM_DELTA_PIXEL */' , 'i32' ) } } } ;
661
- var shouldCancel = { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , JSEvents . wheelEvent , userData ) ;
662
+ var shouldCancel = { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , JSEvents . wheelEvent , userData ) ;
662
663
if ( shouldCancel ) {
663
664
e . preventDefault ( ) ;
664
665
}
@@ -747,7 +748,7 @@ var LibraryHTML5 = {
747
748
if ( targetThread ) JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc , eventTypeId , uiEvent , userData ) ;
748
749
else
749
750
#endif
750
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , uiEvent , userData ) ) e . preventDefault ( ) ;
751
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , uiEvent , userData ) ) e . preventDefault ( ) ;
751
752
} ;
752
753
753
754
var eventHandler = {
@@ -793,7 +794,7 @@ var LibraryHTML5 = {
793
794
if ( targetThread ) JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc, eventTypeId, focusEvent, userData ) ;
794
795
else
795
796
#endif
796
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId, focusEvent, userData ) ) e . preventDefault( ) ;
797
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId, focusEvent, userData ) ) e . preventDefault( ) ;
797
798
} ;
798
799
799
800
var eventHandler = {
@@ -855,7 +856,7 @@ var LibraryHTML5 = {
855
856
JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc , eventTypeId , deviceOrientationEvent , userData ) ;
856
857
} else
857
858
#endif
858
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , JSEvents . deviceOrientationEvent , userData ) ) e . preventDefault ( ) ;
859
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , JSEvents . deviceOrientationEvent , userData ) ) e . preventDefault ( ) ;
859
860
} ;
860
861
861
862
var eventHandler = {
@@ -925,7 +926,7 @@ var LibraryHTML5 = {
925
926
JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc , eventTypeId , deviceMotionEvent , userData ) ;
926
927
} else
927
928
#endif
928
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , JSEvents . deviceMotionEvent , userData ) ) e . preventDefault ( ) ;
929
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , JSEvents . deviceMotionEvent , userData ) ) e . preventDefault ( ) ;
929
930
} ;
930
931
931
932
var eventHandler = {
@@ -995,7 +996,7 @@ var LibraryHTML5 = {
995
996
if ( targetThread ) JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc , eventTypeId , orientationChangeEvent , userData ) ;
996
997
else
997
998
#endif
998
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , orientationChangeEvent , userData ) ) e . preventDefault ( ) ;
999
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , orientationChangeEvent , userData ) ) e . preventDefault ( ) ;
999
1000
} ;
1000
1001
1001
1002
if ( eventTypeString == "orientationchange" && screen . mozOrientation !== undefined ) {
@@ -1114,7 +1115,7 @@ var LibraryHTML5 = {
1114
1115
if ( targetThread ) JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc , eventTypeId , fullscreenChangeEvent , userData ) ;
1115
1116
else
1116
1117
#endif
1117
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , fullscreenChangeEvent , userData ) ) e . preventDefault ( ) ;
1118
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , fullscreenChangeEvent , userData ) ) e . preventDefault ( ) ;
1118
1119
} ;
1119
1120
1120
1121
var eventHandler = {
@@ -1197,7 +1198,7 @@ var LibraryHTML5 = {
1197
1198
if ( strategy . canvasResizedCallbackTargetThread ) JSEvents . queueEventHandlerOnThread_iiii ( strategy . canvasResizedCallbackTargetThread , strategy . canvasResizedCallback , { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , strategy . canvasResizedCallbackUserData ) ;
1198
1199
else
1199
1200
#endif
1200
- { { { makeDynCall ( 'iiii ' , 'strategy.canvasResizedCallback' ) } } } ( { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , strategy . canvasResizedCallbackUserData) ;
1201
+ { { { makeDynCall ( 'iipp ' , 'strategy.canvasResizedCallback' ) } } } ( { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , strategy . canvasResizedCallbackUserData) ;
1201
1202
}
1202
1203
1203
1204
return { { { cDefs . EMSCRIPTEN_RESULT_SUCCESS } } } ;
@@ -1349,7 +1350,7 @@ var LibraryHTML5 = {
1349
1350
if ( currentFullscreenStrategy . canvasResizedCallbackTargetThread ) JSEvents . queueEventHandlerOnThread_iiii ( currentFullscreenStrategy . canvasResizedCallbackTargetThread , currentFullscreenStrategy . canvasResizedCallback , { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , currentFullscreenStrategy . canvasResizedCallbackUserData ) ;
1350
1351
else
1351
1352
#endif
1352
- { { { makeDynCall ( 'iiii ' , 'currentFullscreenStrategy.canvasResizedCallback' ) } } } ( { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , currentFullscreenStrategy . canvasResizedCallbackUserData) ;
1353
+ { { { makeDynCall ( 'iipp ' , 'currentFullscreenStrategy.canvasResizedCallback' ) } } } ( { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , currentFullscreenStrategy . canvasResizedCallbackUserData) ;
1353
1354
}
1354
1355
}
1355
1356
}
@@ -1477,7 +1478,7 @@ var LibraryHTML5 = {
1477
1478
if ( currentFullscreenStrategy . canvasResizedCallbackTargetThread ) JSEvents . queueEventHandlerOnThread_iiii ( currentFullscreenStrategy . canvasResizedCallbackTargetThread , currentFullscreenStrategy . canvasResizedCallback , { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , currentFullscreenStrategy . canvasResizedCallbackUserData ) ;
1478
1479
else
1479
1480
#endif
1480
- { { { makeDynCall ( 'iiii ' , 'currentFullscreenStrategy.canvasResizedCallback' ) } } } ( { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , currentFullscreenStrategy . canvasResizedCallbackUserData) ;
1481
+ { { { makeDynCall ( 'iipp ' , 'currentFullscreenStrategy.canvasResizedCallback' ) } } } ( { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , currentFullscreenStrategy . canvasResizedCallbackUserData) ;
1481
1482
}
1482
1483
} ,
1483
1484
@@ -1597,7 +1598,7 @@ var LibraryHTML5 = {
1597
1598
if ( strategy . canvasResizedCallbackTargetThread ) JSEvents . queueEventHandlerOnThread_iiii ( strategy . canvasResizedCallbackTargetThread , strategy . canvasResizedCallback , { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , strategy . canvasResizedCallbackUserData ) ;
1598
1599
else
1599
1600
#endif
1600
- { { { makeDynCall ( 'iiii ' , 'strategy.canvasResizedCallback' ) } } } ( { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , strategy . canvasResizedCallbackUserData) ;
1601
+ { { { makeDynCall ( 'iipp ' , 'strategy.canvasResizedCallback' ) } } } ( { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , strategy . canvasResizedCallbackUserData) ;
1601
1602
}
1602
1603
currentFullscreenStrategy = 0 ;
1603
1604
}
@@ -1611,7 +1612,7 @@ var LibraryHTML5 = {
1611
1612
if ( strategy . canvasResizedCallbackTargetThread ) JSEvents . queueEventHandlerOnThread_iiii ( strategy . canvasResizedCallbackTargetThread , strategy . canvasResizedCallback , { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , strategy . canvasResizedCallbackUserData ) ;
1612
1613
else
1613
1614
#endif
1614
- { { { makeDynCall ( 'iiii ' , 'strategy.canvasResizedCallback' ) } } } ( { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , strategy . canvasResizedCallbackUserData) ;
1615
+ { { { makeDynCall ( 'iipp ' , 'strategy.canvasResizedCallback' ) } } } ( { { { cDefs . EMSCRIPTEN_EVENT_CANVASRESIZED } } } , 0 , strategy . canvasResizedCallbackUserData) ;
1615
1616
}
1616
1617
1617
1618
return { { { cDefs . EMSCRIPTEN_RESULT_SUCCESS } } } ;
@@ -1691,7 +1692,7 @@ var LibraryHTML5 = {
1691
1692
if ( targetThread ) JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc , eventTypeId , pointerlockChangeEvent , userData ) ;
1692
1693
else
1693
1694
#endif
1694
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , pointerlockChangeEvent , userData ) ) e . preventDefault ( ) ;
1695
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , pointerlockChangeEvent , userData ) ) e . preventDefault ( ) ;
1695
1696
} ;
1696
1697
1697
1698
var eventHandler = {
@@ -1736,7 +1737,7 @@ var LibraryHTML5 = {
1736
1737
if ( targetThread ) JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc , eventTypeId , 0 , userData ) ;
1737
1738
else
1738
1739
#endif
1739
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , 0 , userData ) ) e . preventDefault ( ) ;
1740
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , 0 , userData ) ) e . preventDefault ( ) ;
1740
1741
} ;
1741
1742
1742
1743
var eventHandler = {
@@ -1936,7 +1937,7 @@ var LibraryHTML5 = {
1936
1937
if ( targetThread ) JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc , eventTypeId , visibilityChangeEvent , userData ) ;
1937
1938
else
1938
1939
#endif
1939
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , visibilityChangeEvent , userData ) ) e . preventDefault ( ) ;
1940
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , visibilityChangeEvent , userData ) ) e . preventDefault ( ) ;
1940
1941
} ;
1941
1942
1942
1943
var eventHandler = {
@@ -2012,7 +2013,7 @@ var LibraryHTML5 = {
2012
2013
var touchEvent = JSEvents . touchEvent ;
2013
2014
#endif
2014
2015
{ { { makeSetValue ( 'touchEvent' , C_STRUCTS . EmscriptenTouchEvent . timestamp , 'e.timeStamp' , 'double' ) } } } ;
2015
- var idx = touchEvent >> 2 ; // Pre-shift the ptr to index to HEAP32 to save code size
2016
+ var idx = { { { getHeapOffset ( ' touchEvent' , 'i32' ) } } } ; / / Pre - shift the ptr to index to HEAP32 to save code size
2016
2017
HEAP32 [ idx + { { { C_STRUCTS . EmscriptenTouchEvent . ctrlKey / 4 } } } ] = e . ctrlKey ;
2017
2018
HEAP32 [ idx + { { { C_STRUCTS . EmscriptenTouchEvent . shiftKey / 4 } } } ] = e . shiftKey ;
2018
2019
HEAP32 [ idx + { { { C_STRUCTS . EmscriptenTouchEvent . altKey / 4 } } } ] = e . altKey ;
@@ -2053,7 +2054,7 @@ var LibraryHTML5 = {
2053
2054
if ( targetThread ) JSEvents . queueEventHandlerOnThread_iiii ( targetThread, callbackfunc, eventTypeId, touchEvent, userData ) ;
2054
2055
else
2055
2056
#endif
2056
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId, touchEvent, userData ) ) e . preventDefault( ) ;
2057
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId, touchEvent, userData ) ) e . preventDefault( ) ;
2057
2058
} ;
2058
2059
2059
2060
var eventHandler = {
@@ -2140,7 +2141,7 @@ var LibraryHTML5 = {
2140
2141
if ( targetThread ) JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc , eventTypeId , gamepadEvent , userData ) ;
2141
2142
else
2142
2143
#endif
2143
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , gamepadEvent , userData ) ) e . preventDefault ( ) ;
2144
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , gamepadEvent , userData ) ) e . preventDefault ( ) ;
2144
2145
} ;
2145
2146
2146
2147
var eventHandler = {
@@ -2212,7 +2213,7 @@ var LibraryHTML5 = {
2212
2213
$registerBeforeUnloadEventCallback : ( target , userData , useCapture , callbackfunc , eventTypeId , eventTypeString ) => {
2213
2214
var beforeUnloadEventHandlerFunc = ( e = event ) => {
2214
2215
// Note: This is always called on the main browser thread, since it needs synchronously return a value!
2215
- var confirmationMessage = { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , 0 , userData ) ;
2216
+ var confirmationMessage = { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , 0 , userData ) ;
2216
2217
2217
2218
if ( confirmationMessage ) {
2218
2219
confirmationMessage = UTF8ToString ( confirmationMessage ) ;
@@ -2272,7 +2273,7 @@ var LibraryHTML5 = {
2272
2273
if ( targetThread ) JSEvents . queueEventHandlerOnThread_iiii ( targetThread , callbackfunc , eventTypeId , batteryEvent , userData ) ;
2273
2274
else
2274
2275
#endif
2275
- if ( { { { makeDynCall ( 'iiii ' , 'callbackfunc' ) } } } ( eventTypeId , batteryEvent , userData ) ) e . preventDefault ( ) ;
2276
+ if ( { { { makeDynCall ( 'iipp ' , 'callbackfunc' ) } } } ( eventTypeId , batteryEvent , userData ) ) e . preventDefault ( ) ;
2276
2277
} ;
2277
2278
2278
2279
var eventHandler = {
@@ -2564,13 +2565,13 @@ var LibraryHTML5 = {
2564
2565
emscripten_html5_remove_all_event_listeners : ( ) => JSEvents . removeAllEventListeners ( ) ,
2565
2566
2566
2567
emscripten_request_animation_frame : ( cb , userData ) =>
2567
- requestAnimationFrame ( ( timeStamp ) => { { { makeDynCall ( 'idi ' , 'cb' ) } } } ( timeStamp , userData ) ) ,
2568
+ requestAnimationFrame ( ( timeStamp ) => { { { makeDynCall ( 'idp ' , 'cb' ) } } } ( timeStamp , userData ) ) ,
2568
2569
2569
2570
emscripten_cancel_animation_frame : ( id ) => cancelAnimationFrame ( id ) ,
2570
2571
2571
2572
emscripten_request_animation_frame_loop : ( cb , userData ) => {
2572
2573
function tick ( timeStamp ) {
2573
- if ( { { { makeDynCall ( 'idi ' , 'cb' ) } } } ( timeStamp , userData ) ) {
2574
+ if ( { { { makeDynCall ( 'idp ' , 'cb' ) } } } ( timeStamp , userData ) ) {
2574
2575
requestAnimationFrame ( tick ) ;
2575
2576
}
2576
2577
}
0 commit comments