melonjs 14.3.0 → 14.5.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 (323) hide show
  1. package/README.md +11 -55
  2. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +2 -2
  3. package/dist/melonjs.mjs/_virtual/arraymultimap.js +2 -2
  4. package/dist/melonjs.mjs/_virtual/earcut.js +2 -2
  5. package/dist/melonjs.mjs/_virtual/howler.js +2 -2
  6. package/dist/melonjs.mjs/_virtual/index.js +2 -2
  7. package/dist/melonjs.mjs/_virtual/index2.js +2 -2
  8. package/dist/melonjs.mjs/_virtual/multimap.js +2 -2
  9. package/dist/melonjs.mjs/_virtual/setmultimap.js +2 -2
  10. package/dist/melonjs.mjs/application/application.js +8 -21
  11. package/dist/melonjs.mjs/application/header.js +2 -2
  12. package/dist/melonjs.mjs/application/resize.js +4 -2
  13. package/dist/melonjs.mjs/application/settings.js +2 -2
  14. package/dist/melonjs.mjs/audio/audio.js +5 -5
  15. package/dist/melonjs.mjs/camera/camera2d.js +2 -2
  16. package/dist/melonjs.mjs/const.js +32 -0
  17. package/dist/melonjs.mjs/entity/entity.js +44 -10
  18. package/dist/melonjs.mjs/geometries/ellipse.js +3 -4
  19. package/dist/melonjs.mjs/geometries/line.js +2 -2
  20. package/dist/melonjs.mjs/geometries/path2d.js +19 -43
  21. package/dist/melonjs.mjs/geometries/point.js +2 -7
  22. package/dist/melonjs.mjs/geometries/poly.js +3 -6
  23. package/dist/melonjs.mjs/geometries/rectangle.js +14 -10
  24. package/dist/melonjs.mjs/geometries/roundrect.js +2 -2
  25. package/dist/melonjs.mjs/index.js +11 -9
  26. package/dist/melonjs.mjs/input/gamepad.js +11 -17
  27. package/dist/melonjs.mjs/input/input.js +2 -2
  28. package/dist/melonjs.mjs/input/keyboard.js +2 -2
  29. package/dist/melonjs.mjs/input/pointer.js +2 -2
  30. package/dist/melonjs.mjs/input/pointerevent.js +3 -17
  31. package/dist/melonjs.mjs/lang/console.js +44 -0
  32. package/dist/melonjs.mjs/lang/deprecated.js +4 -40
  33. package/dist/melonjs.mjs/level/level.js +4 -4
  34. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +2 -23
  35. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +67 -64
  36. package/dist/melonjs.mjs/level/tiled/TMXObject.js +2 -64
  37. package/dist/melonjs.mjs/level/tiled/TMXTile.js +10 -26
  38. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +21 -83
  39. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +6 -20
  40. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -10
  41. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +37 -14
  42. package/dist/melonjs.mjs/level/tiled/constants.js +17 -0
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +7 -8
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +3 -6
  45. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
  46. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -14
  47. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
  48. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +38 -0
  49. package/dist/melonjs.mjs/loader/cache.js +24 -0
  50. package/dist/melonjs.mjs/loader/loader.js +332 -715
  51. package/dist/melonjs.mjs/loader/loadingscreen.js +5 -5
  52. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +2 -2
  53. package/dist/melonjs.mjs/loader/parser.js +281 -0
  54. package/dist/melonjs.mjs/loader/settings.js +91 -0
  55. package/dist/melonjs.mjs/math/color.js +2 -2
  56. package/dist/melonjs.mjs/math/math.js +2 -2
  57. package/dist/melonjs.mjs/math/matrix2.js +8 -10
  58. package/dist/melonjs.mjs/math/matrix3.js +19 -22
  59. package/dist/melonjs.mjs/math/observable_vector2.js +4 -4
  60. package/dist/melonjs.mjs/math/observable_vector3.js +4 -5
  61. package/dist/melonjs.mjs/math/vector2.js +4 -4
  62. package/dist/melonjs.mjs/math/vector3.js +4 -5
  63. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +2 -2
  64. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +2 -2
  65. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +2 -2
  66. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +2 -2
  67. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +2 -2
  68. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
  69. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +2 -2
  70. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +2 -2
  71. package/dist/melonjs.mjs/particles/emitter.js +4 -4
  72. package/dist/melonjs.mjs/particles/particle.js +2 -2
  73. package/dist/melonjs.mjs/particles/settings.js +2 -2
  74. package/dist/melonjs.mjs/physics/body.js +19 -15
  75. package/dist/melonjs.mjs/physics/bounds.js +19 -71
  76. package/dist/melonjs.mjs/physics/collision.js +3 -3
  77. package/dist/melonjs.mjs/physics/detector.js +2 -2
  78. package/dist/melonjs.mjs/physics/quadtree.js +2 -2
  79. package/dist/melonjs.mjs/physics/response.js +2 -2
  80. package/dist/melonjs.mjs/physics/sat.js +2 -2
  81. package/dist/melonjs.mjs/physics/world.js +2 -2
  82. package/dist/melonjs.mjs/plugin/plugin.js +4 -4
  83. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  84. package/dist/melonjs.mjs/renderable/colorlayer.js +2 -2
  85. package/dist/melonjs.mjs/renderable/container.js +26 -20
  86. package/dist/melonjs.mjs/renderable/dragndrop.js +2 -2
  87. package/dist/melonjs.mjs/renderable/imagelayer.js +8 -2
  88. package/dist/melonjs.mjs/renderable/light2d.js +2 -2
  89. package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
  90. package/dist/melonjs.mjs/renderable/renderable.js +127 -106
  91. package/dist/melonjs.mjs/renderable/sprite.js +34 -55
  92. package/dist/melonjs.mjs/renderable/trigger.js +2 -2
  93. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +2 -2
  94. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +2 -2
  95. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +2 -2
  96. package/dist/melonjs.mjs/state/stage.js +2 -2
  97. package/dist/melonjs.mjs/state/state.js +3 -3
  98. package/dist/melonjs.mjs/system/device.js +2 -2
  99. package/dist/melonjs.mjs/system/dom.js +2 -2
  100. package/dist/melonjs.mjs/system/event.js +2 -2
  101. package/dist/melonjs.mjs/system/platform.js +2 -2
  102. package/dist/melonjs.mjs/system/pooling.js +9 -19
  103. package/dist/melonjs.mjs/system/save.js +2 -2
  104. package/dist/melonjs.mjs/system/timer.js +2 -2
  105. package/dist/melonjs.mjs/text/bitmaptext.js +67 -9
  106. package/dist/melonjs.mjs/text/bitmaptextdata.js +2 -2
  107. package/dist/melonjs.mjs/text/glyph.js +2 -2
  108. package/dist/melonjs.mjs/text/text.js +2 -2
  109. package/dist/melonjs.mjs/text/textmetrics.js +2 -2
  110. package/dist/melonjs.mjs/text/textstyle.js +2 -2
  111. package/dist/melonjs.mjs/tweens/easing.js +2 -2
  112. package/dist/melonjs.mjs/tweens/interpolation.js +2 -2
  113. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  114. package/dist/melonjs.mjs/utils/agent.js +2 -2
  115. package/dist/melonjs.mjs/utils/array.js +2 -2
  116. package/dist/melonjs.mjs/utils/file.js +2 -2
  117. package/dist/melonjs.mjs/utils/function.js +2 -2
  118. package/dist/melonjs.mjs/utils/string.js +3 -3
  119. package/dist/melonjs.mjs/utils/utils.js +3 -5
  120. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +2 -2
  121. package/dist/melonjs.mjs/video/renderer.js +2 -2
  122. package/dist/melonjs.mjs/video/texture/atlas.js +11 -10
  123. package/dist/melonjs.mjs/video/texture/cache.js +4 -4
  124. package/dist/melonjs.mjs/video/texture/canvas_texture.js +2 -2
  125. package/dist/melonjs.mjs/video/utils/autodetect.js +2 -2
  126. package/dist/melonjs.mjs/video/video.js +17 -14
  127. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +2 -2
  128. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +235 -0
  129. package/{src/video/webgl → dist/melonjs.mjs/video/webgl/compositors}/webgl_compositor.js +28 -205
  130. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
  131. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +2 -2
  132. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +2 -2
  133. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +2 -2
  134. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +2 -2
  135. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
  136. package/dist/melonjs.mjs/video/webgl/utils/precision.js +2 -2
  137. package/dist/melonjs.mjs/video/webgl/utils/program.js +2 -2
  138. package/dist/melonjs.mjs/video/webgl/utils/string.js +2 -2
  139. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +2 -2
  140. package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +3 -3
  141. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +3 -3
  142. package/dist/melonjs.module.js +19807 -19896
  143. package/dist/types/application/application.d.ts +5 -1
  144. package/dist/types/application/resize.d.ts +1 -0
  145. package/dist/types/const.d.ts +21 -0
  146. package/dist/types/entity/entity.d.ts +2 -2
  147. package/dist/types/geometries/path2d.d.ts +5 -31
  148. package/dist/types/geometries/point.d.ts +2 -7
  149. package/dist/types/geometries/poly.d.ts +0 -1
  150. package/dist/types/index.d.ts +3 -2
  151. package/dist/types/lang/console.d.ts +7 -0
  152. package/dist/types/lang/deprecated.d.ts +0 -8
  153. package/dist/types/level/tiled/TMXGroup.d.ts +7 -28
  154. package/dist/types/level/tiled/TMXLayer.d.ts +25 -47
  155. package/dist/types/level/tiled/TMXObject.d.ts +20 -82
  156. package/dist/types/level/tiled/TMXTile.d.ts +11 -25
  157. package/dist/types/level/tiled/TMXTileMap.d.ts +18 -56
  158. package/dist/types/level/tiled/TMXTileset.d.ts +7 -21
  159. package/dist/types/level/tiled/TMXTilesetGroup.d.ts +3 -9
  160. package/dist/types/level/tiled/constants.d.ts +5 -0
  161. package/dist/types/level/tiled/renderer/TMXHexagonalRenderer.d.ts +2 -6
  162. package/dist/types/level/tiled/renderer/TMXIsometricRenderer.d.ts +2 -6
  163. package/dist/types/level/tiled/renderer/TMXRenderer.d.ts +6 -18
  164. package/dist/types/level/tiled/renderer/autodetect.d.ts +9 -0
  165. package/dist/types/loader/cache.d.ts +7 -0
  166. package/dist/types/loader/loader.d.ts +166 -181
  167. package/dist/types/loader/parser.d.ts +41 -0
  168. package/dist/types/loader/settings.d.ts +57 -0
  169. package/dist/types/particles/emitter.d.ts +4 -4
  170. package/dist/types/physics/bounds.d.ts +29 -84
  171. package/dist/types/renderable/container.d.ts +0 -11
  172. package/dist/types/renderable/renderable.d.ts +37 -31
  173. package/dist/types/renderable/sprite.d.ts +3 -3
  174. package/dist/types/state/state.d.ts +1 -1
  175. package/dist/types/system/pooling.d.ts +2 -2
  176. package/dist/types/video/renderer.d.ts +1 -1
  177. package/dist/types/video/video.d.ts +7 -6
  178. package/dist/types/video/webgl/compositors/compositor.d.ts +101 -0
  179. package/dist/types/video/webgl/compositors/webgl_compositor.d.ts +86 -0
  180. package/dist/types/video/webgl/webgl_compositor.d.ts +2 -3
  181. package/dist/types/video/webgl/webgl_renderer.d.ts +1 -1
  182. package/package.json +17 -16
  183. package/src/application/application.js +6 -19
  184. package/src/application/resize.js +2 -0
  185. package/src/audio/audio.js +3 -3
  186. package/src/const.js +23 -0
  187. package/src/entity/entity.js +42 -8
  188. package/src/geometries/ellipse.js +1 -2
  189. package/src/geometries/path2d.js +17 -41
  190. package/src/geometries/point.js +0 -5
  191. package/src/geometries/poly.js +1 -4
  192. package/src/geometries/rectangle.js +12 -8
  193. package/src/index.js +4 -2
  194. package/src/input/gamepad.js +9 -15
  195. package/src/input/pointerevent.js +1 -15
  196. package/src/lang/console.js +36 -0
  197. package/src/lang/deprecated.js +2 -37
  198. package/src/level/level.js +2 -2
  199. package/src/level/tiled/TMXGroup.js +0 -21
  200. package/src/level/tiled/TMXLayer.js +65 -62
  201. package/src/level/tiled/TMXObject.js +0 -62
  202. package/src/level/tiled/TMXTile.js +8 -24
  203. package/src/level/tiled/TMXTileMap.js +19 -81
  204. package/src/level/tiled/TMXTileset.js +4 -18
  205. package/src/level/tiled/TMXTilesetGroup.js +1 -9
  206. package/src/level/tiled/TMXUtils.js +38 -15
  207. package/src/level/tiled/constants.js +8 -0
  208. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +5 -6
  209. package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -4
  210. package/src/level/tiled/renderer/TMXRenderer.js +0 -12
  211. package/src/level/tiled/renderer/autodetect.js +29 -0
  212. package/src/loader/cache.js +16 -0
  213. package/src/loader/loader.js +339 -709
  214. package/src/loader/loadingscreen.js +3 -3
  215. package/src/loader/parser.js +279 -0
  216. package/src/loader/settings.js +85 -0
  217. package/src/math/matrix2.js +6 -8
  218. package/src/math/matrix3.js +17 -20
  219. package/src/math/observable_vector2.js +2 -2
  220. package/src/math/observable_vector3.js +2 -3
  221. package/src/math/vector2.js +2 -2
  222. package/src/math/vector3.js +2 -3
  223. package/src/particles/emitter.js +2 -2
  224. package/src/physics/body.js +17 -13
  225. package/src/physics/bounds.js +17 -69
  226. package/src/physics/collision.js +1 -1
  227. package/src/renderable/container.js +24 -18
  228. package/src/renderable/imagelayer.js +6 -0
  229. package/src/renderable/renderable.js +125 -104
  230. package/src/renderable/sprite.js +32 -53
  231. package/src/state/state.js +1 -1
  232. package/src/system/pooling.js +7 -17
  233. package/src/text/bitmaptext.js +65 -7
  234. package/src/utils/string.js +1 -1
  235. package/src/utils/utils.js +1 -3
  236. package/src/video/texture/atlas.js +9 -8
  237. package/src/video/texture/cache.js +2 -2
  238. package/src/video/video.js +15 -12
  239. package/src/video/webgl/compositors/compositor.js +227 -0
  240. package/src/video/webgl/compositors/webgl_compositor.js +300 -0
  241. package/src/video/webgl/webgl_renderer.js +1 -1
  242. package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-end.js +0 -13
  243. package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-start.js +0 -13
  244. package/dist/melonjs.mjs/node_modules/core-js/internals/a-callable.js +0 -22
  245. package/dist/melonjs.mjs/node_modules/core-js/internals/an-object.js +0 -21
  246. package/dist/melonjs.mjs/node_modules/core-js/internals/array-includes.js +0 -45
  247. package/dist/melonjs.mjs/node_modules/core-js/internals/classof-raw.js +0 -19
  248. package/dist/melonjs.mjs/node_modules/core-js/internals/classof.js +0 -43
  249. package/dist/melonjs.mjs/node_modules/core-js/internals/copy-constructor-properties.js +0 -32
  250. package/dist/melonjs.mjs/node_modules/core-js/internals/create-non-enumerable-property.js +0 -24
  251. package/dist/melonjs.mjs/node_modules/core-js/internals/create-property-descriptor.js +0 -17
  252. package/dist/melonjs.mjs/node_modules/core-js/internals/define-built-in.js +0 -43
  253. package/dist/melonjs.mjs/node_modules/core-js/internals/define-global-property.js +0 -23
  254. package/dist/melonjs.mjs/node_modules/core-js/internals/descriptors.js +0 -18
  255. package/dist/melonjs.mjs/node_modules/core-js/internals/document-all.js +0 -18
  256. package/dist/melonjs.mjs/node_modules/core-js/internals/document-create-element.js +0 -22
  257. package/dist/melonjs.mjs/node_modules/core-js/internals/engine-user-agent.js +0 -14
  258. package/dist/melonjs.mjs/node_modules/core-js/internals/engine-v8-version.js +0 -39
  259. package/dist/melonjs.mjs/node_modules/core-js/internals/entry-unbind.js +0 -18
  260. package/dist/melonjs.mjs/node_modules/core-js/internals/enum-bug-keys.js +0 -19
  261. package/dist/melonjs.mjs/node_modules/core-js/internals/export.js +0 -72
  262. package/dist/melonjs.mjs/node_modules/core-js/internals/fails.js +0 -16
  263. package/dist/melonjs.mjs/node_modules/core-js/internals/function-bind-native.js +0 -19
  264. package/dist/melonjs.mjs/node_modules/core-js/internals/function-call.js +0 -18
  265. package/dist/melonjs.mjs/node_modules/core-js/internals/function-name.js +0 -29
  266. package/dist/melonjs.mjs/node_modules/core-js/internals/function-uncurry-this.js +0 -22
  267. package/dist/melonjs.mjs/node_modules/core-js/internals/get-built-in.js +0 -22
  268. package/dist/melonjs.mjs/node_modules/core-js/internals/get-method.js +0 -21
  269. package/dist/melonjs.mjs/node_modules/core-js/internals/global.js +0 -25
  270. package/dist/melonjs.mjs/node_modules/core-js/internals/has-own-property.js +0 -23
  271. package/dist/melonjs.mjs/node_modules/core-js/internals/hidden-keys.js +0 -10
  272. package/dist/melonjs.mjs/node_modules/core-js/internals/ie8-dom-define.js +0 -24
  273. package/dist/melonjs.mjs/node_modules/core-js/internals/indexed-object.js +0 -28
  274. package/dist/melonjs.mjs/node_modules/core-js/internals/inspect-source.js +0 -27
  275. package/dist/melonjs.mjs/node_modules/core-js/internals/internal-state.js +0 -88
  276. package/dist/melonjs.mjs/node_modules/core-js/internals/is-callable.js +0 -22
  277. package/dist/melonjs.mjs/node_modules/core-js/internals/is-forced.js +0 -34
  278. package/dist/melonjs.mjs/node_modules/core-js/internals/is-null-or-undefined.js +0 -14
  279. package/dist/melonjs.mjs/node_modules/core-js/internals/is-object.js +0 -22
  280. package/dist/melonjs.mjs/node_modules/core-js/internals/is-symbol.js +0 -27
  281. package/dist/melonjs.mjs/node_modules/core-js/internals/length-of-array-like.js +0 -18
  282. package/dist/melonjs.mjs/node_modules/core-js/internals/make-built-in.js +0 -68
  283. package/dist/melonjs.mjs/node_modules/core-js/internals/math-trunc.js +0 -19
  284. package/dist/melonjs.mjs/node_modules/core-js/internals/object-define-property.js +0 -58
  285. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-descriptor.js +0 -41
  286. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-names.js +0 -23
  287. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-symbols.js +0 -12
  288. package/dist/melonjs.mjs/node_modules/core-js/internals/object-is-prototype-of.js +0 -14
  289. package/dist/melonjs.mjs/node_modules/core-js/internals/object-keys-internal.js +0 -35
  290. package/dist/melonjs.mjs/node_modules/core-js/internals/object-property-is-enumerable.js +0 -23
  291. package/dist/melonjs.mjs/node_modules/core-js/internals/ordinary-to-primitive.js +0 -28
  292. package/dist/melonjs.mjs/node_modules/core-js/internals/own-keys.js +0 -31
  293. package/dist/melonjs.mjs/node_modules/core-js/internals/require-object-coercible.js +0 -21
  294. package/dist/melonjs.mjs/node_modules/core-js/internals/shared-key.js +0 -21
  295. package/dist/melonjs.mjs/node_modules/core-js/internals/shared-store.js +0 -19
  296. package/dist/melonjs.mjs/node_modules/core-js/internals/shared.js +0 -24
  297. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-end.js +0 -22
  298. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-forced.js +0 -28
  299. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-start.js +0 -22
  300. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim.js +0 -45
  301. package/dist/melonjs.mjs/node_modules/core-js/internals/symbol-constructor-detection.js +0 -26
  302. package/dist/melonjs.mjs/node_modules/core-js/internals/to-absolute-index.js +0 -23
  303. package/dist/melonjs.mjs/node_modules/core-js/internals/to-indexed-object.js +0 -19
  304. package/dist/melonjs.mjs/node_modules/core-js/internals/to-integer-or-infinity.js +0 -20
  305. package/dist/melonjs.mjs/node_modules/core-js/internals/to-length.js +0 -20
  306. package/dist/melonjs.mjs/node_modules/core-js/internals/to-object.js +0 -20
  307. package/dist/melonjs.mjs/node_modules/core-js/internals/to-primitive.js +0 -41
  308. package/dist/melonjs.mjs/node_modules/core-js/internals/to-property-key.js +0 -21
  309. package/dist/melonjs.mjs/node_modules/core-js/internals/to-string-tag-support.js +0 -19
  310. package/dist/melonjs.mjs/node_modules/core-js/internals/to-string.js +0 -19
  311. package/dist/melonjs.mjs/node_modules/core-js/internals/try-to-string.js +0 -18
  312. package/dist/melonjs.mjs/node_modules/core-js/internals/uid.js +0 -20
  313. package/dist/melonjs.mjs/node_modules/core-js/internals/use-symbol-as-uid.js +0 -18
  314. package/dist/melonjs.mjs/node_modules/core-js/internals/v8-prototype-define-bug.js +0 -24
  315. package/dist/melonjs.mjs/node_modules/core-js/internals/weak-map-basic-detection.js +0 -18
  316. package/dist/melonjs.mjs/node_modules/core-js/internals/well-known-symbol.js +0 -41
  317. package/dist/melonjs.mjs/node_modules/core-js/internals/whitespaces.js +0 -12
  318. package/dist/melonjs.mjs/node_modules/core-js/modules/es.global-this.js +0 -18
  319. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-end.js +0 -22
  320. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-left.js +0 -19
  321. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-right.js +0 -19
  322. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-start.js +0 -22
  323. package/dist/melonjs.mjs/node_modules/eventemitter3/index.mjs.js +0 -9
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.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
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Renderable from './renderable.js';
9
9
  import utils from '../utils/utils.js';
@@ -136,7 +136,13 @@ let globalFloatingCounter = 0;
136
136
  // subscribe on the canvas resize event
137
137
  if (this.root === true) {
138
138
  // Workaround for not updating container child-bounds automatically (it's expensive!)
139
- on(CANVAS_ONRESIZE, this.updateBounds.bind(this, true));
139
+ on(CANVAS_ONRESIZE, () => {
140
+ // temporarly enable the enableChildBoundsUpdate flag
141
+ this.enableChildBoundsUpdate === true;
142
+ // update bounds
143
+ this.updateBounds();
144
+ this.enableChildBoundsUpdate === false;
145
+ });
140
146
  }
141
147
  }
142
148
 
@@ -196,6 +202,10 @@ let globalFloatingCounter = 0;
196
202
 
197
203
  child.ancestor = this;
198
204
  this.getChildren().push(child);
205
+ if (typeof child.updateBounds === "function") {
206
+ // update child bounds to reflect the new ancestor
207
+ child.updateBounds();
208
+ }
199
209
 
200
210
  // set the child z value if required
201
211
  if (typeof(child.pos) !== "undefined") {
@@ -220,8 +230,8 @@ let globalFloatingCounter = 0;
220
230
  }
221
231
 
222
232
  // force bounds update if required
223
- if (this.enableChildBoundsUpdate) {
224
- this.updateBounds(true);
233
+ if (this.enableChildBoundsUpdate === true) {
234
+ this.updateBounds();
225
235
  }
226
236
 
227
237
  // if a physic body is defined, add it to the game world
@@ -269,8 +279,8 @@ let globalFloatingCounter = 0;
269
279
  }
270
280
 
271
281
  // force bounds update if required
272
- if (this.enableChildBoundsUpdate) {
273
- this.updateBounds(true);
282
+ if (this.enableChildBoundsUpdate === true) {
283
+ this.updateBounds();
274
284
  }
275
285
 
276
286
  // if a physic body is defined, add it to the game world
@@ -504,26 +514,25 @@ let globalFloatingCounter = 0;
504
514
  /**
505
515
  * update the bounding box for this shape.
506
516
  * @ignore
517
+ * @param {boolean} absolute - update the bounds size and position in (world) absolute coordinates
507
518
  * @returns {Bounds} this shape bounding box Rectangle object
508
519
  */
509
- updateBounds(forceUpdateChildBounds = false) {
520
+ updateBounds(absolute = true) {
521
+ var bounds = this.getBounds();
510
522
 
511
523
  // call parent method
512
- super.updateBounds();
524
+ super.updateBounds(absolute);
513
525
 
514
- var bounds = this.getBounds();
515
-
516
- if (forceUpdateChildBounds === true || this.enableChildBoundsUpdate === true) {
526
+ if (this.enableChildBoundsUpdate === true) {
517
527
  this.forEach((child) => {
518
528
  if (child.isRenderable) {
519
529
  var childBounds = child.getBounds();
520
530
  if (childBounds.isFinite()) {
521
- bounds.addBounds(child.getBounds());
531
+ bounds.addBounds(childBounds);
522
532
  }
523
533
  }
524
534
  });
525
535
  }
526
-
527
536
  return bounds;
528
537
  }
529
538
 
@@ -551,7 +560,7 @@ let globalFloatingCounter = 0;
551
560
  * update the cointainer's bounding rect (private)
552
561
  * @ignore
553
562
  */
554
- updateBoundsPos(newX, newY) {
563
+ updateBoundsPos(newX = this.pos.x, newY = this.pos.y) {
555
564
  // call the parent method
556
565
  super.updateBoundsPos(newX, newY);
557
566
 
@@ -559,14 +568,11 @@ let globalFloatingCounter = 0;
559
568
  this.forEach((child) => {
560
569
  if (child.isRenderable) {
561
570
  child.updateBoundsPos(
562
- // workaround on this.pos being updated after
563
- // the callback being triggered
564
571
  child.pos.x + newX - this.pos.x,
565
572
  child.pos.y + newY - this.pos.y
566
573
  );
567
574
  }
568
575
  });
569
- return this.getBounds();
570
576
  }
571
577
 
572
578
  /**
@@ -638,8 +644,8 @@ let globalFloatingCounter = 0;
638
644
  }
639
645
 
640
646
  // force bounds update if required
641
- if (this.enableChildBoundsUpdate) {
642
- this.updateBounds(true);
647
+ if (this.enableChildBoundsUpdate === true) {
648
+ this.updateBounds();
643
649
  }
644
650
 
645
651
  // triggered callback if defined
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.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
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Vector2d from '../math/vector2.js';
9
9
  import { emit, DRAGSTART, DRAGEND, on, POINTERMOVE, off } from '../system/event.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.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
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { renderer } from '../video/video.js';
9
9
  import { on, ONCONTEXT_RESTORED, VIEWPORT_ONCHANGE, VIEWPORT_ONRESIZE, once, off, LEVEL_LOADED } from '../system/event.js';
@@ -241,11 +241,17 @@ import { isNumeric } from '../utils/string.js';
241
241
  preDraw(renderer) {
242
242
  // save the context
243
243
  renderer.save();
244
+
244
245
  // apply the defined alpha value
245
246
  renderer.setGlobalAlpha(renderer.globalAlpha() * this.getOpacity());
246
247
 
247
248
  // apply the defined tint, if any
248
249
  renderer.setTint(this.tint);
250
+
251
+ // apply blending if different from "normal"
252
+ if (this.blendMode !== renderer.getBlendMode()) {
253
+ renderer.setBlendMode(this.blendMode);
254
+ }
249
255
  }
250
256
 
251
257
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.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
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import pool from '../system/pooling.js';
9
9
  import Renderable from './renderable.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.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
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Sprite from './sprite.js';
9
9
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.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
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import ObservableVector2d from '../math/observable_vector2.js';
9
9
  import ObservableVector3d from '../math/observable_vector3.js';
@@ -30,18 +30,42 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
30
30
  // parent constructor
31
31
  super(x, y, width, height);
32
32
 
33
- /**
34
- * to identify the object as a renderable object
35
- * @ignore
36
- */
37
- this.isRenderable = true;
33
+ if (this.pos instanceof ObservableVector3d) {
34
+ this.pos.setMuted(x, y, 0).setCallback(this.updateBoundsPos, this);
35
+ } else {
36
+ /**
37
+ * Position of the Renderable relative to its parent container
38
+ * @public
39
+ * @type {ObservableVector3d}
40
+ */
41
+ this.pos = pool.pull("ObservableVector3d", x, y, 0, { onUpdate: this.updateBoundsPos, scope: this});
42
+ }
38
43
 
39
- /**
40
- * If true then physic collision and input events will not impact this renderable
41
- * @type {boolean}
42
- * @default true
43
- */
44
- this.isKinematic = true;
44
+ if (this.anchorPoint instanceof ObservableVector2d) {
45
+ this.anchorPoint.setMuted(0.5, 0.5).setCallback(this.onAnchorUpdate, this);
46
+ } else {
47
+ /**
48
+ * The anchor point is used for attachment behavior, and/or when applying transformations.<br>
49
+ * The coordinate system places the origin at the top left corner of the frame (0, 0) and (1, 1) means the bottom-right corner<br>
50
+ * <img src="images/anchor_point.png"/><br>
51
+ * a Renderable's anchor point defaults to (0.5,0.5), which corresponds to the center position.<br>
52
+ * <br>
53
+ * <i><b>Note:</b> Object created through Tiled will have their anchorPoint set to (0, 0) to match Tiled Level editor implementation.
54
+ * To specify a value through Tiled, use a json expression like `json:{"x":0.5,"y":0.5}`. </i>
55
+ * @type {ObservableVector2d}
56
+ * @default <0.5,0.5>
57
+ */
58
+ this.anchorPoint = pool.pull("ObservableVector2d", 0.5, 0.5, { onUpdate: this.onAnchorUpdate, scope: this });
59
+ }
60
+
61
+ if (typeof this.currentTransform === "undefined") {
62
+ /**
63
+ * the renderable default transformation matrix
64
+ * @type {Matrix2d}
65
+ */
66
+ this.currentTransform = pool.pull("Matrix2d");
67
+ }
68
+ this.currentTransform.identity();
45
69
 
46
70
  /**
47
71
  * the renderable physic body
@@ -80,15 +104,6 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
80
104
  */
81
105
  this.body = undefined;
82
106
 
83
- if (typeof this.currentTransform === "undefined") {
84
- /**
85
- * the renderable default transformation matrix
86
- * @type {Matrix2d}
87
- */
88
- this.currentTransform = pool.pull("Matrix2d");
89
- }
90
- this.currentTransform.identity();
91
-
92
107
  /**
93
108
  * (G)ame (U)nique (Id)entifier" <br>
94
109
  * a GUID will be allocated for any renderable object added <br>
@@ -139,23 +154,6 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
139
154
  */
140
155
  this.floating = false;
141
156
 
142
- if (this.anchorPoint instanceof ObservableVector2d) {
143
- this.anchorPoint.setMuted(0.5, 0.5).setCallback(this.onAnchorUpdate, this);
144
- } else {
145
- /**
146
- * The anchor point is used for attachment behavior, and/or when applying transformations.<br>
147
- * The coordinate system places the origin at the top left corner of the frame (0, 0) and (1, 1) means the bottom-right corner<br>
148
- * <img src="images/anchor_point.png"/><br>
149
- * a Renderable's anchor point defaults to (0.5,0.5), which corresponds to the center position.<br>
150
- * <br>
151
- * <i><b>Note:</b> Object created through Tiled will have their anchorPoint set to (0, 0) to match Tiled Level editor implementation.
152
- * To specify a value through Tiled, use a json expression like `json:{"x":0.5,"y":0.5}`. </i>
153
- * @type {ObservableVector2d}
154
- * @default <0.5,0.5>
155
- */
156
- this.anchorPoint = pool.pull("ObservableVector2d", 0.5, 0.5, { onUpdate: this.onAnchorUpdate, scope: this });
157
- }
158
-
159
157
  /**
160
158
  * When enabled, an object container will automatically apply
161
159
  * any defined transformation before calling the child draw method.
@@ -231,23 +229,25 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
231
229
  */
232
230
  this.name = "";
233
231
 
234
- if (this.pos instanceof ObservableVector3d) {
235
- this.pos.setMuted(x, y, 0).setCallback(this.updateBoundsPos, this);
236
- } else {
237
- /**
238
- * Position of the Renderable relative to its parent container
239
- * @public
240
- * @type {ObservableVector3d}
241
- */
242
- this.pos = pool.pull("ObservableVector3d", x, y, 0, { onUpdate: this.updateBoundsPos, scope: this});
243
- }
232
+ /**
233
+ * to identify the object as a renderable object
234
+ * @ignore
235
+ */
236
+ this.isRenderable = true;
237
+
238
+ /**
239
+ * If true then physic collision and input events will not impact this renderable
240
+ * @type {boolean}
241
+ * @default true
242
+ */
243
+ this.isKinematic = true;
244
244
 
245
245
  /**
246
246
  * when true the renderable will be redrawn during the next update cycle
247
247
  * @type {boolean}
248
- * @default false
248
+ * @default true
249
249
  */
250
- this.isDirty = false;
250
+ this.isDirty = true;
251
251
 
252
252
  // keep track of when we flip
253
253
  this._flip = {
@@ -344,7 +344,7 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
344
344
  if (typeof this._bounds === "undefined") {
345
345
  super.getBounds();
346
346
  if (this.isFinite()) {
347
- this._bounds.setMinMax(this.pos.x, this.pos.y, this.pos.x + this.width, this.pos.y + this.height);
347
+ this.updateBounds();
348
348
  } else {
349
349
  // e.g. containers or game world can have infinite size
350
350
  this._bounds.setMinMax(this.pos.x, this.pos.y, this.width, this.height);
@@ -384,8 +384,11 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
384
384
  * @returns {Renderable} Reference to this object for method chaining
385
385
  */
386
386
  flipX(flip = true) {
387
- this._flip.x = !!flip;
388
- this.isDirty = true;
387
+ if (this.isFlippedX !== flip) {
388
+ this._flip.x = !!flip;
389
+ this.scale(-1, 1);
390
+ this.isDirty = true;
391
+ }
389
392
  return this;
390
393
  }
391
394
 
@@ -396,8 +399,11 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
396
399
  * @returns {Renderable} Reference to this object for method chaining
397
400
  */
398
401
  flipY(flip = true) {
399
- this._flip.y = !!flip;
400
- this.isDirty = true;
402
+ if (this.isFlippedY !== flip) {
403
+ this._flip.y = !!flip;
404
+ this.scale(1, -1);
405
+ this.isDirty = true;
406
+ }
401
407
  return this;
402
408
  }
403
409
 
@@ -409,8 +415,7 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
409
415
  */
410
416
  transform(m) {
411
417
  this.currentTransform.multiply(m);
412
- //super.transform(m);
413
- this.updateBoundsPos(this.pos.x, this.pos.y);
418
+ this.updateBounds();
414
419
  this.isDirty = true;
415
420
  return this;
416
421
  }
@@ -485,9 +490,9 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
485
490
  * @returns {Renderable} Reference to this object for method chaining
486
491
  */
487
492
  rotate(angle, v) {
488
- if (!isNaN(angle)) {
493
+ if (angle !== 0) {
489
494
  this.currentTransform.rotate(angle, v);
490
- //this.updateBoundsPos(this.pos.x, this.pos.y);
495
+ this.updateBounds();
491
496
  this.isDirty = true;
492
497
  }
493
498
  return this;
@@ -503,9 +508,9 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
503
508
  * @param {number} [y=x] - a number representing the ordinate of the scaling vector.
504
509
  * @returns {Renderable} Reference to this object for method chaining
505
510
  */
506
- scale(x, y) {
511
+ scale(x, y = x) {
507
512
  this.currentTransform.scale(x, y);
508
- super.scale(x, y);
513
+ this.updateBounds();
509
514
  this.isDirty = true;
510
515
  return this;
511
516
  }
@@ -531,44 +536,68 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
531
536
 
532
537
  /**
533
538
  * update the bounding box for this shape.
534
- * @ignore
539
+ * @param {boolean} [absolute=true] - update the bounds size and position in (world) absolute coordinates
535
540
  * @returns {Bounds} this shape bounding box Rectangle object
536
541
  */
537
- updateBounds() {
538
- super.updateBounds();
539
- this.updateBoundsPos(this.pos.x, this.pos.y);
540
- return this.getBounds();
542
+ updateBounds(absolute = true) {
543
+ if (this.isRenderable) {
544
+ var bounds = this.getBounds();
545
+
546
+ bounds.clear();
547
+
548
+ if ((this.autoTransform === true) && (!this.currentTransform.isIdentity())) {
549
+ // temporarly translate the matrix based on the anchor point
550
+ this.currentTransform.translate(
551
+ -this.width * this.anchorPoint.x,
552
+ -this.height * this.anchorPoint.y
553
+ );
554
+ bounds.addFrame(
555
+ 0,
556
+ 0,
557
+ this.width,
558
+ this.height,
559
+ this.currentTransform
560
+ );
561
+ this.currentTransform.translate(
562
+ this.width * this.anchorPoint.x,
563
+ this.height * this.anchorPoint.y
564
+ );
565
+ } else {
566
+ bounds.addFrame(
567
+ 0,
568
+ 0,
569
+ this.width,
570
+ this.height
571
+ );
572
+ // translate the bounds based on the anchor point
573
+ bounds.translate(
574
+ -this.width * this.anchorPoint.x,
575
+ -this.height * this.anchorPoint.y
576
+ );
577
+ }
578
+
579
+ if (absolute === true) {
580
+ bounds.centerOn(this.pos.x + bounds.x + bounds.width / 2, this.pos.y + bounds.y + bounds.height / 2);
581
+ if (typeof this.ancestor !== "undefined" && typeof this.ancestor.addChild === "function" && this.floating !== true) {
582
+ bounds.translate(this.ancestor.getAbsolutePosition());
583
+ }
584
+
585
+ }
586
+ return bounds;
587
+
588
+ } else {
589
+ // manage the case where updateBounds is called
590
+ // before the object being yet properly initialized
591
+ return super.updateBounds(absolute);
592
+ }
541
593
  }
542
594
 
543
595
  /**
544
596
  * update the renderable's bounding rect (private)
545
597
  * @ignore
546
598
  */
547
- updateBoundsPos(newX, newY) {
548
- var bounds = this.getBounds();
549
-
550
- bounds.shift(newX, newY);
551
-
552
- if (typeof this.anchorPoint !== "undefined" && bounds.isFinite()) {
553
- bounds.translate(
554
- -(this.anchorPoint.x * bounds.width),
555
- -(this.anchorPoint.y * bounds.height)
556
- );
557
- }
558
-
559
- /*
560
- if (typeof this.body !== "undefined") {
561
- var bodyBounds = this.body.getBounds();
562
- bounds.translate(bodyBounds.x, bodyBounds.y);
563
- }
564
- */
565
-
566
- // XXX: This is called from the constructor, before it gets an ancestor
567
- if (typeof this.ancestor !== "undefined" && typeof this.ancestor.addChild === "function" && this.floating !== true) {
568
- bounds.translate(this.ancestor.getAbsolutePosition());
569
- }
570
-
571
- this.isDirty = true;
599
+ updateBoundsPos(newX = this.pos.x, newY = this.pos.y) {
600
+ this.getBounds().translate(newX - this.pos.x, newY - this.pos.y);
572
601
  }
573
602
 
574
603
  /**
@@ -598,7 +627,10 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
598
627
  // manually update the anchor point (required for updateBoundsPos)
599
628
  this.anchorPoint.setMuted(x, y);
600
629
  // then call updateBounds
601
- this.updateBoundsPos(this.pos.x, this.pos.y);
630
+ //this.updateBoundsPos(this.pos.x, this.pos.y);
631
+ this.updateBounds();
632
+ //console.log("hello");
633
+ this.isDirty = true;
602
634
  }
603
635
 
604
636
  /**
@@ -609,9 +641,8 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
609
641
  * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer object
610
642
  */
611
643
  preDraw(renderer) {
612
- var bounds = this.getBounds();
613
- var ax = bounds.width * this.anchorPoint.x,
614
- ay = bounds.height * this.anchorPoint.y;
644
+ var ax = this.width * this.anchorPoint.x,
645
+ ay = this.height * this.anchorPoint.y;
615
646
 
616
647
  // save renderer context
617
648
  renderer.save();
@@ -619,16 +650,6 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
619
650
  // apply the defined alpha value
620
651
  renderer.setGlobalAlpha(renderer.globalAlpha() * this.getOpacity());
621
652
 
622
- // apply flip
623
- if (this._flip.x || this._flip.y) {
624
- var dx = this._flip.x ? this.centerX - ax : 0,
625
- dy = this._flip.y ? this.centerY - ay : 0;
626
-
627
- renderer.translate(dx, dy);
628
- renderer.scale(this._flip.x ? -1 : 1, this._flip.y ? -1 : 1);
629
- renderer.translate(-dx, -dy);
630
- }
631
-
632
653
  // apply stencil mask if defined
633
654
  if (typeof this.mask !== "undefined") {
634
655
  renderer.translate(this.pos.x, this.pos.y);