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
@@ -1,7 +1,7 @@
1
1
  import Color from "./../../math/color.js";
2
2
  import Renderer from "./../renderer.js";
3
3
  import TextureCache from "./../texture_cache.js";
4
- import Ellipse from "./../../shapes/ellipse.js";
4
+ import Ellipse from "./../../geometries/ellipse.js";
5
5
  import { createCanvas } from "./../video.js";
6
6
 
7
7
 
@@ -10,9 +10,8 @@ import { createCanvas } from "./../video.js";
10
10
  * @classdesc
11
11
  * a canvas renderer object
12
12
  * @class CanvasRenderer
13
- * @extends me.Renderer
14
- * @memberOf me
15
- * @constructor
13
+ * @augments me.Renderer
14
+ * @memberof me
16
15
  * @param {object} options The renderer parameters
17
16
  * @param {number} options.width The width of the canvas without scaling
18
17
  * @param {number} options.height The height of the canvas without scaling
@@ -63,7 +62,7 @@ class CanvasRenderer extends Renderer {
63
62
  /**
64
63
  * Reset context state
65
64
  * @name reset
66
- * @memberOf me.CanvasRenderer.prototype
65
+ * @memberof me.CanvasRenderer.prototype
67
66
  * @function
68
67
  */
69
68
  reset() {
@@ -74,7 +73,7 @@ class CanvasRenderer extends Renderer {
74
73
  /**
75
74
  * Reset the canvas transform to identity
76
75
  * @name resetTransform
77
- * @memberOf me.CanvasRenderer.prototype
76
+ * @memberof me.CanvasRenderer.prototype
78
77
  * @function
79
78
  */
80
79
  resetTransform() {
@@ -84,7 +83,7 @@ class CanvasRenderer extends Renderer {
84
83
  /**
85
84
  * Set a blend mode for the given context
86
85
  * @name setBlendMode
87
- * @memberOf me.CanvasRenderer.prototype
86
+ * @memberof me.CanvasRenderer.prototype
88
87
  * @function
89
88
  * @param {string} [mode="normal"] blend mode : "normal", "multiply"
90
89
  * @param {CanvasRenderingContext2D} [context]
@@ -113,7 +112,7 @@ class CanvasRenderer extends Renderer {
113
112
  /**
114
113
  * prepare the framebuffer for drawing a new frame
115
114
  * @name clear
116
- * @memberOf me.CanvasRenderer.prototype
115
+ * @memberof me.CanvasRenderer.prototype
117
116
  * @function
118
117
  */
119
118
  clear() {
@@ -125,7 +124,7 @@ class CanvasRenderer extends Renderer {
125
124
  /**
126
125
  * render the main framebuffer on screen
127
126
  * @name flush
128
- * @memberOf me.CanvasRenderer.prototype
127
+ * @memberof me.CanvasRenderer.prototype
129
128
  * @function
130
129
  */
131
130
  flush() {
@@ -137,12 +136,12 @@ class CanvasRenderer extends Renderer {
137
136
  /**
138
137
  * Clears the main framebuffer with the given color
139
138
  * @name clearColor
140
- * @memberOf me.CanvasRenderer.prototype
139
+ * @memberof me.CanvasRenderer.prototype
141
140
  * @function
142
- * @param {me.Color|string} color CSS color.
141
+ * @param {me.Color|string} [color="#000000"] CSS color.
143
142
  * @param {boolean} [opaque=false] Allow transparency [default] or clear the surface completely [true]
144
143
  */
145
- clearColor(color, opaque) {
144
+ clearColor(color = "#000000", opaque) {
146
145
  this.save();
147
146
  this.resetTransform();
148
147
  this.backBufferContext2D.globalCompositeOperation = opaque ? "copy" : "source-over";
@@ -154,7 +153,7 @@ class CanvasRenderer extends Renderer {
154
153
  /**
155
154
  * Erase the pixels in the given rectangular area by setting them to transparent black (rgba(0,0,0,0)).
156
155
  * @name clearRect
157
- * @memberOf me.CanvasRenderer.prototype
156
+ * @memberof me.CanvasRenderer.prototype
158
157
  * @function
159
158
  * @param {number} x x axis of the coordinate for the rectangle starting point.
160
159
  * @param {number} y y axis of the coordinate for the rectangle starting point.
@@ -168,7 +167,7 @@ class CanvasRenderer extends Renderer {
168
167
  /**
169
168
  * Create a pattern with the specified repetition
170
169
  * @name createPattern
171
- * @memberOf me.CanvasRenderer.prototype
170
+ * @memberof me.CanvasRenderer.prototype
172
171
  * @function
173
172
  * @param {Image} image Source image
174
173
  * @param {string} repeat Define how the pattern should be repeated
@@ -187,7 +186,7 @@ class CanvasRenderer extends Renderer {
187
186
  /**
188
187
  * Draw an image onto the main using the canvas api
189
188
  * @name drawImage
190
- * @memberOf me.CanvasRenderer.prototype
189
+ * @memberof me.CanvasRenderer.prototype
191
190
  * @function
192
191
  * @param {Image} image An element to draw into the context. The specification permits any canvas image source (CanvasImageSource), specifically, a CSSImageValue, an HTMLImageElement, an SVGImageElement, an HTMLVideoElement, an HTMLCanvasElement, an ImageBitmap, or an OffscreenCanvas.
193
192
  * @param {number} sx The X coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
@@ -250,7 +249,7 @@ class CanvasRenderer extends Renderer {
250
249
  /**
251
250
  * Draw a pattern within the given rectangle.
252
251
  * @name drawPattern
253
- * @memberOf me.CanvasRenderer.prototype
252
+ * @memberof me.CanvasRenderer.prototype
254
253
  * @function
255
254
  * @param {CanvasPattern} pattern Pattern object
256
255
  * @param {number} x
@@ -273,7 +272,7 @@ class CanvasRenderer extends Renderer {
273
272
  /**
274
273
  * Stroke an arc at the specified coordinates with given radius, start and end points
275
274
  * @name strokeArc
276
- * @memberOf me.CanvasRenderer.prototype
275
+ * @memberof me.CanvasRenderer.prototype
277
276
  * @function
278
277
  * @param {number} x arc center point x-axis
279
278
  * @param {number} y arc center point y-axis
@@ -300,7 +299,7 @@ class CanvasRenderer extends Renderer {
300
299
  /**
301
300
  * Fill an arc at the specified coordinates with given radius, start and end points
302
301
  * @name fillArc
303
- * @memberOf me.CanvasRenderer.prototype
302
+ * @memberof me.CanvasRenderer.prototype
304
303
  * @function
305
304
  * @param {number} x arc center point x-axis
306
305
  * @param {number} y arc center point y-axis
@@ -316,7 +315,7 @@ class CanvasRenderer extends Renderer {
316
315
  /**
317
316
  * Stroke an ellipse at the specified coordinates with given radius
318
317
  * @name strokeEllipse
319
- * @memberOf me.CanvasRenderer.prototype
318
+ * @memberof me.CanvasRenderer.prototype
320
319
  * @function
321
320
  * @param {number} x ellipse center point x-axis
322
321
  * @param {number} y ellipse center point y-axis
@@ -359,7 +358,7 @@ class CanvasRenderer extends Renderer {
359
358
  /**
360
359
  * Fill an ellipse at the specified coordinates with given radius
361
360
  * @name fillEllipse
362
- * @memberOf me.CanvasRenderer.prototype
361
+ * @memberof me.CanvasRenderer.prototype
363
362
  * @function
364
363
  * @param {number} x ellipse center point x-axis
365
364
  * @param {number} y ellipse center point y-axis
@@ -373,7 +372,7 @@ class CanvasRenderer extends Renderer {
373
372
  /**
374
373
  * Stroke a line of the given two points
375
374
  * @name strokeLine
376
- * @memberOf me.CanvasRenderer.prototype
375
+ * @memberof me.CanvasRenderer.prototype
377
376
  * @function
378
377
  * @param {number} startX the start x coordinate
379
378
  * @param {number} startY the start y coordinate
@@ -397,7 +396,7 @@ class CanvasRenderer extends Renderer {
397
396
  /**
398
397
  * Fill a line of the given two points
399
398
  * @name fillLine
400
- * @memberOf me.CanvasRenderer.prototype
399
+ * @memberof me.CanvasRenderer.prototype
401
400
  * @function
402
401
  * @param {number} startX the start x coordinate
403
402
  * @param {number} startY the start y coordinate
@@ -411,7 +410,7 @@ class CanvasRenderer extends Renderer {
411
410
  /**
412
411
  * Stroke the given me.Polygon on the screen
413
412
  * @name strokePolygon
414
- * @memberOf me.CanvasRenderer.prototype
413
+ * @memberof me.CanvasRenderer.prototype
415
414
  * @function
416
415
  * @param {me.Polygon} poly the shape to draw
417
416
  * @param {boolean} [fill=false] also fill the shape with the current color if true
@@ -441,7 +440,7 @@ class CanvasRenderer extends Renderer {
441
440
  /**
442
441
  * Fill the given me.Polygon on the screen
443
442
  * @name fillPolygon
444
- * @memberOf me.CanvasRenderer.prototype
443
+ * @memberof me.CanvasRenderer.prototype
445
444
  * @function
446
445
  * @param {me.Polygon} poly the shape to draw
447
446
  */
@@ -452,7 +451,7 @@ class CanvasRenderer extends Renderer {
452
451
  /**
453
452
  * Stroke a rectangle at the specified coordinates
454
453
  * @name strokeRect
455
- * @memberOf me.CanvasRenderer.prototype
454
+ * @memberof me.CanvasRenderer.prototype
456
455
  * @function
457
456
  * @param {number} x
458
457
  * @param {number} y
@@ -475,7 +474,7 @@ class CanvasRenderer extends Renderer {
475
474
  /**
476
475
  * Draw a filled rectangle at the specified coordinates
477
476
  * @name fillRect
478
- * @memberOf me.CanvasRenderer.prototype
477
+ * @memberof me.CanvasRenderer.prototype
479
478
  * @function
480
479
  * @param {number} x
481
480
  * @param {number} y
@@ -494,7 +493,7 @@ class CanvasRenderer extends Renderer {
494
493
  /**
495
494
  * return a reference to the system 2d Context
496
495
  * @name getContext
497
- * @memberOf me.CanvasRenderer.prototype
496
+ * @memberof me.CanvasRenderer.prototype
498
497
  * @function
499
498
  * @returns {CanvasRenderingContext2D}
500
499
  */
@@ -514,7 +513,7 @@ class CanvasRenderer extends Renderer {
514
513
  /**
515
514
  * save the canvas context
516
515
  * @name save
517
- * @memberOf me.CanvasRenderer.prototype
516
+ * @memberof me.CanvasRenderer.prototype
518
517
  * @function
519
518
  */
520
519
  save() {
@@ -524,7 +523,7 @@ class CanvasRenderer extends Renderer {
524
523
  /**
525
524
  * restores the canvas context
526
525
  * @name restore
527
- * @memberOf me.CanvasRenderer.prototype
526
+ * @memberof me.CanvasRenderer.prototype
528
527
  * @function
529
528
  */
530
529
  restore() {
@@ -539,7 +538,7 @@ class CanvasRenderer extends Renderer {
539
538
  /**
540
539
  * rotates the canvas context
541
540
  * @name rotate
542
- * @memberOf me.CanvasRenderer.prototype
541
+ * @memberof me.CanvasRenderer.prototype
543
542
  * @function
544
543
  * @param {number} angle in radians
545
544
  */
@@ -550,7 +549,7 @@ class CanvasRenderer extends Renderer {
550
549
  /**
551
550
  * scales the canvas context
552
551
  * @name scale
553
- * @memberOf me.CanvasRenderer.prototype
552
+ * @memberof me.CanvasRenderer.prototype
554
553
  * @function
555
554
  * @param {number} x
556
555
  * @param {number} y
@@ -563,7 +562,7 @@ class CanvasRenderer extends Renderer {
563
562
  * Set the current fill & stroke style color.
564
563
  * By default, or upon reset, the value is set to #000000.
565
564
  * @name setColor
566
- * @memberOf me.CanvasRenderer.prototype
565
+ * @memberof me.CanvasRenderer.prototype
567
566
  * @function
568
567
  * @param {me.Color|string} color css color value
569
568
  */
@@ -579,7 +578,7 @@ class CanvasRenderer extends Renderer {
579
578
  /**
580
579
  * Set the global alpha on the canvas context
581
580
  * @name setGlobalAlpha
582
- * @memberOf me.CanvasRenderer.prototype
581
+ * @memberof me.CanvasRenderer.prototype
583
582
  * @function
584
583
  * @param {number} alpha 0.0 to 1.0 values accepted.
585
584
  */
@@ -590,7 +589,7 @@ class CanvasRenderer extends Renderer {
590
589
  /**
591
590
  * Set the line width on the context
592
591
  * @name setLineWidth
593
- * @memberOf me.CanvasRenderer.prototype
592
+ * @memberof me.CanvasRenderer.prototype
594
593
  * @function
595
594
  * @param {number} width Line width
596
595
  */
@@ -602,7 +601,7 @@ class CanvasRenderer extends Renderer {
602
601
  * Reset (overrides) the renderer transformation matrix to the
603
602
  * identity one, and then apply the given transformation matrix.
604
603
  * @name setTransform
605
- * @memberOf me.CanvasRenderer.prototype
604
+ * @memberof me.CanvasRenderer.prototype
606
605
  * @function
607
606
  * @param {me.Matrix2d} mat2d Matrix to transform by
608
607
  */
@@ -614,7 +613,7 @@ class CanvasRenderer extends Renderer {
614
613
  /**
615
614
  * Multiply given matrix into the renderer tranformation matrix
616
615
  * @name transform
617
- * @memberOf me.CanvasRenderer.prototype
616
+ * @memberof me.CanvasRenderer.prototype
618
617
  * @function
619
618
  * @param {me.Matrix2d} mat2d Matrix to transform by
620
619
  */
@@ -638,7 +637,7 @@ class CanvasRenderer extends Renderer {
638
637
  /**
639
638
  * Translates the context to the given position
640
639
  * @name translate
641
- * @memberOf me.CanvasRenderer.prototype
640
+ * @memberof me.CanvasRenderer.prototype
642
641
  * @function
643
642
  * @param {number} x
644
643
  * @param {number} y
@@ -658,7 +657,7 @@ class CanvasRenderer extends Renderer {
658
657
  * and restore it (with the restore() method) any time in the future.
659
658
  * (<u>this is an experimental feature !</u>)
660
659
  * @name clipRect
661
- * @memberOf me.CanvasRenderer.prototype
660
+ * @memberof me.CanvasRenderer.prototype
662
661
  * @function
663
662
  * @param {number} x
664
663
  * @param {number} y
@@ -691,7 +690,7 @@ class CanvasRenderer extends Renderer {
691
690
  * So, if the renderable is larger than the mask, only the intersecting part of the renderable will be visible.
692
691
  * Mask are not preserved through renderer context save and restore.
693
692
  * @name setMask
694
- * @memberOf me.CanvasRenderer.prototype
693
+ * @memberof me.CanvasRenderer.prototype
695
694
  * @function
696
695
  * @param {me.Rect|me.Polygon|me.Line|me.Ellipse} [mask] the shape defining the mask to be applied
697
696
  */
@@ -740,7 +739,7 @@ class CanvasRenderer extends Renderer {
740
739
  * disable (remove) the rendering mask set through setMask.
741
740
  * @name clearMask
742
741
  * @see me.CanvasRenderer#setMask
743
- * @memberOf me.CanvasRenderer.prototype
742
+ * @memberof me.CanvasRenderer.prototype
744
743
  * @function
745
744
  */
746
745
  clearMask() {
@@ -5,18 +5,17 @@ import * as event from "./../system/event.js";
5
5
  import device from "./../system/device.js";
6
6
  import { setPrefixed } from "./../utils/agent.js";
7
7
  import { Texture } from "./texture.js";
8
- import Rect from "./../shapes/rectangle.js";
9
- import Ellipse from "./../shapes/ellipse.js";
10
- import Polygon from "./../shapes/poly.js";
11
- import Line from "./../shapes/line.js";
8
+ import Rect from "./../geometries/rectangle.js";
9
+ import Ellipse from "./../geometries/ellipse.js";
10
+ import Polygon from "./../geometries/poly.js";
11
+ import Line from "./../geometries/line.js";
12
12
  import Bounds from "./../physics/bounds.js";
13
13
 
14
14
  /**
15
15
  * @classdesc
16
16
  * a base renderer object
17
17
  * @class Renderer
18
- * @memberOf me
19
- * @constructor
18
+ * @memberof me
20
19
  * @param {object} options The renderer parameters
21
20
  * @param {number} options.width The width of the canvas without scaling
22
21
  * @param {number} options.height The height of the canvas without scaling
@@ -38,7 +37,7 @@ class Renderer {
38
37
  * The given constructor options
39
38
  * @public
40
39
  * @name settings
41
- * @memberOf me.Renderer#
40
+ * @memberof me.Renderer#
42
41
  * @enum {object}
43
42
  */
44
43
  this.settings = options;
@@ -46,7 +45,7 @@ class Renderer {
46
45
  /**
47
46
  * true if the current rendering context is valid
48
47
  * @name isContextValid
49
- * @memberOf me.Renderer
48
+ * @memberof me.Renderer
50
49
  * @default true
51
50
  * type {boolean}
52
51
  */
@@ -104,7 +103,7 @@ class Renderer {
104
103
  /**
105
104
  * prepare the framebuffer for drawing a new frame
106
105
  * @name clear
107
- * @memberOf me.Renderer.prototype
106
+ * @memberof me.Renderer.prototype
108
107
  * @function
109
108
  */
110
109
  clear() {}
@@ -112,7 +111,7 @@ class Renderer {
112
111
  /**
113
112
  * Reset context state
114
113
  * @name reset
115
- * @memberOf me.Renderer.prototype
114
+ * @memberof me.Renderer.prototype
116
115
  * @function
117
116
  */
118
117
  reset() {
@@ -130,7 +129,7 @@ class Renderer {
130
129
  /**
131
130
  * return a reference to the system canvas
132
131
  * @name getCanvas
133
- * @memberOf me.Renderer.prototype
132
+ * @memberof me.Renderer.prototype
134
133
  * @function
135
134
  * @returns {HTMLCanvasElement}
136
135
  */
@@ -141,7 +140,7 @@ class Renderer {
141
140
  /**
142
141
  * return a reference to the screen canvas
143
142
  * @name getScreenCanvas
144
- * @memberOf me.Renderer.prototype
143
+ * @memberof me.Renderer.prototype
145
144
  * @function
146
145
  * @returns {HTMLCanvasElement}
147
146
  */
@@ -153,7 +152,7 @@ class Renderer {
153
152
  * return a reference to the screen canvas corresponding 2d Context<br>
154
153
  * (will return buffered context if double buffering is enabled, or a reference to the Screen Context)
155
154
  * @name getScreenContext
156
- * @memberOf me.Renderer.prototype
155
+ * @memberof me.Renderer.prototype
157
156
  * @function
158
157
  * @returns {CanvasRenderingContext2D}
159
158
  */
@@ -164,7 +163,7 @@ class Renderer {
164
163
  /**
165
164
  * returns the current blend mode for this renderer
166
165
  * @name getBlendMode
167
- * @memberOf me.Renderer.prototype
166
+ * @memberof me.Renderer.prototype
168
167
  * @function
169
168
  * @returns {string} blend mode
170
169
  */
@@ -176,7 +175,7 @@ class Renderer {
176
175
  * Returns the 2D Context object of the given Canvas<br>
177
176
  * Also configures anti-aliasing and blend modes based on constructor options.
178
177
  * @name getContext2d
179
- * @memberOf me.Renderer.prototype
178
+ * @memberof me.Renderer.prototype
180
179
  * @function
181
180
  * @param {HTMLCanvasElement} canvas
182
181
  * @param {boolean} [transparent=true] use false to disable transparency
@@ -214,7 +213,7 @@ class Renderer {
214
213
  /**
215
214
  * return the width of the system Canvas
216
215
  * @name getWidth
217
- * @memberOf me.Renderer.prototype
216
+ * @memberof me.Renderer.prototype
218
217
  * @function
219
218
  * @returns {number}
220
219
  */
@@ -225,7 +224,7 @@ class Renderer {
225
224
  /**
226
225
  * return the height of the system Canvas
227
226
  * @name getHeight
228
- * @memberOf me.Renderer.prototype
227
+ * @memberof me.Renderer.prototype
229
228
  * @function
230
229
  * @returns {number} height of the system Canvas
231
230
  */
@@ -236,7 +235,7 @@ class Renderer {
236
235
  /**
237
236
  * get the current fill & stroke style color.
238
237
  * @name getColor
239
- * @memberOf me.Renderer.prototype
238
+ * @memberof me.Renderer.prototype
240
239
  * @function
241
240
  * @returns {me.Color} current global color
242
241
  */
@@ -247,7 +246,7 @@ class Renderer {
247
246
  /**
248
247
  * return the current global alpha
249
248
  * @name globalAlpha
250
- * @memberOf me.Renderer.prototype
249
+ * @memberof me.Renderer.prototype
251
250
  * @function
252
251
  * @returns {number}
253
252
  */
@@ -258,7 +257,7 @@ class Renderer {
258
257
  /**
259
258
  * check if the given rect or bounds overlaps with the renderer screen coordinates
260
259
  * @name overlaps
261
- * @memberOf me.Renderer.prototype
260
+ * @memberof me.Renderer.prototype
262
261
  * @function
263
262
  * @param {me.Rect|me.Bounds} bounds
264
263
  * @returns {boolean} true if overlaps
@@ -274,7 +273,7 @@ class Renderer {
274
273
  /**
275
274
  * resizes the system canvas
276
275
  * @name resize
277
- * @memberOf me.Renderer.prototype
276
+ * @memberof me.Renderer.prototype
278
277
  * @function
279
278
  * @param {number} width new width of the canvas
280
279
  * @param {number} height new height of the canvas
@@ -295,7 +294,7 @@ class Renderer {
295
294
  /**
296
295
  * enable/disable image smoothing (scaling interpolation) for the given context
297
296
  * @name setAntiAlias
298
- * @memberOf me.Renderer.prototype
297
+ * @memberof me.Renderer.prototype
299
298
  * @function
300
299
  * @param {CanvasRenderingContext2D} context
301
300
  * @param {boolean} [enable=false]
@@ -325,7 +324,7 @@ class Renderer {
325
324
  /**
326
325
  * set/change the current projection matrix (WebGL only)
327
326
  * @name setProjection
328
- * @memberOf me.Renderer.prototype
327
+ * @memberof me.Renderer.prototype
329
328
  * @function
330
329
  * @param {me.Matrix3d} matrix
331
330
  */
@@ -336,7 +335,7 @@ class Renderer {
336
335
  /**
337
336
  * stroke the given shape
338
337
  * @name stroke
339
- * @memberOf me.Renderer.prototype
338
+ * @memberof me.Renderer.prototype
340
339
  * @function
341
340
  * @param {me.Rect|me.Polygon|me.Line|me.Ellipse} shape a shape object to stroke
342
341
  * @param {boolean} [fill=false] fill the shape with the current color if true
@@ -360,7 +359,7 @@ class Renderer {
360
359
  /**
361
360
  * tint the given image or canvas using the given color
362
361
  * @name tint
363
- * @memberOf me.Renderer.prototype
362
+ * @memberof me.Renderer.prototype
364
363
  * @function
365
364
  * @param {HTMLImageElement|HTMLCanvasElement|OffscreenCanvas} src the source image to be tinted
366
365
  * @param {me.Color|string} color the color that will be used to tint the image
@@ -389,7 +388,7 @@ class Renderer {
389
388
  /**
390
389
  * fill the given shape
391
390
  * @name fill
392
- * @memberOf me.Renderer.prototype
391
+ * @memberof me.Renderer.prototype
393
392
  * @function
394
393
  * @param {me.Rect|me.Polygon|me.Line|me.Ellipse} shape a shape object to fill
395
394
  */
@@ -402,7 +401,7 @@ class Renderer {
402
401
  * So, if the renderable is larger than the mask, only the intersecting part of the renderable will be visible.
403
402
  * Mask are not preserved through renderer context save and restore.
404
403
  * @name setMask
405
- * @memberOf me.Renderer.prototype
404
+ * @memberof me.Renderer.prototype
406
405
  * @function
407
406
  * @param {me.Rect|me.Polygon|me.Line|me.Ellipse} [mask] the shape defining the mask to be applied
408
407
  */
@@ -413,7 +412,7 @@ class Renderer {
413
412
  * disable (remove) the rendering mask set through setMask.
414
413
  * @name clearMask
415
414
  * @see me.Renderer#setMask
416
- * @memberOf me.Renderer.prototype
415
+ * @memberof me.Renderer.prototype
417
416
  * @function
418
417
  */
419
418
  clearMask() {}
@@ -421,7 +420,7 @@ class Renderer {
421
420
  /**
422
421
  * set a coloring tint for sprite based renderables
423
422
  * @name setTint
424
- * @memberOf me.Renderer.prototype
423
+ * @memberof me.Renderer.prototype
425
424
  * @function
426
425
  * @param {me.Color} tint the tint color
427
426
  * @param {number} [alpha] an alpha value to be applied to the tint
@@ -436,7 +435,7 @@ class Renderer {
436
435
  * clear the rendering tint set through setTint.
437
436
  * @name clearTint
438
437
  * @see me.Renderer#setTint
439
- * @memberOf me.Renderer.prototype
438
+ * @memberof me.Renderer.prototype
440
439
  * @function
441
440
  */
442
441
  clearTint() {
@@ -35,8 +35,7 @@ export function createAtlas(width, height, name = "default", repeat = "no-repeat
35
35
  * - [Free Texture Packer]{@link http://free-tex-packer.com/app/} : through JSON export (standard and multipack texture atlas) <br>
36
36
  * - Standard (fixed cell size) spritesheet : through a {framewidth:xx, frameheight:xx, anchorPoint:me.Vector2d} object
37
37
  * @class Texture
38
- * @memberOf me.Renderer
39
- * @constructor
38
+ * @memberof me.Renderer
40
39
  * @param {object|object[]} atlases atlas information. See {@link me.loader.getJSON}
41
40
  * @param {HTMLImageElement|HTMLCanvasElement|string|HTMLImageElement[]|HTMLCanvasElement[]|string[]} [src=atlas.meta.image] Image source
42
41
  * @param {boolean} [cache=false] Use true to skip caching this Texture
@@ -324,7 +323,7 @@ export class Texture {
324
323
  /**
325
324
  * return the default or specified atlas dictionnary
326
325
  * @name getAtlas
327
- * @memberOf me.Renderer.Texture
326
+ * @memberof me.Renderer.Texture
328
327
  * @function
329
328
  * @param {string} [name] atlas name in case of multipack textures
330
329
  * @returns {object}
@@ -340,7 +339,7 @@ export class Texture {
340
339
  /**
341
340
  * return the format of the atlas dictionnary
342
341
  * @name getFormat
343
- * @memberOf me.Renderer.Texture
342
+ * @memberof me.Renderer.Texture
344
343
  * @function
345
344
  * @returns {string} will return "texturepacker", or "ShoeBox", or "melonJS", or "Spritesheet (fixed cell size)"
346
345
  */
@@ -351,7 +350,7 @@ export class Texture {
351
350
  /**
352
351
  * return the source texture for the given region (or default one if none specified)
353
352
  * @name getTexture
354
- * @memberOf me.Renderer.Texture
353
+ * @memberof me.Renderer.Texture
355
354
  * @function
356
355
  * @param {object} [region] region name in case of multipack textures
357
356
  * @returns {HTMLImageElement|HTMLCanvasElement}
@@ -367,7 +366,7 @@ export class Texture {
367
366
  /**
368
367
  * return a normalized region (or frame) information for the specified sprite name
369
368
  * @name getRegion
370
- * @memberOf me.Renderer.Texture
369
+ * @memberof me.Renderer.Texture
371
370
  * @function
372
371
  * @param {string} name name of the sprite
373
372
  * @param {string} [atlas] name of a specific atlas where to search for the region
@@ -392,7 +391,7 @@ export class Texture {
392
391
  /**
393
392
  * return the uvs mapping for the given region
394
393
  * @name getUVs
395
- * @memberOf me.Renderer.Texture
394
+ * @memberof me.Renderer.Texture
396
395
  * @function
397
396
  * @param {object} name region (or frame) name
398
397
  * @returns {Float32Array} region Uvs
@@ -416,7 +415,7 @@ export class Texture {
416
415
  /**
417
416
  * Create a sprite object using the first region found using the specified name
418
417
  * @name createSpriteFromName
419
- * @memberOf me.Renderer.Texture
418
+ * @memberof me.Renderer.Texture
420
419
  * @function
421
420
  * @param {string} name name of the sprite
422
421
  * @param {object} [settings] Additional settings passed to the {@link me.Sprite} contructor
@@ -459,7 +458,7 @@ export class Texture {
459
458
  /**
460
459
  * Create an animation object using the first region found using all specified names
461
460
  * @name createAnimationFromName
462
- * @memberOf me.Renderer.Texture
461
+ * @memberof me.Renderer.Texture
463
462
  * @function
464
463
  * @param {string[]|number[]} names list of names for each sprite
465
464
  * (when manually creating a Texture out of a spritesheet, only numeric values are authorized)
@@ -60,11 +60,9 @@ class TextureCache {
60
60
  /**
61
61
  * @ignore
62
62
  */
63
- remove(image) {
63
+ delete(image) {
64
64
  if (!this.cache.has(image)) {
65
- if (this.cache.remove(image) === true) {
66
- this.length--;
67
- }
65
+ this.cache.delete(image);
68
66
  }
69
67
  }
70
68