melonjs 15.3.0 → 15.4.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 (287) hide show
  1. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  2. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/index.js +1 -1
  5. package/dist/melonjs.mjs/application/application.js +53 -5
  6. package/dist/melonjs.mjs/application/header.js +2 -2
  7. package/dist/melonjs.mjs/application/resize.js +4 -8
  8. package/dist/melonjs.mjs/application/settings.js +5 -5
  9. package/dist/melonjs.mjs/audio/audio.js +4 -6
  10. package/dist/melonjs.mjs/camera/camera2d.js +12 -14
  11. package/dist/melonjs.mjs/const.js +1 -1
  12. package/dist/melonjs.mjs/entity/entity.js +3 -4
  13. package/dist/melonjs.mjs/geometries/ellipse.js +26 -59
  14. package/dist/melonjs.mjs/geometries/line.js +18 -25
  15. package/dist/melonjs.mjs/geometries/path2d.js +16 -13
  16. package/dist/melonjs.mjs/geometries/point.js +8 -16
  17. package/dist/melonjs.mjs/geometries/poly.js +40 -97
  18. package/dist/melonjs.mjs/geometries/rectangle.js +37 -91
  19. package/dist/melonjs.mjs/geometries/roundrect.js +26 -35
  20. package/dist/melonjs.mjs/index.js +6 -6
  21. package/dist/melonjs.mjs/input/gamepad.js +1 -1
  22. package/dist/melonjs.mjs/input/input.js +1 -1
  23. package/dist/melonjs.mjs/input/keyboard.js +3 -3
  24. package/dist/melonjs.mjs/input/pointer.js +4 -4
  25. package/dist/melonjs.mjs/input/pointerevent.js +6 -7
  26. package/dist/melonjs.mjs/lang/console.js +1 -1
  27. package/dist/melonjs.mjs/lang/deprecated.js +2 -2
  28. package/dist/melonjs.mjs/level/level.js +1 -1
  29. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  30. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +16 -33
  31. package/dist/melonjs.mjs/level/tiled/TMXObject.js +3 -4
  32. package/dist/melonjs.mjs/level/tiled/TMXTile.js +4 -4
  33. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +3 -3
  34. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +4 -7
  35. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +2 -2
  36. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +26 -29
  37. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  38. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +3 -3
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +2 -2
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
  43. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  44. package/dist/melonjs.mjs/loader/cache.js +1 -1
  45. package/dist/melonjs.mjs/loader/loader.js +1 -1
  46. package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
  47. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  48. package/dist/melonjs.mjs/loader/parser.js +4 -5
  49. package/dist/melonjs.mjs/loader/settings.js +1 -1
  50. package/dist/melonjs.mjs/math/color.js +2 -2
  51. package/dist/melonjs.mjs/math/math.js +1 -1
  52. package/dist/melonjs.mjs/math/matrix2.js +5 -59
  53. package/dist/melonjs.mjs/math/matrix3.js +82 -141
  54. package/dist/melonjs.mjs/math/observable_vector2.js +7 -7
  55. package/dist/melonjs.mjs/math/observable_vector3.js +5 -5
  56. package/dist/melonjs.mjs/math/vector2.js +7 -91
  57. package/dist/melonjs.mjs/math/vector3.js +6 -90
  58. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
  59. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
  60. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  61. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  62. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  63. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  64. package/dist/melonjs.mjs/particles/emitter.js +2 -2
  65. package/dist/melonjs.mjs/particles/particle.js +2 -2
  66. package/dist/melonjs.mjs/particles/settings.js +1 -1
  67. package/dist/melonjs.mjs/physics/body.js +22 -20
  68. package/dist/melonjs.mjs/physics/bounds.js +27 -33
  69. package/dist/melonjs.mjs/physics/collision.js +5 -5
  70. package/dist/melonjs.mjs/physics/detector.js +10 -10
  71. package/dist/melonjs.mjs/physics/quadtree.js +5 -5
  72. package/dist/melonjs.mjs/physics/response.js +1 -1
  73. package/dist/melonjs.mjs/physics/sat.js +3 -4
  74. package/dist/melonjs.mjs/physics/world.js +6 -9
  75. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  76. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  77. package/dist/melonjs.mjs/renderable/colorlayer.js +4 -4
  78. package/dist/melonjs.mjs/renderable/container.js +25 -25
  79. package/dist/melonjs.mjs/renderable/draggable.js +1 -1
  80. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  81. package/dist/melonjs.mjs/renderable/imagelayer.js +4 -4
  82. package/dist/melonjs.mjs/renderable/light2d.js +3 -3
  83. package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
  84. package/dist/melonjs.mjs/renderable/renderable.js +26 -26
  85. package/dist/melonjs.mjs/renderable/sprite.js +3 -3
  86. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +421 -0
  87. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +195 -0
  88. package/dist/melonjs.mjs/renderable/text/glyph.js +65 -0
  89. package/dist/melonjs.mjs/renderable/text/text.js +422 -0
  90. package/dist/melonjs.mjs/renderable/text/textmetrics.js +175 -0
  91. package/dist/melonjs.mjs/renderable/text/textstyle.js +21 -0
  92. package/dist/melonjs.mjs/renderable/trigger.js +10 -10
  93. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +7 -7
  94. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +7 -7
  95. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +3 -3
  96. package/dist/melonjs.mjs/state/stage.js +2 -2
  97. package/dist/melonjs.mjs/state/state.js +1 -38
  98. package/dist/melonjs.mjs/system/device.js +49 -10
  99. package/dist/melonjs.mjs/system/dom.js +1 -1
  100. package/dist/melonjs.mjs/system/event.js +24 -2
  101. package/dist/melonjs.mjs/system/platform.js +18 -18
  102. package/dist/melonjs.mjs/system/pooling.js +10 -10
  103. package/dist/melonjs.mjs/system/save.js +1 -1
  104. package/dist/melonjs.mjs/system/timer.js +1 -1
  105. package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
  106. package/dist/melonjs.mjs/text/bitmaptextdata.js +3 -6
  107. package/dist/melonjs.mjs/text/glyph.js +1 -1
  108. package/dist/melonjs.mjs/text/text.js +1 -1
  109. package/dist/melonjs.mjs/text/textmetrics.js +1 -1
  110. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  111. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  112. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  113. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  114. package/dist/melonjs.mjs/utils/agent.js +1 -1
  115. package/dist/melonjs.mjs/utils/array.js +1 -1
  116. package/dist/melonjs.mjs/utils/file.js +1 -1
  117. package/dist/melonjs.mjs/utils/function.js +2 -3
  118. package/dist/melonjs.mjs/utils/string.js +1 -1
  119. package/dist/melonjs.mjs/utils/utils.js +1 -1
  120. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +3 -7
  121. package/dist/melonjs.mjs/video/renderer.js +16 -16
  122. package/dist/melonjs.mjs/video/texture/atlas.js +13 -13
  123. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  124. package/dist/melonjs.mjs/video/texture/canvas_texture.js +15 -15
  125. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  126. package/dist/melonjs.mjs/video/video.js +4 -4
  127. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
  128. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +13 -14
  129. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
  130. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +2 -3
  131. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
  132. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  133. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  134. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  136. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  137. package/dist/melonjs.mjs/video/webgl/utils/precision.js +4 -4
  138. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  139. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  140. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  141. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +50 -52
  142. package/dist/melonjs.module.js +1137 -1576
  143. package/dist/types/application/application.d.ts +28 -4
  144. package/dist/types/application/header.d.ts +2 -2
  145. package/dist/types/application/settings.d.ts +23 -23
  146. package/dist/types/audio/audio.d.ts +4 -6
  147. package/dist/types/camera/camera2d.d.ts +13 -16
  148. package/dist/types/entity/entity.d.ts +0 -1
  149. package/dist/types/geometries/ellipse.d.ts +18 -50
  150. package/dist/types/geometries/path2d.d.ts +1 -1
  151. package/dist/types/geometries/point.d.ts +5 -13
  152. package/dist/types/geometries/poly.d.ts +26 -75
  153. package/dist/types/geometries/rectangle.d.ts +12 -58
  154. package/dist/types/geometries/roundrect.d.ts +2 -11
  155. package/dist/types/index.d.ts +3 -3
  156. package/dist/types/input/gamepad.d.ts +31 -31
  157. package/dist/types/input/keyboard.d.ts +105 -105
  158. package/dist/types/input/pointer.d.ts +21 -21
  159. package/dist/types/input/pointerevent.d.ts +6 -6
  160. package/dist/types/level/tiled/TMXLayer.d.ts +1 -1
  161. package/dist/types/math/matrix2.d.ts +9 -63
  162. package/dist/types/math/matrix3.d.ts +9 -68
  163. package/dist/types/math/observable_vector2.d.ts +2 -2
  164. package/dist/types/math/observable_vector3.d.ts +2 -2
  165. package/dist/types/math/vector2.d.ts +8 -92
  166. package/dist/types/math/vector3.d.ts +8 -92
  167. package/dist/types/particles/settings.d.ts +29 -29
  168. package/dist/types/physics/body.d.ts +10 -8
  169. package/dist/types/physics/bounds.d.ts +24 -30
  170. package/dist/types/physics/collision.d.ts +12 -12
  171. package/dist/types/physics/detector.d.ts +1 -1
  172. package/dist/types/physics/world.d.ts +4 -7
  173. package/dist/types/renderable/container.d.ts +19 -19
  174. package/dist/types/renderable/imagelayer.d.ts +6 -6
  175. package/dist/types/renderable/light2d.d.ts +7 -7
  176. package/dist/types/renderable/renderable.d.ts +9 -16
  177. package/dist/types/renderable/text/bitmaptext.d.ts +151 -0
  178. package/dist/types/renderable/text/bitmaptextdata.d.ts +35 -0
  179. package/dist/types/renderable/text/glyph.d.ts +28 -0
  180. package/dist/types/renderable/text/text.d.ts +159 -0
  181. package/dist/types/renderable/text/textmetrics.d.ts +47 -0
  182. package/dist/types/renderable/text/textstyle.d.ts +5 -0
  183. package/dist/types/renderable/ui/uibaseelement.d.ts +0 -1
  184. package/dist/types/renderable/ui/uispriteelement.d.ts +0 -1
  185. package/dist/types/renderable/ui/uitextbutton.d.ts +2 -7
  186. package/dist/types/state/state.d.ts +11 -11
  187. package/dist/types/system/device.d.ts +15 -9
  188. package/dist/types/system/event.d.ts +20 -0
  189. package/dist/types/system/platform.d.ts +17 -17
  190. package/dist/types/utils/function.d.ts +1 -2
  191. package/dist/types/video/renderer.d.ts +13 -13
  192. package/dist/types/video/texture/canvas_texture.d.ts +14 -14
  193. package/dist/types/video/video.d.ts +2 -2
  194. package/dist/types/video/webgl/buffer/vertex.d.ts +2 -2
  195. package/dist/types/video/webgl/compositors/compositor.d.ts +24 -13
  196. package/dist/types/video/webgl/compositors/primitive_compositor.d.ts +0 -1
  197. package/dist/types/video/webgl/compositors/quad_compositor.d.ts +0 -1
  198. package/dist/types/video/webgl/utils/precision.d.ts +1 -1
  199. package/dist/types/video/webgl/webgl_renderer.d.ts +47 -50
  200. package/package.json +15 -15
  201. package/src/application/application.js +51 -3
  202. package/src/application/header.js +1 -1
  203. package/src/application/resize.js +3 -7
  204. package/src/application/settings.js +4 -4
  205. package/src/audio/audio.js +3 -5
  206. package/src/camera/camera2d.js +11 -13
  207. package/src/entity/entity.js +2 -3
  208. package/src/geometries/ellipse.js +25 -58
  209. package/src/geometries/line.js +17 -24
  210. package/src/geometries/path2d.js +15 -12
  211. package/src/geometries/point.js +7 -15
  212. package/src/geometries/poly.js +39 -96
  213. package/src/geometries/rectangle.js +36 -90
  214. package/src/geometries/roundrect.js +25 -34
  215. package/src/index.js +4 -4
  216. package/src/input/keyboard.js +2 -2
  217. package/src/input/pointer.js +3 -3
  218. package/src/input/pointerevent.js +5 -6
  219. package/src/lang/deprecated.js +1 -1
  220. package/src/level/tiled/TMXLayer.js +15 -32
  221. package/src/level/tiled/TMXObject.js +2 -3
  222. package/src/level/tiled/TMXTile.js +3 -3
  223. package/src/level/tiled/TMXTileMap.js +2 -2
  224. package/src/level/tiled/TMXTileset.js +3 -6
  225. package/src/level/tiled/TMXTilesetGroup.js +1 -1
  226. package/src/level/tiled/TMXUtils.js +25 -28
  227. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
  228. package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  229. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  230. package/src/level/tiled/renderer/TMXRenderer.js +1 -1
  231. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  232. package/src/loader/parser.js +3 -4
  233. package/src/math/color.js +1 -1
  234. package/src/math/matrix2.js +4 -58
  235. package/src/math/matrix3.js +81 -140
  236. package/src/math/observable_vector2.js +6 -6
  237. package/src/math/observable_vector3.js +4 -4
  238. package/src/math/vector2.js +6 -90
  239. package/src/math/vector3.js +5 -89
  240. package/src/particles/emitter.js +1 -1
  241. package/src/particles/particle.js +1 -1
  242. package/src/physics/body.js +21 -19
  243. package/src/physics/bounds.js +26 -32
  244. package/src/physics/collision.js +4 -4
  245. package/src/physics/detector.js +9 -9
  246. package/src/physics/quadtree.js +4 -4
  247. package/src/physics/sat.js +2 -3
  248. package/src/physics/world.js +5 -8
  249. package/src/polyfill/roundrect.js +163 -163
  250. package/src/renderable/collectable.js +1 -1
  251. package/src/renderable/colorlayer.js +3 -3
  252. package/src/renderable/container.js +24 -24
  253. package/src/renderable/imagelayer.js +3 -3
  254. package/src/renderable/light2d.js +2 -2
  255. package/src/renderable/nineslicesprite.js +1 -1
  256. package/src/renderable/renderable.js +25 -25
  257. package/src/renderable/sprite.js +2 -2
  258. package/src/{text → renderable/text}/bitmaptext.js +8 -8
  259. package/src/{text → renderable/text}/bitmaptextdata.js +4 -7
  260. package/src/{text → renderable/text}/glyph.js +1 -1
  261. package/src/{text → renderable/text}/text.js +16 -17
  262. package/src/{text → renderable/text}/textmetrics.js +2 -2
  263. package/src/renderable/trigger.js +9 -9
  264. package/src/renderable/ui/uibaseelement.js +6 -6
  265. package/src/renderable/ui/uispriteelement.js +6 -6
  266. package/src/renderable/ui/uitextbutton.js +2 -2
  267. package/src/state/stage.js +1 -1
  268. package/src/state/state.js +0 -49
  269. package/src/system/device.js +48 -9
  270. package/src/system/event.js +22 -0
  271. package/src/system/platform.js +18 -18
  272. package/src/system/pooling.js +9 -9
  273. package/src/tweens/tween.js +1 -1
  274. package/src/utils/function.js +1 -2
  275. package/src/video/canvas/canvas_renderer.js +2 -6
  276. package/src/video/renderer.js +15 -15
  277. package/src/video/texture/atlas.js +12 -12
  278. package/src/video/texture/canvas_texture.js +14 -14
  279. package/src/video/video.js +3 -3
  280. package/src/video/webgl/buffer/vertex.js +2 -2
  281. package/src/video/webgl/compositors/compositor.js +12 -13
  282. package/src/video/webgl/compositors/primitive_compositor.js +4 -4
  283. package/src/video/webgl/compositors/quad_compositor.js +1 -2
  284. package/src/video/webgl/glshader.js +1 -1
  285. package/src/video/webgl/utils/precision.js +3 -3
  286. package/src/video/webgl/webgl_renderer.js +49 -51
  287. /package/src/{text → renderable/text}/textstyle.js +0 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.3.0
2
+ * melonJS Game Engine - v15.4.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -22,7 +22,7 @@ import { isPowerOfTwo } from '../../math/math.js';
22
22
  * a WebGL renderer object
23
23
  * @augments Renderer
24
24
  */
25
- class WebGLRenderer extends Renderer {
25
+ class WebGLRenderer extends Renderer {
26
26
  /**
27
27
  * @param {Application.Settings} [options] - optional parameters for the renderer
28
28
  */
@@ -238,8 +238,8 @@ import { isPowerOfTwo } from '../../math/math.js';
238
238
  /**
239
239
  * add a new compositor to this renderer
240
240
  * @param {Compositor} compositor - a compositor instance
241
- * @param {String} name - a name uniquely identifying this compositor
242
- * @param {Boolean} [activate=false] - true if the given compositor should be set as the active one
241
+ * @param {string} name - a name uniquely identifying this compositor
242
+ * @param {boolean} [activate=false] - true if the given compositor should be set as the active one
243
243
  */
244
244
  addCompositor(compositor, name = "default", activate = false) {
245
245
  // make sure there is no existing compositor with the same name
@@ -258,9 +258,9 @@ import { isPowerOfTwo } from '../../math/math.js';
258
258
 
259
259
  /**
260
260
  * set the active compositor for this renderer
261
- * @param {String} name - a compositor name
261
+ * @param {string} name - a compositor name
262
262
  * @param {GLShader} [shader] - an optional shader program to be used, instead of the default one, when activating the compositor
263
- * @return {Compositor} an instance to the current active compositor
263
+ * @returns {Compositor} an instance to the current active compositor
264
264
  */
265
265
  setCompositor(name = "default", shader = this.customShader) {
266
266
  let compositor = this.compositors.get(name);
@@ -299,7 +299,7 @@ import { isPowerOfTwo } from '../../math/math.js';
299
299
  * Create a pattern with the specified repetition
300
300
  * @param {HTMLImageElement|SVGImageElement|HTMLVideoElement|HTMLCanvasElement|ImageBitmap|OffscreenCanvas|VideoFrame} image - Source image to be used as the pattern's image
301
301
  * @param {string} repeat - Define how the pattern should be repeated
302
- * @returns {TextureAtlas}
302
+ * @returns {TextureAtlas} the patterned texture created
303
303
  * @see ImageLayer#repeat
304
304
  * @example
305
305
  * let tileable = renderer.createPattern(image, "repeat");
@@ -336,7 +336,7 @@ import { isPowerOfTwo } from '../../math/math.js';
336
336
 
337
337
  /**
338
338
  * set/change the current projection matrix (WebGL only)
339
- * @param {Matrix3d} matrix
339
+ * @param {Matrix3d} matrix - the new projection matrix
340
340
  */
341
341
  setProjection(matrix) {
342
342
  super.setProjection(matrix);
@@ -459,10 +459,10 @@ import { isPowerOfTwo } from '../../math/math.js';
459
459
  /**
460
460
  * Draw a pattern within the given rectangle.
461
461
  * @param {TextureAtlas} pattern - Pattern object
462
- * @param {number} x
463
- * @param {number} y
464
- * @param {number} width
465
- * @param {number} height
462
+ * @param {number} x - x position where to draw the pattern
463
+ * @param {number} y - y position where to draw the pattern
464
+ * @param {number} width - width of the pattern
465
+ * @param {number} height - height of the pattern
466
466
  * @see WebGLRenderer#createPattern
467
467
  */
468
468
  drawPattern(pattern, x, y, width, height) {
@@ -473,10 +473,10 @@ import { isPowerOfTwo } from '../../math/math.js';
473
473
 
474
474
  /**
475
475
  * Returns the WebGL Context object of the given canvas element
476
- * @param {HTMLCanvasElement} canvas
476
+ * @param {HTMLCanvasElement} canvas - the canvas element
477
477
  * @param {boolean} [transparent=false] - use true to enable transparency
478
478
  * @param {boolean} [depth=false] - use true to enable depth buffer testing
479
- * @returns {WebGLRenderingContext}
479
+ * @returns {WebGLRenderingContext} the WebGL Context object
480
480
  */
481
481
  getContextGL(canvas, transparent = false, depth = false) {
482
482
  if (typeof canvas === "undefined" || canvas === null) {
@@ -525,7 +525,7 @@ import { isPowerOfTwo } from '../../math/math.js';
525
525
  /**
526
526
  * Returns the WebGLContext instance for the renderer
527
527
  * return a reference to the system 2d Context
528
- * @returns {WebGLRenderingContext}
528
+ * @returns {WebGLRenderingContext} the current WebGL context
529
529
  */
530
530
  getContext() {
531
531
  return this.gl;
@@ -544,7 +544,7 @@ import { isPowerOfTwo } from '../../math/math.js';
544
544
  * <img src="images/screen-blendmode.png" width="510"/> <br>
545
545
  * @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
546
546
  * @param {string} [mode="normal"] - blend mode : "normal", "multiply", "lighter", "additive", "screen"
547
- * @param {WebGLRenderingContext} [gl]
547
+ * @param {WebGLRenderingContext} [gl] - a WebGL context
548
548
  */
549
549
  setBlendMode(mode = "normal", gl = this.gl) {
550
550
 
@@ -633,8 +633,8 @@ import { isPowerOfTwo } from '../../math/math.js';
633
633
 
634
634
  /**
635
635
  * scales the uniform matrix
636
- * @param {number} x
637
- * @param {number} y
636
+ * @param {number} x - x-axis scale
637
+ * @param {number} y - y-axis scale
638
638
  */
639
639
  scale(x, y) {
640
640
  this.currentTransform.scale(x, y);
@@ -688,11 +688,11 @@ import { isPowerOfTwo } from '../../math/math.js';
688
688
  * Stroke an arc at the specified coordinates with given radius, start and end points
689
689
  * @param {number} x - arc center point x-axis
690
690
  * @param {number} y - arc center point y-axis
691
- * @param {number} radius
691
+ * @param {number} radius - arc radius
692
692
  * @param {number} start - start angle in radians
693
693
  * @param {number} end - end angle in radians
694
694
  * @param {boolean} [antiClockwise=false] - draw arc anti-clockwise
695
- * @param {boolean} [fill=false]
695
+ * @param {boolean} [fill=false] - also fill the shape with the current color if true
696
696
  */
697
697
  strokeArc(x, y, radius, start, end, antiClockwise = false, fill = false) {
698
698
  this.setCompositor("primitive");
@@ -710,7 +710,7 @@ import { isPowerOfTwo } from '../../math/math.js';
710
710
  * Fill an arc at the specified coordinates with given radius, start and end points
711
711
  * @param {number} x - arc center point x-axis
712
712
  * @param {number} y - arc center point y-axis
713
- * @param {number} radius
713
+ * @param {number} radius - arc radius
714
714
  * @param {number} start - start angle in radians
715
715
  * @param {number} end - end angle in radians
716
716
  * @param {boolean} [antiClockwise=false] - draw arc anti-clockwise
@@ -813,10 +813,10 @@ import { isPowerOfTwo } from '../../math/math.js';
813
813
 
814
814
  /**
815
815
  * Draw a stroke rectangle at the specified coordinates
816
- * @param {number} x
817
- * @param {number} y
818
- * @param {number} width
819
- * @param {number} height
816
+ * @param {number} x - x axis of the coordinate for the rectangle starting point.
817
+ * @param {number} y - y axis of the coordinate for the rectangle starting point.
818
+ * @param {number} width - The rectangle's width.
819
+ * @param {number} height - The rectangle's height.
820
820
  * @param {boolean} [fill=false] - also fill the shape with the current color if true
821
821
  */
822
822
  strokeRect(x, y, width, height, fill = false) {
@@ -832,10 +832,10 @@ import { isPowerOfTwo } from '../../math/math.js';
832
832
 
833
833
  /**
834
834
  * Draw a filled rectangle at the specified coordinates
835
- * @param {number} x
836
- * @param {number} y
837
- * @param {number} width
838
- * @param {number} height
835
+ * @param {number} x - x axis of the coordinate for the rectangle starting point.
836
+ * @param {number} y - y axis of the coordinate for the rectangle starting point.
837
+ * @param {number} width - The rectangle's width.
838
+ * @param {number} height - The rectangle's height.
839
839
  */
840
840
  fillRect(x, y, width, height) {
841
841
  this.strokeRect(x, y, width, height, true);
@@ -843,11 +843,11 @@ import { isPowerOfTwo } from '../../math/math.js';
843
843
 
844
844
  /**
845
845
  * Stroke a rounded rectangle at the specified coordinates
846
- * @param {number} x
847
- * @param {number} y
848
- * @param {number} width
849
- * @param {number} height
850
- * @param {number} radius
846
+ * @param {number} x - x axis of the coordinate for the rounded rectangle starting point.
847
+ * @param {number} y - y axis of the coordinate for the rounded rectangle starting point.
848
+ * @param {number} width - The rounded rectangle's width.
849
+ * @param {number} height - The rounded rectangle's height.
850
+ * @param {number} radius - The rounded corner's radius.
851
851
  * @param {boolean} [fill=false] - also fill the shape with the current color if true
852
852
  */
853
853
  strokeRoundRect(x, y, width, height, radius, fill = false) {
@@ -864,11 +864,11 @@ import { isPowerOfTwo } from '../../math/math.js';
864
864
 
865
865
  /**
866
866
  * Draw a rounded filled rectangle at the specified coordinates
867
- * @param {number} x
868
- * @param {number} y
869
- * @param {number} width
870
- * @param {number} height
871
- * @param {number} radius
867
+ * @param {number} x - x axis of the coordinate for the rounded rectangle starting point.
868
+ * @param {number} y - y axis of the coordinate for the rounded rectangle starting point.
869
+ * @param {number} width - The rounded rectangle's width.
870
+ * @param {number} height - The rounded rectangle's height.
871
+ * @param {number} radius - The rounded corner's radius.
872
872
  */
873
873
  fillRoundRect(x, y, width, height, radius) {
874
874
  this.strokeRoundRect(x, y, width, height, radius, true);
@@ -876,8 +876,8 @@ import { isPowerOfTwo } from '../../math/math.js';
876
876
 
877
877
  /**
878
878
  * Stroke a Point at the specified coordinates
879
- * @param {number} x
880
- * @param {number} y
879
+ * @param {number} x - x axis of the coordinate for the point.
880
+ * @param {number} y - y axis of the coordinate for the point.
881
881
  */
882
882
  strokePoint(x, y) {
883
883
  this.strokeLine(x, y, x + 1, y + 1);
@@ -885,10 +885,8 @@ import { isPowerOfTwo } from '../../math/math.js';
885
885
 
886
886
  /**
887
887
  * Draw a a point at the specified coordinates
888
- * @param {number} x
889
- * @param {number} y
890
- * @param {number} width
891
- * @param {number} height
888
+ * @param {number} x - x axis of the coordinate for the point.
889
+ * @param {number} y - y axis of the coordinate for the point.
892
890
  */
893
891
  fillPoint(x, y) {
894
892
  this.strokePoint(x, y);
@@ -921,8 +919,8 @@ import { isPowerOfTwo } from '../../math/math.js';
921
919
 
922
920
  /**
923
921
  * Translates the uniform matrix by the given coordinates
924
- * @param {number} x
925
- * @param {number} y
922
+ * @param {number} x - x axis of the coordinate for the translation.
923
+ * @param {number} y - y axis of the coordinate for the translation.
926
924
  */
927
925
  translate(x, y) {
928
926
  let currentTransform = this.currentTransform;
@@ -941,10 +939,10 @@ import { isPowerOfTwo } from '../../math/math.js';
941
939
  * You can however save the current region using the save(),
942
940
  * and restore it (with the restore() method) any time in the future.
943
941
  * (<u>this is an experimental feature !</u>)
944
- * @param {number} x
945
- * @param {number} y
946
- * @param {number} width
947
- * @param {number} height
942
+ * @param {number} x - x axis of the coordinate for the upper-left corner of the rectangle to start clipping from.
943
+ * @param {number} y - y axis of the coordinate for the upper-left corner of the rectangle to start clipping from.
944
+ * @param {number} width - the width of the rectangle to start clipping from.
945
+ * @param {number} height - the height of the rectangle to start clipping from.
948
946
  */
949
947
  clipRect(x, y, width, height) {
950
948
  let canvas = this.getCanvas();
@@ -956,7 +954,7 @@ import { isPowerOfTwo } from '../../math/math.js';
956
954
  // if same as the current scissor box do nothing
957
955
  if (currentScissor[0] === x && currentScissor[1] === y &&
958
956
  currentScissor[2] === width && currentScissor[3] === height) {
959
- return;
957
+ return;
960
958
  }
961
959
  }
962
960
  // flush the compositor