melonjs 10.2.3 → 10.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/melonjs.js +1741 -1558
  2. package/dist/melonjs.min.js +4 -4
  3. package/dist/melonjs.module.d.ts +1256 -1758
  4. package/dist/melonjs.module.js +1734 -1582
  5. package/package.json +12 -12
  6. package/src/audio/audio.js +3 -3
  7. package/src/camera/camera2d.js +26 -27
  8. package/src/entity/draggable.js +10 -19
  9. package/src/entity/droptarget.js +12 -20
  10. package/src/entity/entity.js +13 -13
  11. package/src/game.js +6 -6
  12. package/src/{shapes → geometries}/ellipse.js +19 -20
  13. package/src/{shapes → geometries}/line.js +6 -7
  14. package/src/{shapes → geometries}/poly.js +70 -23
  15. package/src/{shapes → geometries}/rectangle.js +23 -24
  16. package/src/index.js +8 -9
  17. package/src/input/gamepad.js +7 -7
  18. package/src/input/input.js +2 -2
  19. package/src/input/keyboard.js +108 -108
  20. package/src/input/pointer.js +61 -28
  21. package/src/input/pointerevent.js +79 -16
  22. package/src/lang/deprecated.js +26 -15
  23. package/src/level/level.js +10 -10
  24. package/src/level/tiled/TMXGroup.js +6 -7
  25. package/src/level/tiled/TMXLayer.js +10 -11
  26. package/src/level/tiled/TMXObject.js +57 -51
  27. package/src/level/tiled/TMXTile.js +2 -3
  28. package/src/level/tiled/TMXTileMap.js +3 -4
  29. package/src/level/tiled/TMXTileset.js +1 -2
  30. package/src/level/tiled/TMXTilesetGroup.js +1 -2
  31. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +2 -3
  32. package/src/level/tiled/renderer/TMXIsometricRenderer.js +2 -3
  33. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -3
  34. package/src/level/tiled/renderer/TMXRenderer.js +1 -2
  35. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +2 -3
  36. package/src/loader/loader.js +17 -15
  37. package/src/loader/loadingscreen.js +1 -2
  38. package/src/math/color.js +23 -24
  39. package/src/math/math.js +16 -16
  40. package/src/math/matrix2.js +24 -25
  41. package/src/math/matrix3.js +26 -27
  42. package/src/math/observable_vector2.js +46 -35
  43. package/src/math/observable_vector3.js +54 -36
  44. package/src/math/vector2.js +58 -47
  45. package/src/math/vector3.js +66 -48
  46. package/src/particles/emitter.js +64 -72
  47. package/src/particles/particle.js +3 -4
  48. package/src/particles/particlecontainer.js +2 -3
  49. package/src/physics/body.js +38 -39
  50. package/src/physics/bounds.js +30 -32
  51. package/src/physics/collision.js +6 -6
  52. package/src/physics/detector.js +3 -3
  53. package/src/physics/quadtree.js +8 -9
  54. package/src/physics/sat.js +4 -4
  55. package/src/physics/world.js +11 -12
  56. package/src/plugin/plugin.js +6 -7
  57. package/src/renderable/GUI.js +7 -8
  58. package/src/renderable/collectable.js +3 -4
  59. package/src/renderable/colorlayer.js +7 -8
  60. package/src/renderable/container.js +36 -37
  61. package/src/renderable/imagelayer.js +4 -5
  62. package/src/renderable/nineslicesprite.js +2 -3
  63. package/src/renderable/renderable.js +45 -46
  64. package/src/renderable/sprite.js +16 -17
  65. package/src/renderable/trigger.js +4 -5
  66. package/src/state/stage.js +8 -9
  67. package/src/state/state.js +24 -24
  68. package/src/system/device.js +41 -97
  69. package/src/system/event.js +45 -33
  70. package/src/system/pooling.js +1 -1
  71. package/src/system/save.js +3 -3
  72. package/src/system/timer.js +13 -13
  73. package/src/text/bitmaptext.js +12 -13
  74. package/src/text/bitmaptextdata.js +5 -6
  75. package/src/text/text.js +16 -17
  76. package/src/tweens/easing.js +1 -1
  77. package/src/tweens/interpolation.js +1 -1
  78. package/src/tweens/tween.js +14 -15
  79. package/src/utils/agent.js +3 -3
  80. package/src/utils/array.js +4 -4
  81. package/src/utils/file.js +3 -3
  82. package/src/utils/function.js +3 -3
  83. package/src/utils/string.js +7 -7
  84. package/src/utils/utils.js +4 -4
  85. package/src/video/canvas/canvas_renderer.js +39 -40
  86. package/src/video/renderer.js +29 -30
  87. package/src/video/texture.js +8 -9
  88. package/src/video/texture_cache.js +2 -4
  89. package/src/video/video.js +7 -7
  90. package/src/video/webgl/buffer/vertex.js +2 -2
  91. package/src/video/webgl/glshader.js +11 -12
  92. package/src/video/webgl/webgl_compositor.js +118 -90
  93. package/src/video/webgl/webgl_renderer.js +95 -74
@@ -150,7 +150,7 @@ event.on(event.BOOT, () => {
150
150
  /**
151
151
  * a State Manager (state machine)
152
152
  * @namespace state
153
- * @memberOf me
153
+ * @memberof me
154
154
  */
155
155
 
156
156
  var state = {
@@ -159,7 +159,7 @@ var state = {
159
159
  * default state ID for Loading Stage
160
160
  * @constant
161
161
  * @name LOADING
162
- * @memberOf me.state
162
+ * @memberof me.state
163
163
  */
164
164
  LOADING : 0,
165
165
 
@@ -167,7 +167,7 @@ var state = {
167
167
  * default state ID for Menu Stage
168
168
  * @constant
169
169
  * @name MENU
170
- * @memberOf me.state
170
+ * @memberof me.state
171
171
  */
172
172
  MENU : 1,
173
173
 
@@ -175,7 +175,7 @@ var state = {
175
175
  * default state ID for "Ready" Stage
176
176
  * @constant
177
177
  * @name READY
178
- * @memberOf me.state
178
+ * @memberof me.state
179
179
  */
180
180
  READY : 2,
181
181
 
@@ -183,7 +183,7 @@ var state = {
183
183
  * default state ID for Play Stage
184
184
  * @constant
185
185
  * @name PLAY
186
- * @memberOf me.state
186
+ * @memberof me.state
187
187
  */
188
188
  PLAY : 3,
189
189
 
@@ -191,7 +191,7 @@ var state = {
191
191
  * default state ID for Game Over Stage
192
192
  * @constant
193
193
  * @name GAMEOVER
194
- * @memberOf me.state
194
+ * @memberof me.state
195
195
  */
196
196
  GAMEOVER : 4,
197
197
 
@@ -199,7 +199,7 @@ var state = {
199
199
  * default state ID for Game End Stage
200
200
  * @constant
201
201
  * @name GAME_END
202
- * @memberOf me.state
202
+ * @memberof me.state
203
203
  */
204
204
  GAME_END : 5,
205
205
 
@@ -207,7 +207,7 @@ var state = {
207
207
  * default state ID for High Score Stage
208
208
  * @constant
209
209
  * @name SCORE
210
- * @memberOf me.state
210
+ * @memberof me.state
211
211
  */
212
212
  SCORE : 6,
213
213
 
@@ -215,7 +215,7 @@ var state = {
215
215
  * default state ID for Credits Stage
216
216
  * @constant
217
217
  * @name CREDITS
218
- * @memberOf me.state
218
+ * @memberof me.state
219
219
  */
220
220
  CREDITS : 7,
221
221
 
@@ -223,7 +223,7 @@ var state = {
223
223
  * default state ID for Settings Stage
224
224
  * @constant
225
225
  * @name SETTINGS
226
- * @memberOf me.state
226
+ * @memberof me.state
227
227
  */
228
228
  SETTINGS : 8,
229
229
 
@@ -232,7 +232,7 @@ var state = {
232
232
  * (the default stage is the one running as soon as melonJS is started)
233
233
  * @constant
234
234
  * @name SETTINGS
235
- * @memberOf me.state
235
+ * @memberof me.state
236
236
  */
237
237
  DEFAULT : 9,
238
238
 
@@ -240,7 +240,7 @@ var state = {
240
240
  * default state ID for user defined constants<br>
241
241
  * @constant
242
242
  * @name USER
243
- * @memberOf me.state
243
+ * @memberof me.state
244
244
  * @example
245
245
  * var STATE_INFO = me.state.USER + 0;
246
246
  * var STATE_WARN = me.state.USER + 1;
@@ -252,7 +252,7 @@ var state = {
252
252
  /**
253
253
  * Stop the current screen object.
254
254
  * @name stop
255
- * @memberOf me.state
255
+ * @memberof me.state
256
256
  * @public
257
257
  * @function
258
258
  * @param {boolean} [pauseTrack=false] pause current track on screen stop.
@@ -279,7 +279,7 @@ var state = {
279
279
  /**
280
280
  * pause the current screen object
281
281
  * @name pause
282
- * @memberOf me.state
282
+ * @memberof me.state
283
283
  * @public
284
284
  * @function
285
285
  * @param {boolean} [music=false] pause current music track on screen pause
@@ -305,7 +305,7 @@ var state = {
305
305
  /**
306
306
  * Restart the screen object from a full stop.
307
307
  * @name restart
308
- * @memberOf me.state
308
+ * @memberof me.state
309
309
  * @public
310
310
  * @function
311
311
  * @param {boolean} [music=false] resume current music track on screen resume
@@ -333,7 +333,7 @@ var state = {
333
333
  /**
334
334
  * resume the screen object
335
335
  * @name resume
336
- * @memberOf me.state
336
+ * @memberof me.state
337
337
  * @public
338
338
  * @function
339
339
  * @param {boolean} [music=false] resume current music track on screen resume
@@ -358,7 +358,7 @@ var state = {
358
358
  /**
359
359
  * return the running state of the state manager
360
360
  * @name isRunning
361
- * @memberOf me.state
361
+ * @memberof me.state
362
362
  * @public
363
363
  * @function
364
364
  * @returns {boolean} true if a "process is running"
@@ -370,7 +370,7 @@ var state = {
370
370
  /**
371
371
  * Return the pause state of the state manager
372
372
  * @name isPaused
373
- * @memberOf me.state
373
+ * @memberof me.state
374
374
  * @public
375
375
  * @function
376
376
  * @returns {boolean} true if the game is paused
@@ -382,7 +382,7 @@ var state = {
382
382
  /**
383
383
  * associate the specified state with a Stage
384
384
  * @name set
385
- * @memberOf me.state
385
+ * @memberof me.state
386
386
  * @public
387
387
  * @function
388
388
  * @param {number} state State ID (see constants)
@@ -442,7 +442,7 @@ var state = {
442
442
  * return a reference to the current screen object<br>
443
443
  * useful to call a object specific method
444
444
  * @name current
445
- * @memberOf me.state
445
+ * @memberof me.state
446
446
  * @public
447
447
  * @function
448
448
  * @returns {me.Stage}
@@ -456,7 +456,7 @@ var state = {
456
456
  /**
457
457
  * specify a global transition effect
458
458
  * @name transition
459
- * @memberOf me.state
459
+ * @memberof me.state
460
460
  * @public
461
461
  * @function
462
462
  * @param {string} effect (only "fade" is supported for now)
@@ -473,7 +473,7 @@ var state = {
473
473
  /**
474
474
  * enable/disable transition for a specific state (by default enabled for all)
475
475
  * @name setTransition
476
- * @memberOf me.state
476
+ * @memberof me.state
477
477
  * @public
478
478
  * @function
479
479
  * @param {number} state State ID (see constants)
@@ -486,7 +486,7 @@ var state = {
486
486
  /**
487
487
  * change the game/app state
488
488
  * @name change
489
- * @memberOf me.state
489
+ * @memberof me.state
490
490
  * @public
491
491
  * @function
492
492
  * @param {number} state State ID (see constants)
@@ -541,7 +541,7 @@ var state = {
541
541
  /**
542
542
  * return true if the specified state is the current one
543
543
  * @name isCurrent
544
- * @memberOf me.state
544
+ * @memberof me.state
545
545
  * @public
546
546
  * @function
547
547
  * @param {number} state State ID (see constants)
@@ -8,7 +8,7 @@ import * as event from "./../system/event.js";
8
8
  /**
9
9
  * The device capabilities and specific events
10
10
  * @namespace me.device
11
- * @memberOf me
11
+ * @memberof me
12
12
  */
13
13
 
14
14
  // private properties
@@ -131,12 +131,8 @@ function _checkCapabilities() {
131
131
  // Modern browsers support "wheel", Webkit and IE support at least "mousewheel
132
132
  device.wheel = ("onwheel" in document.createElement("div"));
133
133
 
134
- // pointerlock detection
135
- device.hasPointerLockSupport = prefixed("pointerLockElement", document);
136
-
137
- if (device.hasPointerLockSupport) {
138
- document.exitPointerLock = prefixed("exitPointerLock", document);
139
- }
134
+ // pointerlock detection (pointerLockElement can be null when the feature is supported)
135
+ device.hasPointerLockSupport = typeof document.pointerLockElement !== "undefined";
140
136
 
141
137
  // device orientation and motion detection
142
138
  device.hasDeviceOrientation = !!window.DeviceOrientationEvent;
@@ -257,7 +253,7 @@ let device = {
257
253
  * @type {string}
258
254
  * @readonly
259
255
  * @name ua
260
- * @memberOf me.device
256
+ * @memberof me.device
261
257
  */
262
258
  ua : navigator.userAgent,
263
259
 
@@ -267,7 +263,7 @@ let device = {
267
263
  * @type {boolean}
268
264
  * @readonly
269
265
  * @name localStorage
270
- * @memberOf me.device
266
+ * @memberof me.device
271
267
  */
272
268
  localStorage : false,
273
269
 
@@ -276,7 +272,7 @@ let device = {
276
272
  * @type {boolean}
277
273
  * @readonly
278
274
  * @name hasAccelerometer
279
- * @memberOf me.device
275
+ * @memberof me.device
280
276
  */
281
277
  hasAccelerometer : false,
282
278
 
@@ -285,7 +281,7 @@ let device = {
285
281
  * @type {boolean}
286
282
  * @readonly
287
283
  * @name hasDeviceOrientation
288
- * @memberOf me.device
284
+ * @memberof me.device
289
285
  */
290
286
  hasDeviceOrientation : false,
291
287
 
@@ -295,7 +291,7 @@ let device = {
295
291
  * @type {boolean}
296
292
  * @readonly
297
293
  * @name ScreenOrientation
298
- * @memberOf me.device
294
+ * @memberof me.device
299
295
  */
300
296
  ScreenOrientation : false,
301
297
 
@@ -304,7 +300,7 @@ let device = {
304
300
  * @type {boolean}
305
301
  * @readonly
306
302
  * @name hasFullscreenSupport
307
- * @memberOf me.device
303
+ * @memberof me.device
308
304
  */
309
305
  hasFullscreenSupport : false,
310
306
 
@@ -313,7 +309,7 @@ let device = {
313
309
  * @type {boolean}
314
310
  * @readonly
315
311
  * @name hasPointerLockSupport
316
- * @memberOf me.device
312
+ * @memberof me.device
317
313
  */
318
314
  hasPointerLockSupport : false,
319
315
 
@@ -322,7 +318,7 @@ let device = {
322
318
  * @type {boolean}
323
319
  * @readonly
324
320
  * @name hasWebAudio
325
- * @memberOf me.device
321
+ * @memberof me.device
326
322
  */
327
323
  hasWebAudio : false,
328
324
 
@@ -331,7 +327,7 @@ let device = {
331
327
  * @type {boolean}
332
328
  * @readonly
333
329
  * @name nativeBase64
334
- * @memberOf me.device
330
+ * @memberof me.device
335
331
  */
336
332
  nativeBase64 : (typeof(window.atob) === "function"),
337
333
 
@@ -340,7 +336,7 @@ let device = {
340
336
  * @type {number}
341
337
  * @readonly
342
338
  * @name maxTouchPoints
343
- * @memberOf me.device
339
+ * @memberof me.device
344
340
  * @example
345
341
  * if (me.device.maxTouchPoints > 1) {
346
342
  * // device supports multi-touch
@@ -353,7 +349,7 @@ let device = {
353
349
  * @type {boolean}
354
350
  * @readonly
355
351
  * @name touch
356
- * @memberOf me.device
352
+ * @memberof me.device
357
353
  */
358
354
  touch : false,
359
355
 
@@ -362,7 +358,7 @@ let device = {
362
358
  * @type {boolean}
363
359
  * @readonly
364
360
  * @name wheel
365
- * @memberOf me.device
361
+ * @memberof me.device
366
362
  */
367
363
  wheel : false,
368
364
 
@@ -372,7 +368,7 @@ let device = {
372
368
  * @type {boolean}
373
369
  * @readonly
374
370
  * @name isMobile
375
- * @memberOf me.device
371
+ * @memberof me.device
376
372
  */
377
373
  isMobile : false,
378
374
 
@@ -381,7 +377,7 @@ let device = {
381
377
  * @type {boolean}
382
378
  * @readonly
383
379
  * @name iOS
384
- * @memberOf me.device
380
+ * @memberof me.device
385
381
  */
386
382
  iOS : false,
387
383
 
@@ -390,7 +386,7 @@ let device = {
390
386
  * @type {boolean}
391
387
  * @readonly
392
388
  * @name android
393
- * @memberOf me.device
389
+ * @memberof me.device
394
390
  */
395
391
  android : false,
396
392
 
@@ -399,7 +395,7 @@ let device = {
399
395
  * @type {boolean}
400
396
  * @readonly
401
397
  * @name android2
402
- * @memberOf me.device
398
+ * @memberof me.device
403
399
  */
404
400
  android2 : false,
405
401
 
@@ -408,7 +404,7 @@ let device = {
408
404
  * @type {boolean}
409
405
  * @readonly
410
406
  * @name linux
411
- * @memberOf me.device
407
+ * @memberof me.device
412
408
  */
413
409
  linux : false,
414
410
 
@@ -418,7 +414,7 @@ let device = {
418
414
  * @readonly
419
415
  * @see http://impactjs.com/ejecta
420
416
  * @name ejecta
421
- * @memberOf me.device
417
+ * @memberof me.device
422
418
  */
423
419
  ejecta : false,
424
420
 
@@ -427,7 +423,7 @@ let device = {
427
423
  * @type {boolean}
428
424
  * @readonly
429
425
  * @name isWeixin
430
- * @memberOf me.device
426
+ * @memberof me.device
431
427
  */
432
428
  isWeixin : false,
433
429
 
@@ -436,7 +432,7 @@ let device = {
436
432
  * @type {boolean}
437
433
  * @readonly
438
434
  * @name chromeOS
439
- * @memberOf me.device
435
+ * @memberof me.device
440
436
  */
441
437
  chromeOS : false,
442
438
 
@@ -445,7 +441,7 @@ let device = {
445
441
  * @type {boolean}
446
442
  * @readonly
447
443
  * @name wp
448
- * @memberOf me.device
444
+ * @memberof me.device
449
445
  */
450
446
  wp : false,
451
447
 
@@ -454,7 +450,7 @@ let device = {
454
450
  * @type {boolean}
455
451
  * @readonly
456
452
  * @name BlackBerry
457
- * @memberOf me.device
453
+ * @memberof me.device
458
454
  */
459
455
  BlackBerry : false,
460
456
 
@@ -463,7 +459,7 @@ let device = {
463
459
  * @type {boolean}
464
460
  * @readonly
465
461
  * @name Kindle
466
- * @memberOf me.device
462
+ * @memberof me.device
467
463
  */
468
464
  Kindle : false,
469
465
 
@@ -474,7 +470,7 @@ let device = {
474
470
  * @readonly
475
471
  * @name accelerationX
476
472
  * @see me.device.watchAccelerometer
477
- * @memberOf me.device
473
+ * @memberof me.device
478
474
  */
479
475
  accelerationX : 0,
480
476
 
@@ -485,7 +481,7 @@ let device = {
485
481
  * @readonly
486
482
  * @name accelerationY
487
483
  * @see me.device.watchAccelerometer
488
- * @memberOf me.device
484
+ * @memberof me.device
489
485
  */
490
486
  accelerationY : 0,
491
487
 
@@ -496,7 +492,7 @@ let device = {
496
492
  * @readonly
497
493
  * @name accelerationZ
498
494
  * @see me.device.watchAccelerometer
499
- * @memberOf me.device
495
+ * @memberof me.device
500
496
  */
501
497
  accelerationZ : 0,
502
498
 
@@ -507,7 +503,7 @@ let device = {
507
503
  * @readonly
508
504
  * @name gamma
509
505
  * @see me.device.watchDeviceOrientation
510
- * @memberOf me.device
506
+ * @memberof me.device
511
507
  */
512
508
  gamma : 0,
513
509
 
@@ -518,7 +514,7 @@ let device = {
518
514
  * @readonly
519
515
  * @name beta
520
516
  * @see me.device.watchDeviceOrientation
521
- * @memberOf me.device
517
+ * @memberof me.device
522
518
  */
523
519
  beta: 0,
524
520
 
@@ -530,7 +526,7 @@ let device = {
530
526
  * @readonly
531
527
  * @name alpha
532
528
  * @see me.device.watchDeviceOrientation
533
- * @memberOf me.device
529
+ * @memberof me.device
534
530
  */
535
531
  alpha : 0,
536
532
 
@@ -542,7 +538,7 @@ let device = {
542
538
  * @readonly
543
539
  * @see http://www.w3schools.com/tags/ref_language_codes.asp
544
540
  * @name language
545
- * @memberOf me.device
541
+ * @memberof me.device
546
542
  */
547
543
  language : navigator.language || navigator.browserLanguage || navigator.userLanguage || "en",
548
544
 
@@ -550,7 +546,7 @@ let device = {
550
546
  * Specify whether to pause the game when losing focus
551
547
  * @type {boolean}
552
548
  * @default true
553
- * @memberOf me.device
549
+ * @memberof me.device
554
550
  */
555
551
  pauseOnBlur : true,
556
552
 
@@ -558,7 +554,7 @@ let device = {
558
554
  * Specify whether to unpause the game when gaining focus
559
555
  * @type {boolean}
560
556
  * @default true
561
- * @memberOf me.device
557
+ * @memberof me.device
562
558
  */
563
559
  resumeOnFocus : true,
564
560
 
@@ -566,7 +562,7 @@ let device = {
566
562
  * Specify whether to automatically bring the window to the front
567
563
  * @type {boolean}
568
564
  * @default true
569
- * @memberOf me.device
565
+ * @memberof me.device
570
566
  */
571
567
  autoFocus : true,
572
568
 
@@ -575,7 +571,7 @@ let device = {
575
571
  * The engine restarts on focus if this is enabled.
576
572
  * @type {boolean}
577
573
  * @default false
578
- * @memberOf me.device
574
+ * @memberof me.device
579
575
  */
580
576
  stopOnBlur : false,
581
577
 
@@ -584,7 +580,7 @@ let device = {
584
580
  * @type {boolean}
585
581
  * @readonly
586
582
  * @name OffScreenCanvas
587
- * @memberOf me.device
583
+ * @memberof me.device
588
584
  */
589
585
  OffscreenCanvas : false,
590
586
 
@@ -974,58 +970,6 @@ let device = {
974
970
  this.alpha = e.alpha;
975
971
  },
976
972
 
977
- /**
978
- * Enters pointer lock, requesting it from the user first. Works on supported devices & browsers
979
- * Must be called in a click event or an event that requires user interaction.
980
- * If you need to run handle events for errors or change of the pointer lock, see below.
981
- * @function me.device.turnOnPointerLock
982
- * @example
983
- * document.addEventListener("pointerlockchange", pointerlockchange, false);
984
- * document.addEventListener("mozpointerlockchange", pointerlockchange, false);
985
- * document.addEventListener("webkitpointerlockchange", pointerlockchange, false);
986
- *
987
- * document.addEventListener("pointerlockerror", pointerlockerror, false);
988
- * document.addEventListener("mozpointerlockerror", pointerlockerror, false);
989
- * document.addEventListener("webkitpointerlockerror", pointerlockerror, false);
990
- */
991
- turnOnPointerLock() {
992
- if (this.hasPointerLockSupport) {
993
- var element = getParent();
994
- if (this.ua.match(/Firefox/i)) {
995
- var fullscreenchange = function() {
996
- if ((prefixed("fullscreenElement", document) ||
997
- document.mozFullScreenElement) === element) {
998
-
999
- document.removeEventListener("fullscreenchange", fullscreenchange);
1000
- document.removeEventListener("mozfullscreenchange", fullscreenchange);
1001
- element.requestPointerLock = prefixed("requestPointerLock", element);
1002
- element.requestPointerLock();
1003
- }
1004
- };
1005
-
1006
- document.addEventListener("fullscreenchange", fullscreenchange, false);
1007
- document.addEventListener("mozfullscreenchange", fullscreenchange, false);
1008
-
1009
- this.requestFullscreen();
1010
-
1011
- }
1012
- else {
1013
- element.requestPointerLock();
1014
- }
1015
- }
1016
- },
1017
-
1018
- /**
1019
- * Exits pointer lock. Works on supported devices & browsers
1020
- * @function me.device.turnOffPointerLock
1021
- * @function
1022
- */
1023
- turnOffPointerLock() {
1024
- if (this.hasPointerLockSupport) {
1025
- document.exitPointerLock();
1026
- }
1027
- },
1028
-
1029
973
  /**
1030
974
  * Enable monitor of the device accelerator to detect the amount of physical force of acceleration the device is receiving.
1031
975
  * (one some device a first user gesture will be required before calling this function)
@@ -1153,7 +1097,7 @@ let device = {
1153
1097
  /**
1154
1098
  * Ratio of the resolution in physical pixels to the resolution in CSS pixels for the current display device.
1155
1099
  * @name devicePixelRatio
1156
- * @memberOf me.device
1100
+ * @memberof me.device
1157
1101
  * @public
1158
1102
  * @type {number}
1159
1103
  * @readonly
@@ -1171,7 +1115,7 @@ Object.defineProperty(device, "devicePixelRatio", {
1171
1115
  /**
1172
1116
  * Returns true if the browser/device is in full screen mode.
1173
1117
  * @name isFullscreen
1174
- * @memberOf me.device
1118
+ * @memberof me.device
1175
1119
  * @public
1176
1120
  * @type {boolean}
1177
1121
  * @readonly
@@ -1194,7 +1138,7 @@ Object.defineProperty(device, "isFullscreen", {
1194
1138
  /**
1195
1139
  * Returns true if the browser/device has audio capabilities.
1196
1140
  * @name sound
1197
- * @memberOf me.device
1141
+ * @memberof me.device
1198
1142
  * @public
1199
1143
  * @type {boolean}
1200
1144
  * @readonly