()
| 195 | } |
| 196 | |
| 197 | var updateEvents = function () { |
| 198 | // remove all touch events |
| 199 | Module["canvas"].removeEventListener("touchmove", GLFW.onMousemove, true); |
| 200 | Module["canvas"].removeEventListener("touchstart", GLFW.onMouseButtonDown, true); |
| 201 | Module["canvas"].removeEventListener("touchcancel", GLFW.onMouseButtonUp, true); |
| 202 | Module["canvas"].removeEventListener("touchend", GLFW.onMouseButtonUp, true); |
| 203 | |
| 204 | // remove mouse events |
| 205 | Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); |
| 206 | Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); |
| 207 | Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); |
| 208 | Module["canvas"].removeEventListener("wheel", GLFW.onMouseWheel, true); |
| 209 | Module["canvas"].removeEventListener("mousewheel", GLFW.onMouseWheel, true); |
| 210 | Module["canvas"].removeEventListener("dragover", GLFW.onDragover, true); |
| 211 | Module["canvas"].removeEventListener("drop", GLFW.onDrop, true); |
| 212 | |
| 213 | // make own touch events callbacks |
| 214 | var touchEventProcess = function (event, funcName) { |
| 215 | var rect = Module["canvas"].getBoundingClientRect(); |
| 216 | var coords = getPos(event, rect); |
| 217 | if (event.isPrimary && pointerCounter == 1) { |
| 218 | Browser.mouseX = coords.x; |
| 219 | Browser.mouseY = coords.y; |
| 220 | } |
| 221 | Module.ccall(funcName, 'number', ['number', 'number', 'number'], |
| 222 | [event.pointerId, coords.x, coords.y]); |
| 223 | } |
| 224 | |
| 225 | // main event func determine what to call |
| 226 | var oldCalcMovementFunction = Browser.calculateMouseEvent; |
| 227 | |
| 228 | var touchDownFunc = function (event) { |
| 229 | var proceed = true; |
| 230 | if (touchId[0] == -1) |
| 231 | touchId[0] = event.pointerId; |
| 232 | else if (touchId[1] == -1) |
| 233 | touchId[1] = event.pointerId; |
| 234 | else |
| 235 | proceed = false; |
| 236 | if (proceed) { |
| 237 | pointerCounter++; |
| 238 | touchEventProcess(event, 'emsTouchStart'); |
| 239 | } |
| 240 | } |
| 241 | |
| 242 | Browser.calculateMouseEvent = function (event) { |
| 243 | var bubbleUp = true; |
| 244 | if (event.pointerType == "mouse") { |
| 245 | var eventButton = GLFW.DOMToGLFWMouseButton(event); |
| 246 | if (event.type == "pointermove" && !reinterpretEvent) { |
| 247 | if (eventButton >= 0) { |
| 248 | reinterpretEvent = true; |
| 249 | if (mouseState[eventButton] == 0 && event.buttons != 0) |
| 250 | mouseState[eventButton] = 1; |
| 251 | else |
| 252 | mouseState[eventButton] = 0; |
| 253 | GLFW.onMouseButtonChanged(event, mouseState[eventButton]); |
| 254 | return false; |
no test coverage detected