melonjs 15.0.0 → 15.1.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 (285) hide show
  1. package/README.md +4 -4
  2. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/arraymultimap.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  5. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  6. package/dist/melonjs.mjs/_virtual/index.js +7 -3
  7. package/dist/melonjs.mjs/_virtual/index2.js +1 -1
  8. package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
  9. package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
  10. package/dist/melonjs.mjs/application/application.js +27 -17
  11. package/dist/melonjs.mjs/application/header.js +6 -5
  12. package/dist/melonjs.mjs/application/resize.js +20 -20
  13. package/dist/melonjs.mjs/application/settings.js +1 -1
  14. package/dist/melonjs.mjs/audio/audio.js +17 -17
  15. package/dist/melonjs.mjs/camera/camera2d.js +10 -10
  16. package/dist/melonjs.mjs/const.js +1 -1
  17. package/dist/melonjs.mjs/entity/entity.js +4 -4
  18. package/dist/melonjs.mjs/geometries/ellipse.js +6 -6
  19. package/dist/melonjs.mjs/geometries/line.js +9 -9
  20. package/dist/melonjs.mjs/geometries/path2d.js +53 -53
  21. package/dist/melonjs.mjs/geometries/point.js +2 -2
  22. package/dist/melonjs.mjs/geometries/poly.js +29 -29
  23. package/dist/melonjs.mjs/geometries/rectangle.js +8 -8
  24. package/dist/melonjs.mjs/geometries/roundrect.js +6 -6
  25. package/dist/melonjs.mjs/index.js +5 -5
  26. package/dist/melonjs.mjs/input/gamepad.js +30 -30
  27. package/dist/melonjs.mjs/input/input.js +2 -2
  28. package/dist/melonjs.mjs/input/keyboard.js +15 -15
  29. package/dist/melonjs.mjs/input/pointer.js +2 -2
  30. package/dist/melonjs.mjs/input/pointerevent.js +58 -58
  31. package/dist/melonjs.mjs/lang/console.js +3 -3
  32. package/dist/melonjs.mjs/lang/deprecated.js +2 -2
  33. package/dist/melonjs.mjs/level/level.js +9 -9
  34. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +3 -3
  35. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +31 -31
  36. package/dist/melonjs.mjs/level/tiled/TMXObject.js +8 -8
  37. package/dist/melonjs.mjs/level/tiled/TMXTile.js +8 -8
  38. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +19 -19
  39. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +15 -15
  40. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -3
  41. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +46 -41
  42. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +30 -30
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +21 -21
  45. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +10 -10
  46. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
  47. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +6 -6
  48. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  49. package/dist/melonjs.mjs/loader/cache.js +1 -1
  50. package/dist/melonjs.mjs/loader/loader.js +7 -7
  51. package/dist/melonjs.mjs/loader/loadingscreen.js +2 -2
  52. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  53. package/dist/melonjs.mjs/loader/parser.js +13 -13
  54. package/dist/melonjs.mjs/loader/settings.js +3 -3
  55. package/dist/melonjs.mjs/math/color.js +21 -21
  56. package/dist/melonjs.mjs/math/math.js +2 -2
  57. package/dist/melonjs.mjs/math/matrix2.js +22 -22
  58. package/dist/melonjs.mjs/math/matrix3.js +52 -52
  59. package/dist/melonjs.mjs/math/observable_vector2.js +12 -12
  60. package/dist/melonjs.mjs/math/observable_vector3.js +22 -22
  61. package/dist/melonjs.mjs/math/vector2.js +11 -11
  62. package/dist/melonjs.mjs/math/vector3.js +21 -21
  63. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +45 -0
  64. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +130 -0
  65. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +1 -1
  66. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
  67. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +1 -1
  68. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +1 -1
  69. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  70. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
  71. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  72. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  73. package/dist/melonjs.mjs/particles/emitter.js +5 -5
  74. package/dist/melonjs.mjs/particles/particle.js +8 -8
  75. package/dist/melonjs.mjs/particles/settings.js +3 -3
  76. package/dist/melonjs.mjs/physics/body.js +17 -17
  77. package/dist/melonjs.mjs/physics/bounds.js +12 -12
  78. package/dist/melonjs.mjs/physics/collision.js +3 -3
  79. package/dist/melonjs.mjs/physics/detector.js +14 -14
  80. package/dist/melonjs.mjs/physics/quadtree.js +19 -19
  81. package/dist/melonjs.mjs/physics/response.js +1 -1
  82. package/dist/melonjs.mjs/physics/sat.js +60 -60
  83. package/dist/melonjs.mjs/physics/world.js +4 -4
  84. package/dist/melonjs.mjs/plugin/plugin.js +11 -11
  85. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  86. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  87. package/dist/melonjs.mjs/renderable/container.js +77 -59
  88. package/dist/melonjs.mjs/renderable/dragndrop.js +5 -5
  89. package/dist/melonjs.mjs/renderable/imagelayer.js +7 -6
  90. package/dist/melonjs.mjs/renderable/light2d.js +6 -6
  91. package/dist/melonjs.mjs/renderable/nineslicesprite.js +12 -12
  92. package/dist/melonjs.mjs/renderable/renderable.js +11 -11
  93. package/dist/melonjs.mjs/renderable/sprite.js +25 -25
  94. package/dist/melonjs.mjs/renderable/trigger.js +11 -9
  95. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +97 -27
  96. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +25 -25
  97. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +83 -63
  98. package/dist/melonjs.mjs/state/stage.js +7 -7
  99. package/dist/melonjs.mjs/state/state.js +15 -15
  100. package/dist/melonjs.mjs/system/device.js +2 -2
  101. package/dist/melonjs.mjs/system/dom.js +1 -1
  102. package/dist/melonjs.mjs/system/event.js +2 -2
  103. package/dist/melonjs.mjs/system/platform.js +1 -1
  104. package/dist/melonjs.mjs/system/pooling.js +9 -9
  105. package/dist/melonjs.mjs/system/save.js +6 -6
  106. package/dist/melonjs.mjs/system/timer.js +16 -12
  107. package/dist/melonjs.mjs/text/bitmaptext.js +20 -20
  108. package/dist/melonjs.mjs/text/bitmaptextdata.js +22 -22
  109. package/dist/melonjs.mjs/text/glyph.js +3 -3
  110. package/dist/melonjs.mjs/text/text.js +10 -9
  111. package/dist/melonjs.mjs/text/textmetrics.js +15 -15
  112. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  113. package/dist/melonjs.mjs/tweens/easing.js +4 -4
  114. package/dist/melonjs.mjs/tweens/interpolation.js +8 -8
  115. package/dist/melonjs.mjs/tweens/tween.js +11 -11
  116. package/dist/melonjs.mjs/utils/agent.js +6 -6
  117. package/dist/melonjs.mjs/utils/array.js +4 -4
  118. package/dist/melonjs.mjs/utils/file.js +1 -1
  119. package/dist/melonjs.mjs/utils/function.js +5 -5
  120. package/dist/melonjs.mjs/utils/string.js +3 -3
  121. package/dist/melonjs.mjs/utils/utils.js +16 -16
  122. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +35 -109
  123. package/dist/melonjs.mjs/video/renderer.js +74 -7
  124. package/dist/melonjs.mjs/video/texture/atlas.js +37 -37
  125. package/dist/melonjs.mjs/video/texture/cache.js +9 -10
  126. package/dist/melonjs.mjs/video/texture/canvas_texture.js +63 -3
  127. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  128. package/dist/melonjs.mjs/video/video.js +2 -2
  129. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
  130. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +5 -5
  131. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
  132. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +18 -15
  133. package/dist/melonjs.mjs/video/webgl/glshader.js +7 -7
  134. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  136. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  137. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  138. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
  139. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  140. package/dist/melonjs.mjs/video/webgl/utils/program.js +7 -7
  141. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  142. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +4 -4
  143. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +55 -38
  144. package/dist/melonjs.module.js +1747 -1809
  145. package/dist/types/application/application.d.ts +11 -8
  146. package/dist/types/audio/audio.d.ts +3 -3
  147. package/dist/types/index.d.ts +4 -3
  148. package/dist/types/input/input.d.ts +1 -1
  149. package/dist/types/input/keyboard.d.ts +1 -1
  150. package/dist/types/input/pointerevent.d.ts +6 -6
  151. package/dist/types/level/level.d.ts +2 -2
  152. package/dist/types/level/tiled/TMXLayer.d.ts +4 -4
  153. package/dist/types/level/tiled/TMXTileMap.d.ts +2 -2
  154. package/dist/types/level/tiled/TMXUtils.d.ts +5 -4
  155. package/dist/types/loader/loader.d.ts +2 -2
  156. package/dist/types/loader/settings.d.ts +2 -2
  157. package/dist/types/particles/emitter.d.ts +1 -1
  158. package/dist/types/physics/collision.d.ts +1 -1
  159. package/dist/types/physics/detector.d.ts +1 -1
  160. package/dist/types/plugin/plugin.d.ts +2 -2
  161. package/dist/types/renderable/container.d.ts +21 -17
  162. package/dist/types/renderable/sprite.d.ts +11 -11
  163. package/dist/types/renderable/trigger.d.ts +1 -1
  164. package/dist/types/renderable/ui/uibaseelement.d.ts +28 -6
  165. package/dist/types/renderable/ui/uispriteelement.d.ts +12 -14
  166. package/dist/types/renderable/ui/uitextbutton.d.ts +52 -11
  167. package/dist/types/state/stage.d.ts +1 -1
  168. package/dist/types/system/device.d.ts +1 -1
  169. package/dist/types/system/pooling.d.ts +3 -3
  170. package/dist/types/system/timer.d.ts +5 -5
  171. package/dist/types/text/bitmaptext.d.ts +1 -1
  172. package/dist/types/text/text.d.ts +1 -1
  173. package/dist/types/utils/array.d.ts +2 -2
  174. package/dist/types/video/canvas/canvas_renderer.d.ts +8 -76
  175. package/dist/types/video/renderer.d.ts +48 -0
  176. package/dist/types/video/texture/atlas.d.ts +3 -3
  177. package/dist/types/video/texture/canvas_texture.d.ts +40 -0
  178. package/dist/types/video/webgl/glshader.d.ts +1 -1
  179. package/dist/types/video/webgl/webgl_renderer.d.ts +13 -9
  180. package/package.json +14 -14
  181. package/src/application/application.js +26 -16
  182. package/src/application/header.js +5 -4
  183. package/src/application/resize.js +19 -19
  184. package/src/audio/audio.js +16 -16
  185. package/src/camera/camera2d.js +9 -9
  186. package/src/entity/entity.js +3 -3
  187. package/src/geometries/ellipse.js +5 -5
  188. package/src/geometries/line.js +8 -8
  189. package/src/geometries/path2d.js +52 -52
  190. package/src/geometries/point.js +1 -1
  191. package/src/geometries/poly.js +28 -28
  192. package/src/geometries/rectangle.js +7 -7
  193. package/src/geometries/roundrect.js +5 -5
  194. package/src/index.js +3 -2
  195. package/src/input/gamepad.js +29 -29
  196. package/src/input/input.js +1 -1
  197. package/src/input/keyboard.js +14 -14
  198. package/src/input/pointer.js +1 -1
  199. package/src/input/pointerevent.js +52 -52
  200. package/src/lang/console.js +2 -2
  201. package/src/lang/deprecated.js +1 -1
  202. package/src/level/level.js +8 -8
  203. package/src/level/tiled/TMXGroup.js +2 -2
  204. package/src/level/tiled/TMXLayer.js +30 -30
  205. package/src/level/tiled/TMXObject.js +7 -7
  206. package/src/level/tiled/TMXTile.js +7 -7
  207. package/src/level/tiled/TMXTileMap.js +18 -18
  208. package/src/level/tiled/TMXTileset.js +14 -14
  209. package/src/level/tiled/TMXTilesetGroup.js +2 -2
  210. package/src/level/tiled/TMXUtils.js +45 -40
  211. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +29 -29
  212. package/src/level/tiled/renderer/TMXIsometricRenderer.js +20 -20
  213. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +9 -9
  214. package/src/level/tiled/renderer/TMXRenderer.js +1 -1
  215. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +5 -5
  216. package/src/loader/loader.js +6 -6
  217. package/src/loader/loadingscreen.js +1 -1
  218. package/src/loader/parser.js +12 -12
  219. package/src/loader/settings.js +2 -2
  220. package/src/math/color.js +20 -20
  221. package/src/math/math.js +1 -1
  222. package/src/math/matrix2.js +21 -21
  223. package/src/math/matrix3.js +51 -51
  224. package/src/math/observable_vector2.js +11 -11
  225. package/src/math/observable_vector3.js +21 -21
  226. package/src/math/vector2.js +10 -10
  227. package/src/math/vector3.js +20 -20
  228. package/src/particles/emitter.js +4 -4
  229. package/src/particles/particle.js +7 -7
  230. package/src/particles/settings.js +2 -2
  231. package/src/physics/body.js +16 -16
  232. package/src/physics/bounds.js +11 -11
  233. package/src/physics/collision.js +2 -2
  234. package/src/physics/detector.js +13 -13
  235. package/src/physics/quadtree.js +18 -18
  236. package/src/physics/sat.js +59 -59
  237. package/src/physics/world.js +3 -3
  238. package/src/plugin/plugin.js +8 -8
  239. package/src/renderable/collectable.js +1 -1
  240. package/src/renderable/container.js +76 -58
  241. package/src/renderable/dragndrop.js +4 -4
  242. package/src/renderable/imagelayer.js +6 -5
  243. package/src/renderable/light2d.js +5 -5
  244. package/src/renderable/nineslicesprite.js +11 -11
  245. package/src/renderable/renderable.js +10 -10
  246. package/src/renderable/sprite.js +24 -24
  247. package/src/renderable/trigger.js +10 -8
  248. package/src/renderable/ui/uibaseelement.js +96 -26
  249. package/src/renderable/ui/uispriteelement.js +24 -24
  250. package/src/renderable/ui/uitextbutton.js +85 -65
  251. package/src/state/stage.js +6 -6
  252. package/src/state/state.js +14 -14
  253. package/src/system/device.js +1 -1
  254. package/src/system/event.js +1 -1
  255. package/src/system/pooling.js +8 -8
  256. package/src/system/save.js +5 -5
  257. package/src/system/timer.js +15 -11
  258. package/src/text/bitmaptext.js +19 -19
  259. package/src/text/bitmaptextdata.js +21 -21
  260. package/src/text/glyph.js +2 -2
  261. package/src/text/text.js +9 -8
  262. package/src/text/textmetrics.js +14 -14
  263. package/src/tweens/easing.js +3 -3
  264. package/src/tweens/interpolation.js +7 -7
  265. package/src/tweens/tween.js +10 -10
  266. package/src/utils/agent.js +5 -5
  267. package/src/utils/array.js +3 -3
  268. package/src/utils/function.js +4 -4
  269. package/src/utils/string.js +2 -2
  270. package/src/utils/utils.js +15 -15
  271. package/src/video/canvas/canvas_renderer.js +34 -108
  272. package/src/video/renderer.js +72 -5
  273. package/src/video/texture/atlas.js +36 -36
  274. package/src/video/texture/cache.js +6 -6
  275. package/src/video/texture/canvas_texture.js +62 -2
  276. package/src/video/video.js +1 -1
  277. package/src/video/webgl/buffer/vertex.js +2 -2
  278. package/src/video/webgl/compositors/compositor.js +4 -4
  279. package/src/video/webgl/compositors/primitive_compositor.js +4 -4
  280. package/src/video/webgl/compositors/quad_compositor.js +17 -14
  281. package/src/video/webgl/glshader.js +6 -6
  282. package/src/video/webgl/utils/attributes.js +1 -1
  283. package/src/video/webgl/utils/program.js +6 -6
  284. package/src/video/webgl/utils/uniforms.js +3 -3
  285. package/src/video/webgl/webgl_renderer.js +54 -37
@@ -5,25 +5,27 @@
5
5
  */
6
6
  export default class UITextButton extends UIBaseElement {
7
7
  /**
8
- * A Text Button with an outlined background border, filled with background color.
8
+ * A Bitmap Text Button with an outlined background border, filled with background color.
9
9
  * It uses a RoundRect as background and changes the background color on hovering over.
10
10
  * The background will be drawn with 0.5 opacity, so that the background of the button is
11
11
  * slightly shining through.
12
12
  * @param {number} x - x pos of the button
13
13
  * @param {number} y - y pos of the button
14
14
  * @param {string} [settings.font] - The name of the BitmapText font to use
15
- * @param {number} [settings.size] - The scale factor of the font (default: 1)
16
- * @param {string} [settings.text] - The text to display (default: 'click me')
15
+ * @param {number} [settings.size=1] - The scale factor of the BitmapText
16
+ * @param {string} [settings.text] - The text to display
17
17
  * @param {string} [settings.bindKey] - The key to bind the action to (default: none)
18
- * @param {string} [settings.backgroundColor] - The css value of a background color
19
- * @param {string} [settings.hoverColor] - The css value of a color to be used if the pointer hovers over the button
20
- * @param {string} [settings.borderStrokeColor] - The css value of a color to be used to draw the border
21
- * @param {string} [settings.fillStyle] - The css value of a tint color to be used to tint the text
18
+ * @param {string} [settings.backgroundColor="#00aa0080"] - The css value of a background color
19
+ * @param {string} [settings.hoverColor="#00ff00ff"] - The css value of a color to be used if the pointer hovers over the button
20
+ * @param {string} [settings.borderStrokeColor="#000000"] - The css value of a color to be used to draw the border
21
+ * @param {string} [settings.fillStyle] - The css value of a tint color to be used to tint the BitmapText
22
+ * @param {string} [settings.textAlign="center"] - horizontal text alignment
23
+ * @param {string} [settings.textBaseline="middle"] - the text baseline
22
24
  * @param {number} [settings.borderWidth] - Width of the button
23
25
  * @param {number} [settings.borderHeight] - Height of the button
24
26
  * @example
25
27
  * // Create a new Button
26
- * class PlayButton extends BaseTextButton {
28
+ * class PlayButton extends UITextButton {
27
29
  * constructor(x,y) {
28
30
  * super(x,y, {
29
31
  * font: 'my-font',
@@ -39,13 +41,52 @@ export default class UITextButton extends UIBaseElement {
39
41
  * }
40
42
  * }
41
43
  *
42
- * game.world.addChild(new PlayButton(15,200));
44
+ * world.addChild(new PlayButton(15,200));
43
45
  */
44
46
  constructor(x: number, y: number, settings: any);
45
- font: BitmapText;
47
+ /**
48
+ * The key to bind the action to
49
+ * @type {string}
50
+ */
51
+ bindKey: string;
52
+ /**
53
+ * The css value of a background color
54
+ * @type {string}
55
+ */
56
+ backgroundColor: string;
57
+ /**
58
+ * The css value of a color to be used if the pointer hovers over the button
59
+ * @type {string}
60
+ */
61
+ hoverColor: string;
62
+ /**
63
+ * The css value of a color to be used to draw the border
64
+ * @type {string}
65
+ */
66
+ borderStrokeColor: string;
67
+ /**
68
+ * Set the default text alignment (or justification),<br>
69
+ * possible values are "left", "right", and "center".
70
+ * @public
71
+ * @type {string}
72
+ * @default "center"
73
+ */
74
+ public textAlign: string;
75
+ /**
76
+ * Set the text baseline (e.g. the Y-coordinate for the draw operation), <br>
77
+ * possible values are "top", "hanging, "middle, "alphabetic, "ideographic, "bottom"<br>
78
+ * @public
79
+ * @type {string}
80
+ * @default "middle"
81
+ */
82
+ public textBaseline: string;
83
+ /**
84
+ * the bitmapText used by the UITextButton class
85
+ * @type {BitmapText}
86
+ */
87
+ bitmapText: BitmapText;
46
88
  dimensions: import("../../text/textmetrics.js").default;
47
89
  border: RoundRect;
48
- settings: any;
49
90
  draw(renderer: any): void;
50
91
  }
51
92
  import UIBaseElement from "./uibaseelement.js";
@@ -38,7 +38,7 @@ export default class Stage {
38
38
  * @see Stage.ambientLight
39
39
  * @example
40
40
  * // create a white spot light
41
- * var whiteLight = new me.Light2d(0, 0, 140, "#fff", 0.7);
41
+ * let whiteLight = new me.Light2d(0, 0, 140, "#fff", 0.7);
42
42
  * // and add the light to this current stage
43
43
  * this.lights.set("whiteLight", whiteLight);
44
44
  * // set a dark ambient light
@@ -10,7 +10,7 @@ export function onDeviceRotate(e: any): void;
10
10
  * @param {Function} fn - the function to be executed
11
11
  * @example
12
12
  * // small game skeleton
13
- * var game = {
13
+ * let game = {
14
14
  * // called by the me.device.onReady function
15
15
  * onload = function () {
16
16
  * // init video
@@ -1,5 +1,5 @@
1
1
  export default pool;
2
- declare var pool: ObjectPool;
2
+ declare let pool: ObjectPool;
3
3
  /**
4
4
  * @classdesc
5
5
  * Object pooling - a technique that might speed up your game if used properly.<br>
@@ -46,11 +46,11 @@ declare class ObjectPool {
46
46
  * me.pool.register("enemy", EnemyEntity, true);
47
47
  * // ...
48
48
  * // when we need to manually create a new bullet:
49
- * var bullet = me.pool.pull("bullet", x, y, direction);
49
+ * let bullet = me.pool.pull("bullet", x, y, direction);
50
50
  * // ...
51
51
  * // params aren't a fixed number
52
52
  * // when we need new enemy we can add more params, that the object construct requires:
53
- * var enemy = me.pool.pull("enemy", x, y, direction, speed, power, life);
53
+ * let enemy = me.pool.pull("enemy", x, y, direction, speed, power, life);
54
54
  * // ...
55
55
  * // when we want to destroy existing object, the remove
56
56
  * // function will ensure the object can then be reallocated later
@@ -60,7 +60,7 @@ declare class Timer {
60
60
  * @param {number} delay - the number of milliseconds (thousandths of a second) that the function call should be delayed by.
61
61
  * @param {boolean} [pauseable=true] - respects the pause state of the engine.
62
62
  * @param {...*} args - optional parameters which are passed through to the function specified by fn once the timer expires.
63
- * @returns {number} The numerical ID of the timer, which can be used later with me.timer.clearTimeout().
63
+ * @returns {number} a positive integer value which identifies the timer created by the call to setTimeout(), which can be used later with me.timer.clearTimeout().
64
64
  * @example
65
65
  * // set a timer to call "myFunction" after 1000ms
66
66
  * me.timer.setTimeout(myFunction, 1000);
@@ -74,7 +74,7 @@ declare class Timer {
74
74
  * @param {number} delay - the number of milliseconds (thousandths of a second) on how often to execute the function
75
75
  * @param {boolean} [pauseable=true] - respects the pause state of the engine.
76
76
  * @param {...*} args - optional parameters which are passed through to the function specified by fn once the timer expires.
77
- * @returns {number} The numerical ID of the timer, which can be used later with me.timer.clearInterval().
77
+ * @returns {number} a numeric, non-zero value which identifies the timer created by the call to setInterval(), which can be used later with me.timer.clearInterval().
78
78
  * @example
79
79
  * // set a timer to call "myFunction" every 1000ms
80
80
  * me.timer.setInterval(myFunction, 1000);
@@ -83,12 +83,12 @@ declare class Timer {
83
83
  */
84
84
  setInterval(fn: Function, delay: number, pauseable?: boolean | undefined, ...args: any[]): number;
85
85
  /**
86
- * Clears the delay set by me.timer.setTimeout().
87
- * @param {number} timeoutID - ID of the timeout to be cleared
86
+ * Cancels a timeout previously established by calling setTimeout().
87
+ * @param {number} timeoutID - ID of the timeout to be cancelled
88
88
  */
89
89
  clearTimeout(timeoutID: number): void;
90
90
  /**
91
- * Clears the Interval set by me.timer.setInterval().
91
+ * cancels the timed, repeating action which was previously established by a call to setInterval().
92
92
  * @param {number} intervalID - ID of the interval to be cleared
93
93
  */
94
94
  clearInterval(intervalID: number): void;
@@ -26,7 +26,7 @@ export default class BitmapText extends Renderable {
26
26
  * { name: "arial", type: "image" src: "data/font/arial.png" },
27
27
  * ])
28
28
  * // Then create an instance of your bitmap font:
29
- * var myFont = new me.BitmapText(x, y, {font:"arial", text:"Hello"});
29
+ * let myFont = new me.BitmapText(x, y, {font:"arial", text:"Hello"});
30
30
  * // two possibilities for using "myFont"
31
31
  * // either call the draw function from your Renderable draw function
32
32
  * myFont.draw(renderer, "Hello!", 0, 0);
@@ -20,7 +20,7 @@ export default class Text extends Renderable {
20
20
  * @param {number} [settings.wordWrapWidth] - the maximum length in CSS pixel for a single segment of text
21
21
  * @param {(string|string[])} [settings.text=""] - a string, or an array of strings
22
22
  * @example
23
- * var font = new me.Text(0, 0, {font: "Arial", size: 8, fillStyle: this.color});
23
+ * let font = new me.Text(0, 0, {font: "Arial", size: 8, fillStyle: this.color});
24
24
  */
25
25
  constructor(x: number, y: number, settings: {
26
26
  font: string;
@@ -10,7 +10,7 @@
10
10
  * @param {Array} arr - array from which to remove an object
11
11
  * @param {object} obj - to be removed
12
12
  * @returns {Array} the modified Array
13
- * var arr = [ "foo", "bar", "baz" ];
13
+ * let arr = [ "foo", "bar", "baz" ];
14
14
  * // remove "foo" from the array
15
15
  * me.utils.array.remove(arr, "foo");
16
16
  */
@@ -24,7 +24,7 @@ export function remove(arr: any[], obj: object): any[];
24
24
  * @returns {any} random member of array
25
25
  * @example
26
26
  * // Select a random array element
27
- * var arr = [ "foo", "bar", "baz" ];
27
+ * let arr = [ "foo", "bar", "baz" ];
28
28
  * console.log(me.utils.array.random(arr));
29
29
  */
30
30
  export function random(arr: any[]): any;
@@ -31,8 +31,6 @@ export default class CanvasRenderer extends Renderer {
31
31
  cache: TextureCache;
32
32
  /**
33
33
  * Reset the canvas transform to identity
34
- * @name resetTransform
35
- * @memberof CanvasRenderer
36
34
  */
37
35
  resetTransform(): void;
38
36
  /**
@@ -46,25 +44,19 @@ export default class CanvasRenderer extends Renderer {
46
44
  * <img src="images/lighter-blendmode.png" width="510"/> <br>
47
45
  * - "screen" : The pixels are inverted, multiplied, and inverted again. A lighter picture is the result (opposite of multiply) <br>
48
46
  * <img src="images/screen-blendmode.png" width="510"/> <br>
49
- * @name setBlendMode
50
47
  * @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
51
- * @memberof CanvasRenderer
52
48
  * @param {string} [mode="normal"] - blend mode : "normal", "multiply", "lighter, "additive", "screen"
53
49
  * @param {CanvasRenderingContext2D} [context]
54
50
  */
55
51
  setBlendMode(mode?: string | undefined, context?: CanvasRenderingContext2D | undefined): void;
56
52
  /**
57
53
  * Clears the main framebuffer with the given color
58
- * @name clearColor
59
- * @memberof CanvasRenderer
60
54
  * @param {Color|string} [color="#000000"] - CSS color.
61
55
  * @param {boolean} [opaque=false] - Allow transparency [default] or clear the surface completely [true]
62
56
  */
63
57
  clearColor(color?: string | Color | undefined, opaque?: boolean | undefined): void;
64
58
  /**
65
59
  * Erase the pixels in the given rectangular area by setting them to transparent black (rgba(0,0,0,0)).
66
- * @name clearRect
67
- * @memberof CanvasRenderer
68
60
  * @param {number} x - x axis of the coordinate for the rectangle starting point.
69
61
  * @param {number} y - y axis of the coordinate for the rectangle starting point.
70
62
  * @param {number} width - The rectangle's width.
@@ -73,24 +65,20 @@ export default class CanvasRenderer extends Renderer {
73
65
  clearRect(x: number, y: number, width: number, height: number): void;
74
66
  /**
75
67
  * Create a pattern with the specified repetition
76
- * @name createPattern
77
- * @memberof CanvasRenderer
78
- * @param {Image} image - Source image
68
+ * @param {HTMLImageElement|SVGImageElement|HTMLVideoElement|HTMLCanvasElement|ImageBitmap|OffscreenCanvas|VideoFrame} image - Source image to be used as the pattern's image
79
69
  * @param {string} repeat - Define how the pattern should be repeated
80
70
  * @returns {CanvasPattern}
81
71
  * @see ImageLayer#repeat
82
72
  * @example
83
- * var tileable = renderer.createPattern(image, "repeat");
84
- * var horizontal = renderer.createPattern(image, "repeat-x");
85
- * var vertical = renderer.createPattern(image, "repeat-y");
86
- * var basic = renderer.createPattern(image, "no-repeat");
73
+ * let tileable = renderer.createPattern(image, "repeat");
74
+ * let horizontal = renderer.createPattern(image, "repeat-x");
75
+ * let vertical = renderer.createPattern(image, "repeat-y");
76
+ * let basic = renderer.createPattern(image, "no-repeat");
87
77
  */
88
- createPattern(image: new (width?: number | undefined, height?: number | undefined) => HTMLImageElement, repeat: string): CanvasPattern;
78
+ createPattern(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame, repeat: string): CanvasPattern;
89
79
  /**
90
80
  * Draw an image onto the main using the canvas api
91
- * @name drawImage
92
- * @memberof CanvasRenderer
93
- * @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.
81
+ * @param {HTMLImageElement|SVGImageElement|HTMLVideoElement|HTMLCanvasElement|ImageBitmap|OffscreenCanvas|VideoFrame} image - An element to draw into the context.
94
82
  * @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.
95
83
  * @param {number} sy - The Y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
96
84
  * @param {number} sw - The width of the sub-rectangle of the source image to draw into the destination context. If not specified, the entire rectangle from the coordinates specified by sx and sy to the bottom-right corner of the image is used.
@@ -107,11 +95,9 @@ export default class CanvasRenderer extends Renderer {
107
95
  * // Clip the image and position the clipped part on the canvas:
108
96
  * renderer.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);
109
97
  */
110
- drawImage(image: new (width?: number | undefined, height?: number | undefined) => HTMLImageElement, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
98
+ drawImage(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
111
99
  /**
112
100
  * Draw a pattern within the given rectangle.
113
- * @name drawPattern
114
- * @memberof CanvasRenderer
115
101
  * @param {CanvasPattern} pattern - Pattern object
116
102
  * @param {number} x
117
103
  * @param {number} y
@@ -122,8 +108,6 @@ export default class CanvasRenderer extends Renderer {
122
108
  drawPattern(pattern: CanvasPattern, x: number, y: number, width: number, height: number): void;
123
109
  /**
124
110
  * Stroke an arc at the specified coordinates with given radius, start and end points
125
- * @name strokeArc
126
- * @memberof CanvasRenderer
127
111
  * @param {number} x - arc center point x-axis
128
112
  * @param {number} y - arc center point y-axis
129
113
  * @param {number} radius
@@ -135,8 +119,6 @@ export default class CanvasRenderer extends Renderer {
135
119
  strokeArc(x: number, y: number, radius: number, start: number, end: number, antiClockwise?: boolean | undefined, fill?: boolean | undefined): void;
136
120
  /**
137
121
  * Fill an arc at the specified coordinates with given radius, start and end points
138
- * @name fillArc
139
- * @memberof CanvasRenderer
140
122
  * @param {number} x - arc center point x-axis
141
123
  * @param {number} y - arc center point y-axis
142
124
  * @param {number} radius
@@ -147,8 +129,6 @@ export default class CanvasRenderer extends Renderer {
147
129
  fillArc(x: number, y: number, radius: number, start: number, end: number, antiClockwise?: boolean | undefined): void;
148
130
  /**
149
131
  * Stroke an ellipse at the specified coordinates with given radius
150
- * @name strokeEllipse
151
- * @memberof CanvasRenderer
152
132
  * @param {number} x - ellipse center point x-axis
153
133
  * @param {number} y - ellipse center point y-axis
154
134
  * @param {number} w - horizontal radius of the ellipse
@@ -158,8 +138,6 @@ export default class CanvasRenderer extends Renderer {
158
138
  strokeEllipse(x: number, y: number, w: number, h: number, fill?: boolean | undefined): void;
159
139
  /**
160
140
  * Fill an ellipse at the specified coordinates with given radius
161
- * @name fillEllipse
162
- * @memberof CanvasRenderer
163
141
  * @param {number} x - ellipse center point x-axis
164
142
  * @param {number} y - ellipse center point y-axis
165
143
  * @param {number} w - horizontal radius of the ellipse
@@ -168,8 +146,6 @@ export default class CanvasRenderer extends Renderer {
168
146
  fillEllipse(x: number, y: number, w: number, h: number): void;
169
147
  /**
170
148
  * Stroke a line of the given two points
171
- * @name strokeLine
172
- * @memberof CanvasRenderer
173
149
  * @param {number} startX - the start x coordinate
174
150
  * @param {number} startY - the start y coordinate
175
151
  * @param {number} endX - the end x coordinate
@@ -178,8 +154,6 @@ export default class CanvasRenderer extends Renderer {
178
154
  strokeLine(startX: number, startY: number, endX: number, endY: number): void;
179
155
  /**
180
156
  * Fill a line of the given two points
181
- * @name fillLine
182
- * @memberof CanvasRenderer
183
157
  * @param {number} startX - the start x coordinate
184
158
  * @param {number} startY - the start y coordinate
185
159
  * @param {number} endX - the end x coordinate
@@ -188,23 +162,17 @@ export default class CanvasRenderer extends Renderer {
188
162
  fillLine(startX: number, startY: number, endX: number, endY: number): void;
189
163
  /**
190
164
  * Stroke the given me.Polygon on the screen
191
- * @name strokePolygon
192
- * @memberof CanvasRenderer
193
165
  * @param {Polygon} poly - the shape to draw
194
166
  * @param {boolean} [fill=false] - also fill the shape with the current color if true
195
167
  */
196
168
  strokePolygon(poly: Polygon, fill?: boolean | undefined): void;
197
169
  /**
198
170
  * Fill the given me.Polygon on the screen
199
- * @name fillPolygon
200
- * @memberof CanvasRenderer
201
171
  * @param {Polygon} poly - the shape to draw
202
172
  */
203
173
  fillPolygon(poly: Polygon): void;
204
174
  /**
205
175
  * Stroke a rectangle at the specified coordinates
206
- * @name strokeRect
207
- * @memberof CanvasRenderer
208
176
  * @param {number} x
209
177
  * @param {number} y
210
178
  * @param {number} width
@@ -214,8 +182,6 @@ export default class CanvasRenderer extends Renderer {
214
182
  strokeRect(x: number, y: number, width: number, height: number, fill?: boolean | undefined): void;
215
183
  /**
216
184
  * Draw a filled rectangle at the specified coordinates
217
- * @name fillRect
218
- * @memberof CanvasRenderer
219
185
  * @param {number} x
220
186
  * @param {number} y
221
187
  * @param {number} width
@@ -224,8 +190,6 @@ export default class CanvasRenderer extends Renderer {
224
190
  fillRect(x: number, y: number, width: number, height: number): void;
225
191
  /**
226
192
  * Stroke a rounded rectangle at the specified coordinates
227
- * @name strokeRoundRect
228
- * @memberof CanvasRenderer
229
193
  * @param {number} x
230
194
  * @param {number} y
231
195
  * @param {number} width
@@ -236,8 +200,6 @@ export default class CanvasRenderer extends Renderer {
236
200
  strokeRoundRect(x: number, y: number, width: number, height: number, radius: number, fill?: boolean | undefined): void;
237
201
  /**
238
202
  * Draw a rounded filled rectangle at the specified coordinates
239
- * @name fillRoundRect
240
- * @memberof CanvasRenderer
241
203
  * @param {number} x
242
204
  * @param {number} y
243
205
  * @param {number} width
@@ -247,16 +209,12 @@ export default class CanvasRenderer extends Renderer {
247
209
  fillRoundRect(x: number, y: number, width: number, height: number, radius: number): void;
248
210
  /**
249
211
  * Stroke a Point at the specified coordinates
250
- * @name strokePoint
251
- * @memberof CanvasRenderer
252
212
  * @param {number} x
253
213
  * @param {number} y
254
214
  */
255
215
  strokePoint(x: number, y: number): void;
256
216
  /**
257
217
  * Draw a a point at the specified coordinates
258
- * @name fillPoint
259
- * @memberof CanvasRenderer
260
218
  * @param {number} x
261
219
  * @param {number} y
262
220
  * @param {number} width
@@ -265,27 +223,19 @@ export default class CanvasRenderer extends Renderer {
265
223
  fillPoint(x: number, y: number): void;
266
224
  /**
267
225
  * save the canvas context
268
- * @name save
269
- * @memberof CanvasRenderer
270
226
  */
271
227
  save(): void;
272
228
  /**
273
229
  * restores the canvas context
274
- * @name restore
275
- * @memberof CanvasRenderer
276
230
  */
277
231
  restore(): void;
278
232
  /**
279
233
  * rotates the canvas context
280
- * @name rotate
281
- * @memberof CanvasRenderer
282
234
  * @param {number} angle - in radians
283
235
  */
284
236
  rotate(angle: number): void;
285
237
  /**
286
238
  * scales the canvas context
287
- * @name scale
288
- * @memberof CanvasRenderer
289
239
  * @param {number} x
290
240
  * @param {number} y
291
241
  */
@@ -293,51 +243,37 @@ export default class CanvasRenderer extends Renderer {
293
243
  /**
294
244
  * Set the current fill & stroke style color.
295
245
  * By default, or upon reset, the value is set to #000000.
296
- * @name setColor
297
- * @memberof CanvasRenderer
298
246
  * @param {Color|string} color - css color value
299
247
  */
300
248
  setColor(color: Color | string): void;
301
249
  /**
302
250
  * Set the global alpha
303
- * @name setGlobalAlpha
304
- * @memberof CanvasRenderer
305
251
  * @param {number} alpha - 0.0 to 1.0 values accepted.
306
252
  */
307
253
  setGlobalAlpha(alpha: number): void;
308
254
  /**
309
255
  * Return the global alpha
310
- * @name getGlobalAlpha
311
- * @memberof CanvasRenderer
312
256
  * @returns {number} global alpha value
313
257
  */
314
258
  getGlobalAlpha(): number;
315
259
  /**
316
260
  * Set the line width on the context
317
- * @name setLineWidth
318
- * @memberof CanvasRenderer
319
261
  * @param {number} width - Line width
320
262
  */
321
263
  setLineWidth(width: number): void;
322
264
  /**
323
265
  * Reset (overrides) the renderer transformation matrix to the
324
266
  * identity one, and then apply the given transformation matrix.
325
- * @name setTransform
326
- * @memberof CanvasRenderer
327
267
  * @param {Matrix2d} mat2d - Matrix to transform by
328
268
  */
329
269
  setTransform(mat2d: Matrix2d): void;
330
270
  /**
331
271
  * Multiply given matrix into the renderer tranformation matrix
332
- * @name transform
333
- * @memberof CanvasRenderer
334
272
  * @param {Matrix2d} mat2d - Matrix to transform by
335
273
  */
336
274
  transform(mat2d: Matrix2d): void;
337
275
  /**
338
276
  * Translates the context to the given position
339
- * @name translate
340
- * @memberof CanvasRenderer
341
277
  * @param {number} x
342
278
  * @param {number} y
343
279
  */
@@ -348,8 +284,6 @@ export default class CanvasRenderer extends Renderer {
348
284
  * You can however save the current region using the save(),
349
285
  * and restore it (with the restore() method) any time in the future.
350
286
  * (<u>this is an experimental feature !</u>)
351
- * @name clipRect
352
- * @memberof CanvasRenderer
353
287
  * @param {number} x
354
288
  * @param {number} y
355
289
  * @param {number} width
@@ -360,8 +294,6 @@ export default class CanvasRenderer extends Renderer {
360
294
  * A mask limits rendering elements to the shape and position of the given mask object.
361
295
  * So, if the renderable is larger than the mask, only the intersecting part of the renderable will be visible.
362
296
  * Mask are not preserved through renderer context save and restore.
363
- * @name setMask
364
- * @memberof CanvasRenderer
365
297
  * @param {Rect|RoundRect|Polygon|Line|Ellipse} [mask] - the shape defining the mask to be applied
366
298
  * @param {boolean} [invert=false] - either the given shape should define what is visible (default) or the opposite
367
299
  */
@@ -13,6 +13,7 @@ export default class Renderer {
13
13
  * @param {boolean} [options.transparent=false] - Whether to enable transparency on the canvas
14
14
  * @param {boolean} [options.premultipliedAlpha=true] - in WebGL, whether the renderer will assume that colors have premultiplied alpha when canvas transparency is enabled
15
15
  * @param {boolean} [options.blendMode="normal"] - the default blend mode to use ("normal", "multiply")
16
+ * @param {boolean} [options.depthBuffer="sorting"] - ~Experimental~ the default method to sort object on the z axis in WebGL ("sorting", "z-buffer")
16
17
  * @param {boolean} [options.subPixel=false] - Whether to enable subpixel rendering (performance hit when enabled)
17
18
  * @param {boolean} [options.verbose=false] - Enable the verbose mode that provides additional details as to what the renderer is doing
18
19
  * @param {number} [options.zoomX=width] - The actual width of the canvas with scaling applied
@@ -27,6 +28,7 @@ export default class Renderer {
27
28
  transparent?: boolean | undefined;
28
29
  premultipliedAlpha?: boolean | undefined;
29
30
  blendMode?: boolean | undefined;
31
+ depthBuffer?: boolean | undefined;
30
32
  subPixel?: boolean | undefined;
31
33
  verbose?: boolean | undefined;
32
34
  zoomX?: number | undefined;
@@ -56,6 +58,12 @@ export default class Renderer {
56
58
  * @type {boolean}
57
59
  */
58
60
  isContextValid: boolean;
61
+ /**
62
+ * the default method to sort object ("sorting", "z-buffer")
63
+ * @type {string}
64
+ * @default "sorting"
65
+ */
66
+ depthTest: string;
59
67
  /**
60
68
  * The Path2D instance used by the renderer to draw primitives
61
69
  * @type {Path2D}
@@ -205,6 +213,46 @@ export default class Renderer {
205
213
  * @see Renderer#setTint
206
214
  */
207
215
  clearTint(): void;
216
+ /**
217
+ * creates a Blob object representing the last rendered frame
218
+ * @param {Object} [options] - An object with the following properties:
219
+ * @param {String} [options.type="image/png"] - A string indicating the image format
220
+ * @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
221
+ * @return {Promise} A Promise returning a Blob object representing the last rendered frame
222
+ * @example
223
+ * renderer.convertToBlob().then((blob) => console.log(blob));
224
+ */
225
+ toBlob(options?: {
226
+ type?: string | undefined;
227
+ quality?: number | undefined;
228
+ } | undefined): Promise<any>;
229
+ /**
230
+ * creates an ImageBitmap object of the last frame rendered
231
+ * (not supported by standard Canvas)
232
+ * @param {Object} [options] - An object with the following properties:
233
+ * @param {String} [options.type="image/png"] - A string indicating the image format
234
+ * @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
235
+ * @return {Promise} A Promise returning an ImageBitmap.
236
+ * @example
237
+ * renderer.transferToImageBitmap().then((image) => console.log(image));
238
+ */
239
+ toImageBitmap(options?: {
240
+ type?: string | undefined;
241
+ quality?: number | undefined;
242
+ } | undefined): Promise<any>;
243
+ /**
244
+ * returns a data URL containing a representation of the last frame rendered
245
+ * @param {Object} [options] - An object with the following properties:
246
+ * @param {String} [options.type="image/png"] - A string indicating the image format
247
+ * @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
248
+ * @return {Promise} A Promise returning a string containing the requested data URL.
249
+ * @example
250
+ * renderer.toDataURL().then((dataURL) => console.log(dataURL));
251
+ */
252
+ toDataURL(options?: {
253
+ type?: string | undefined;
254
+ quality?: number | undefined;
255
+ } | undefined): Promise<any>;
208
256
  }
209
257
  import Vector2d from "../math/vector2.js";
210
258
  import Path2D from "./../geometries/path2d.js";
@@ -152,13 +152,13 @@ export class TextureAtlas {
152
152
  * ...
153
153
  * ...
154
154
  * // create a new "coin" sprite
155
- * var sprite = game.texture.createSpriteFromName("coin.png");
155
+ * let sprite = game.texture.createSpriteFromName("coin.png");
156
156
  * // set the renderable position to bottom center
157
157
  * sprite.anchorPoint.set(0.5, 1.0);
158
158
  * ...
159
159
  * ...
160
160
  * // create a 9-slice sprite
161
- * var dialogPanel = game.texture.createSpriteFromName(
161
+ * let dialogPanel = game.texture.createSpriteFromName(
162
162
  * "rpg_dialo.png",
163
163
  * // width & height are mandatory for 9-slice sprites
164
164
  * { width: this.width, height: this.height },
@@ -180,7 +180,7 @@ export class TextureAtlas {
180
180
  * );
181
181
  *
182
182
  * // create a new Animated Sprite
183
- * var sprite = game.texture.createAnimationFromName([
183
+ * let sprite = game.texture.createAnimationFromName([
184
184
  * "walk0001.png", "walk0002.png", "walk0003.png",
185
185
  * "walk0004.png", "walk0005.png", "walk0006.png",
186
186
  * "walk0007.png", "walk0008.png", "walk0009.png",
@@ -57,6 +57,46 @@ declare class CanvasTexture {
57
57
  * @return {ImageData} The ImageData extracted from this CanvasTexture.
58
58
  */
59
59
  getImageData(x: number, y: number, width: number, height: number): ImageData;
60
+ /**
61
+ * creates a Blob object representing the image contained in this canvas texture
62
+ * @param {Object} [options] - An object with the following properties:
63
+ * @param {String} [options.type="image/png"] - A string indicating the image format
64
+ * @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
65
+ * @return {Promise} A Promise returning a Blob object representing the image contained in this canvas texture
66
+ * @example
67
+ * canvasTexture.convertToBlob().then((blob) => console.log(blob));
68
+ */
69
+ toBlob(options?: {
70
+ type?: string | undefined;
71
+ quality?: number | undefined;
72
+ } | undefined): Promise<any>;
73
+ /**
74
+ * creates an ImageBitmap object from the most recently rendered image of this canvas texture
75
+ * @param {Object} [options] - An object with the following properties:
76
+ * @param {String} [options.type="image/png"] - A string indicating the image format
77
+ * @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
78
+ * @return {Promise} A Promise returning an ImageBitmap.
79
+ * @example
80
+ * canvasTexture.transferToImageBitmap().then((bitmap) => console.log(bitmap));
81
+ */
82
+ toImageBitmap(options?: {
83
+ type?: string | undefined;
84
+ quality?: number | undefined;
85
+ } | undefined): Promise<any>;
86
+ /**
87
+ * returns a data URL containing a representation of the most recently rendered image of this canvas texture
88
+ * (not supported by OffscreenCanvas)
89
+ * @param {Object} [options] - An object with the following properties:
90
+ * @param {String} [options.type="image/png"] - A string indicating the image format
91
+ * @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
92
+ * @return {Promise} A Promise returning a string containing the requested data URL.
93
+ * @example
94
+ * renderer.toDataURL().then((dataURL) => console.log(dataURL));
95
+ */
96
+ toDataURL(options?: {
97
+ type?: string | undefined;
98
+ quality?: number | undefined;
99
+ } | undefined): Promise<any>;
60
100
  /**
61
101
  * @ignore
62
102
  */
@@ -11,7 +11,7 @@ export default class GLShader {
11
11
  * @see https://developer.mozilla.org/en-US/docs/Games/Techniques/3D_on_the_web/GLSL_Shaders
12
12
  * @example
13
13
  * // create a basic shader
14
- * var myShader = new me.GLShader(
14
+ * let myShader = new me.GLShader(
15
15
  * // WebGL rendering context
16
16
  * gl,
17
17
  * // vertex shader