melonjs 17.3.0 → 18.0.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 (704) hide show
  1. package/{dist/types → build}/application/application.d.ts +16 -10
  2. package/build/application/application.d.ts.map +1 -0
  3. package/build/application/defaultApplicationSettings.d.ts +18 -0
  4. package/build/application/defaultApplicationSettings.d.ts.map +1 -0
  5. package/build/application/header.d.ts +11 -0
  6. package/build/application/header.d.ts.map +1 -0
  7. package/{dist/types → build}/application/resize.d.ts +2 -0
  8. package/build/application/resize.d.ts.map +1 -0
  9. package/build/application/scaleMethods.d.ts +44 -0
  10. package/build/application/scaleMethods.d.ts.map +1 -0
  11. package/build/application/settings.d.ts +85 -0
  12. package/build/application/settings.d.ts.map +1 -0
  13. package/{dist/types → build}/audio/audio.d.ts +37 -59
  14. package/build/audio/audio.d.ts.map +1 -0
  15. package/{dist/types → build}/camera/camera2d.d.ts +42 -75
  16. package/build/camera/camera2d.d.ts.map +1 -0
  17. package/build/const.d.ts +14 -0
  18. package/build/const.d.ts.map +1 -0
  19. package/build/geometries/earcut.d.ts +3 -0
  20. package/build/geometries/earcut.d.ts.map +1 -0
  21. package/build/geometries/ellipse.d.ts +117 -0
  22. package/build/geometries/ellipse.d.ts.map +1 -0
  23. package/build/geometries/line.d.ts +39 -0
  24. package/build/geometries/line.d.ts.map +1 -0
  25. package/build/geometries/observablePoint.d.ts +75 -0
  26. package/build/geometries/observablePoint.d.ts.map +1 -0
  27. package/{dist/types → build}/geometries/path2d.d.ts +11 -5
  28. package/build/geometries/path2d.d.ts.map +1 -0
  29. package/build/geometries/point.d.ts +44 -0
  30. package/build/geometries/point.d.ts.map +1 -0
  31. package/build/geometries/polygon.d.ts +182 -0
  32. package/build/geometries/polygon.d.ts.map +1 -0
  33. package/build/geometries/rectangle.d.ts +135 -0
  34. package/build/geometries/rectangle.d.ts.map +1 -0
  35. package/build/geometries/roundrect.d.ts +67 -0
  36. package/build/geometries/roundrect.d.ts.map +1 -0
  37. package/build/geometries/toarccanvas.d.ts +28 -0
  38. package/build/geometries/toarccanvas.d.ts.map +1 -0
  39. package/{dist/types → build}/index.d.ts +41 -45
  40. package/build/index.d.ts.map +1 -0
  41. package/build/index.js +28318 -0
  42. package/build/index.js.map +7 -0
  43. package/{dist/types → build}/input/gamepad.d.ts +3 -11
  44. package/build/input/gamepad.d.ts.map +1 -0
  45. package/{dist/types → build}/input/input.d.ts +4 -2
  46. package/build/input/input.d.ts.map +1 -0
  47. package/build/input/key.d.ts +105 -0
  48. package/build/input/key.d.ts.map +1 -0
  49. package/build/input/keyboard.d.ts +72 -0
  50. package/build/input/keyboard.d.ts.map +1 -0
  51. package/build/input/pointer.d.ts +180 -0
  52. package/build/input/pointer.d.ts.map +1 -0
  53. package/{dist/types → build}/input/pointerevent.d.ts +17 -15
  54. package/build/input/pointerevent.d.ts.map +1 -0
  55. package/{dist/types → build}/lang/console.d.ts +1 -0
  56. package/build/lang/console.d.ts.map +1 -0
  57. package/build/lang/deprecated.d.ts +24 -0
  58. package/build/lang/deprecated.d.ts.map +1 -0
  59. package/{dist/types → build}/level/level.d.ts +7 -7
  60. package/build/level/level.d.ts.map +1 -0
  61. package/{dist/types → build}/level/tiled/TMXGroup.d.ts +2 -2
  62. package/build/level/tiled/TMXGroup.d.ts.map +1 -0
  63. package/{dist/types → build}/level/tiled/TMXLayer.d.ts +4 -4
  64. package/build/level/tiled/TMXLayer.d.ts.map +1 -0
  65. package/{dist/types → build}/level/tiled/TMXObject.d.ts +3 -3
  66. package/build/level/tiled/TMXObject.d.ts.map +1 -0
  67. package/{dist/types → build}/level/tiled/TMXTile.d.ts +4 -5
  68. package/build/level/tiled/TMXTile.d.ts.map +1 -0
  69. package/{dist/types → build}/level/tiled/TMXTileMap.d.ts +4 -4
  70. package/build/level/tiled/TMXTileMap.d.ts.map +1 -0
  71. package/{dist/types → build}/level/tiled/TMXTileset.d.ts +3 -3
  72. package/build/level/tiled/TMXTileset.d.ts.map +1 -0
  73. package/{dist/types → build}/level/tiled/TMXTilesetGroup.d.ts +1 -1
  74. package/build/level/tiled/TMXTilesetGroup.d.ts.map +1 -0
  75. package/{dist/types → build}/level/tiled/TMXUtils.d.ts +2 -1
  76. package/build/level/tiled/TMXUtils.d.ts.map +1 -0
  77. package/{dist/types → build}/level/tiled/constants.d.ts +1 -0
  78. package/build/level/tiled/constants.d.ts.map +1 -0
  79. package/{dist/types → build}/level/tiled/renderer/TMXHexagonalRenderer.d.ts +3 -4
  80. package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -0
  81. package/{dist/types → build}/level/tiled/renderer/TMXIsometricRenderer.d.ts +2 -3
  82. package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -0
  83. package/{dist/types → build}/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +1 -2
  84. package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -0
  85. package/{dist/types → build}/level/tiled/renderer/TMXRenderer.d.ts +7 -7
  86. package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -0
  87. package/{dist/types → build}/level/tiled/renderer/TMXStaggeredRenderer.d.ts +1 -2
  88. package/build/level/tiled/renderer/TMXStaggeredRenderer.d.ts.map +1 -0
  89. package/{dist/types → build}/level/tiled/renderer/autodetect.d.ts +4 -3
  90. package/build/level/tiled/renderer/autodetect.d.ts.map +1 -0
  91. package/build/loader/cache.d.ts +10 -0
  92. package/build/loader/cache.d.ts.map +1 -0
  93. package/{dist/types → build}/loader/loader.d.ts +29 -53
  94. package/build/loader/loader.d.ts.map +1 -0
  95. package/{dist/types → build}/loader/loadingscreen.d.ts +1 -0
  96. package/build/loader/loadingscreen.d.ts.map +1 -0
  97. package/{dist/types → build}/loader/parsers/binary.d.ts +2 -1
  98. package/build/loader/parsers/binary.d.ts.map +1 -0
  99. package/{dist/types → build}/loader/parsers/compressed_textures/compressed_image.d.ts +1 -0
  100. package/build/loader/parsers/compressed_textures/compressed_image.d.ts.map +1 -0
  101. package/build/loader/parsers/compressed_textures/parseDDS.d.ts +2 -0
  102. package/build/loader/parsers/compressed_textures/parseDDS.d.ts.map +1 -0
  103. package/build/loader/parsers/compressed_textures/parseKTX.d.ts +2 -0
  104. package/build/loader/parsers/compressed_textures/parseKTX.d.ts.map +1 -0
  105. package/build/loader/parsers/compressed_textures/parseKTX2.d.ts +2 -0
  106. package/build/loader/parsers/compressed_textures/parseKTX2.d.ts.map +1 -0
  107. package/build/loader/parsers/compressed_textures/parsePKM.d.ts +2 -0
  108. package/build/loader/parsers/compressed_textures/parsePKM.d.ts.map +1 -0
  109. package/build/loader/parsers/compressed_textures/parsePVR.d.ts +2 -0
  110. package/build/loader/parsers/compressed_textures/parsePVR.d.ts.map +1 -0
  111. package/{dist/types → build}/loader/parsers/fetchdata.d.ts +2 -1
  112. package/build/loader/parsers/fetchdata.d.ts.map +1 -0
  113. package/{dist/types → build}/loader/parsers/fontface.d.ts +2 -1
  114. package/build/loader/parsers/fontface.d.ts.map +1 -0
  115. package/{dist/types → build}/loader/parsers/image.d.ts +2 -1
  116. package/build/loader/parsers/image.d.ts.map +1 -0
  117. package/{dist/types → build}/loader/parsers/json.d.ts +2 -1
  118. package/build/loader/parsers/json.d.ts.map +1 -0
  119. package/{dist/types → build}/loader/parsers/script.d.ts +2 -1
  120. package/build/loader/parsers/script.d.ts.map +1 -0
  121. package/{dist/types → build}/loader/parsers/tmx.d.ts +2 -1
  122. package/build/loader/parsers/tmx.d.ts.map +1 -0
  123. package/{dist/types → build}/loader/parsers/video.d.ts +2 -1
  124. package/build/loader/parsers/video.d.ts.map +1 -0
  125. package/build/math/color.d.ts +192 -0
  126. package/build/math/color.d.ts.map +1 -0
  127. package/build/math/math.d.ts +128 -0
  128. package/build/math/math.d.ts.map +1 -0
  129. package/build/math/matrix2d.d.ts +163 -0
  130. package/build/math/matrix2d.d.ts.map +1 -0
  131. package/build/math/matrix3d.d.ts +188 -0
  132. package/build/math/matrix3d.d.ts.map +1 -0
  133. package/build/math/observableVector2d.d.ts +286 -0
  134. package/build/math/observableVector2d.d.ts.map +1 -0
  135. package/build/math/observableVector2d_old.d.ts +76 -0
  136. package/build/math/observableVector2d_old.d.ts.map +1 -0
  137. package/build/math/observableVector3d.d.ts +283 -0
  138. package/build/math/observableVector3d.d.ts.map +1 -0
  139. package/build/math/observableVector3d_old.d.ts +81 -0
  140. package/build/math/observableVector3d_old.d.ts.map +1 -0
  141. package/build/math/vector2d.d.ts +253 -0
  142. package/build/math/vector2d.d.ts.map +1 -0
  143. package/build/math/vector3d.d.ts +242 -0
  144. package/build/math/vector3d.d.ts.map +1 -0
  145. package/{dist/types → build}/particles/emitter.d.ts +16 -40
  146. package/build/particles/emitter.d.ts.map +1 -0
  147. package/build/particles/particle.d.ts +47 -0
  148. package/build/particles/particle.d.ts.map +1 -0
  149. package/{dist/types → build}/particles/settings.d.ts +1 -0
  150. package/build/particles/settings.d.ts.map +1 -0
  151. package/{dist/types → build}/physics/body.d.ts +39 -21
  152. package/build/physics/body.d.ts.map +1 -0
  153. package/build/physics/bounds.d.ts +192 -0
  154. package/build/physics/bounds.d.ts.map +1 -0
  155. package/{dist/types → build}/physics/collision.d.ts +6 -4
  156. package/build/physics/collision.d.ts.map +1 -0
  157. package/{dist/types → build}/physics/detector.d.ts +13 -5
  158. package/build/physics/detector.d.ts.map +1 -0
  159. package/{dist/types → build}/physics/quadtree.d.ts +7 -18
  160. package/build/physics/quadtree.d.ts.map +1 -0
  161. package/{dist/types → build}/physics/response.d.ts +46 -5
  162. package/build/physics/response.d.ts.map +1 -0
  163. package/{dist/types → build}/physics/sat.d.ts +8 -0
  164. package/build/physics/sat.d.ts.map +1 -0
  165. package/{dist/types → build}/physics/world.d.ts +9 -4
  166. package/build/physics/world.d.ts.map +1 -0
  167. package/{dist/types → build}/plugin/plugin.d.ts +11 -18
  168. package/build/plugin/plugin.d.ts.map +1 -0
  169. package/build/polyfill/console.d.ts +2 -0
  170. package/build/polyfill/console.d.ts.map +1 -0
  171. package/build/polyfill/index.d.ts +6 -0
  172. package/build/polyfill/index.d.ts.map +1 -0
  173. package/build/polyfill/roundrect.d.ts +2 -0
  174. package/build/polyfill/roundrect.d.ts.map +1 -0
  175. package/build/pool.d.ts +39 -0
  176. package/build/pool.d.ts.map +1 -0
  177. package/{dist/types → build}/renderable/collectable.d.ts +2 -2
  178. package/build/renderable/collectable.d.ts.map +1 -0
  179. package/build/renderable/colorlayer.d.ts +41 -0
  180. package/build/renderable/colorlayer.d.ts.map +1 -0
  181. package/{dist/types → build}/renderable/container.d.ts +50 -19
  182. package/build/renderable/container.d.ts.map +1 -0
  183. package/{dist/types → build}/renderable/draggable.d.ts +5 -13
  184. package/build/renderable/draggable.d.ts.map +1 -0
  185. package/{dist/types → build}/renderable/dragndrop.d.ts +12 -21
  186. package/build/renderable/dragndrop.d.ts.map +1 -0
  187. package/{dist/types → build}/renderable/entity/entity.d.ts +17 -11
  188. package/build/renderable/entity/entity.d.ts.map +1 -0
  189. package/{dist/types → build}/renderable/imagelayer.d.ts +28 -8
  190. package/build/renderable/imagelayer.d.ts.map +1 -0
  191. package/build/renderable/light2d.d.ts +73 -0
  192. package/build/renderable/light2d.d.ts.map +1 -0
  193. package/{dist/types → build}/renderable/nineslicesprite.d.ts +9 -3
  194. package/build/renderable/nineslicesprite.d.ts.map +1 -0
  195. package/{dist/types → build}/renderable/renderable.d.ts +71 -50
  196. package/build/renderable/renderable.d.ts.map +1 -0
  197. package/{dist/types → build}/renderable/sprite.d.ts +34 -13
  198. package/build/renderable/sprite.d.ts.map +1 -0
  199. package/{dist/types → build}/renderable/text/bitmaptext.d.ts +7 -8
  200. package/build/renderable/text/bitmaptext.d.ts.map +1 -0
  201. package/build/renderable/text/bitmaptextdata.d.ts +17 -0
  202. package/build/renderable/text/bitmaptextdata.d.ts.map +1 -0
  203. package/{dist/types → build}/renderable/text/glyph.d.ts +15 -3
  204. package/build/renderable/text/glyph.d.ts.map +1 -0
  205. package/{dist/types → build}/renderable/text/text.d.ts +7 -16
  206. package/build/renderable/text/text.d.ts.map +1 -0
  207. package/{dist/types → build}/renderable/text/textmetrics.d.ts +8 -9
  208. package/build/renderable/text/textmetrics.d.ts.map +1 -0
  209. package/{dist/types → build}/renderable/text/textstyle.d.ts +1 -0
  210. package/build/renderable/text/textstyle.d.ts.map +1 -0
  211. package/{dist/types → build}/renderable/trigger.d.ts +22 -7
  212. package/build/renderable/trigger.d.ts.map +1 -0
  213. package/{dist/types → build}/renderable/ui/uibaseelement.d.ts +7 -7
  214. package/build/renderable/ui/uibaseelement.d.ts.map +1 -0
  215. package/{dist/types → build}/renderable/ui/uispriteelement.d.ts +4 -6
  216. package/build/renderable/ui/uispriteelement.d.ts.map +1 -0
  217. package/{dist/types → build}/renderable/ui/uitextbutton.d.ts +17 -4
  218. package/build/renderable/ui/uitextbutton.d.ts.map +1 -0
  219. package/{dist/types → build}/state/stage.d.ts +3 -3
  220. package/build/state/stage.d.ts.map +1 -0
  221. package/{dist/types → build}/state/state.d.ts +10 -9
  222. package/build/state/state.d.ts.map +1 -0
  223. package/{dist/types → build}/system/device.d.ts +49 -80
  224. package/build/system/device.d.ts.map +1 -0
  225. package/build/system/dom.d.ts +2 -0
  226. package/build/system/dom.d.ts.map +1 -0
  227. package/{dist/types → build}/system/event.d.ts +124 -291
  228. package/build/system/event.d.ts.map +1 -0
  229. package/build/system/eventEmitter.d.ts +19 -0
  230. package/build/system/eventEmitter.d.ts.map +1 -0
  231. package/build/system/eventEmitter.spec.d.ts +2 -0
  232. package/build/system/eventEmitter.spec.d.ts.map +1 -0
  233. package/{dist/types/system/pooling.d.ts → build/system/legacy_pool.d.ts} +22 -7
  234. package/build/system/legacy_pool.d.ts.map +1 -0
  235. package/build/system/platform.d.ts +34 -0
  236. package/build/system/platform.d.ts.map +1 -0
  237. package/build/system/pool.d.ts +26 -0
  238. package/build/system/pool.d.ts.map +1 -0
  239. package/build/system/save.d.ts +3 -0
  240. package/build/system/save.d.ts.map +1 -0
  241. package/build/system/timer.d.ts +118 -0
  242. package/build/system/timer.d.ts.map +1 -0
  243. package/build/tweens/easing.d.ts +93 -0
  244. package/build/tweens/easing.d.ts.map +1 -0
  245. package/build/tweens/interpolation.d.ts +7 -0
  246. package/build/tweens/interpolation.d.ts.map +1 -0
  247. package/build/tweens/tween.d.ts +234 -0
  248. package/build/tweens/tween.d.ts.map +1 -0
  249. package/build/utils/agent.d.ts +16 -0
  250. package/build/utils/agent.d.ts.map +1 -0
  251. package/build/utils/array-multimap.d.ts +14 -0
  252. package/build/utils/array-multimap.d.ts.map +1 -0
  253. package/build/utils/array.d.ts +30 -0
  254. package/build/utils/array.d.ts.map +1 -0
  255. package/build/utils/file.d.ts +16 -0
  256. package/build/utils/file.d.ts.map +1 -0
  257. package/build/utils/function.d.ts +24 -0
  258. package/build/utils/function.d.ts.map +1 -0
  259. package/build/utils/semver.d.ts +2 -0
  260. package/build/utils/semver.d.ts.map +1 -0
  261. package/build/utils/string.d.ts +35 -0
  262. package/build/utils/string.d.ts.map +1 -0
  263. package/build/utils/types.d.ts +5 -0
  264. package/build/utils/types.d.ts.map +1 -0
  265. package/build/utils/utils.d.ts +49 -0
  266. package/build/utils/utils.d.ts.map +1 -0
  267. package/build/version.d.ts +5 -0
  268. package/build/version.d.ts.map +1 -0
  269. package/{dist/types → build}/video/canvas/canvas_renderer.d.ts +58 -22
  270. package/build/video/canvas/canvas_renderer.d.ts.map +1 -0
  271. package/{dist/types → build}/video/renderer.d.ts +38 -17
  272. package/build/video/renderer.d.ts.map +1 -0
  273. package/{dist/types → build}/video/rendertarget/canvasrendertarget.d.ts +20 -10
  274. package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -0
  275. package/{dist/types → build}/video/texture/atlas.d.ts +14 -9
  276. package/build/video/texture/atlas.d.ts.map +1 -0
  277. package/{dist/types → build}/video/texture/cache.d.ts +4 -3
  278. package/build/video/texture/cache.d.ts.map +1 -0
  279. package/{dist/types → build}/video/texture/parser/aseprite.d.ts +1 -0
  280. package/build/video/texture/parser/aseprite.d.ts.map +1 -0
  281. package/{dist/types → build}/video/texture/parser/spritesheet.d.ts +1 -0
  282. package/build/video/texture/parser/spritesheet.d.ts.map +1 -0
  283. package/{dist/types → build}/video/texture/parser/texturepacker.d.ts +1 -0
  284. package/build/video/texture/parser/texturepacker.d.ts.map +1 -0
  285. package/build/video/utils/autodetect.d.ts +8 -0
  286. package/build/video/utils/autodetect.d.ts.map +1 -0
  287. package/{dist/types → build}/video/video.d.ts +4 -3
  288. package/build/video/video.d.ts.map +1 -0
  289. package/{dist/types → build}/video/webgl/buffer/vertex.d.ts +5 -6
  290. package/build/video/webgl/buffer/vertex.d.ts.map +1 -0
  291. package/{dist/types → build}/video/webgl/compositors/compositor.d.ts +9 -2
  292. package/build/video/webgl/compositors/compositor.d.ts.map +1 -0
  293. package/{dist/types → build}/video/webgl/compositors/primitive_compositor.d.ts +7 -3
  294. package/build/video/webgl/compositors/primitive_compositor.d.ts.map +1 -0
  295. package/{dist/types → build}/video/webgl/compositors/quad_compositor.d.ts +5 -5
  296. package/build/video/webgl/compositors/quad_compositor.d.ts.map +1 -0
  297. package/{dist/types → build}/video/webgl/glshader.d.ts +2 -2
  298. package/build/video/webgl/glshader.d.ts.map +1 -0
  299. package/{dist/types → build}/video/webgl/utils/attributes.d.ts +1 -0
  300. package/build/video/webgl/utils/attributes.d.ts.map +1 -0
  301. package/{dist/types → build}/video/webgl/utils/precision.d.ts +1 -0
  302. package/build/video/webgl/utils/precision.d.ts.map +1 -0
  303. package/{dist/types → build}/video/webgl/utils/program.d.ts +1 -0
  304. package/build/video/webgl/utils/program.d.ts.map +1 -0
  305. package/{dist/types → build}/video/webgl/utils/string.d.ts +1 -0
  306. package/build/video/webgl/utils/string.d.ts.map +1 -0
  307. package/{dist/types → build}/video/webgl/utils/uniforms.d.ts +1 -0
  308. package/build/video/webgl/utils/uniforms.d.ts.map +1 -0
  309. package/{dist/types → build}/video/webgl/webgl_renderer.d.ts +55 -43
  310. package/build/video/webgl/webgl_renderer.d.ts.map +1 -0
  311. package/package.json +83 -105
  312. package/LICENSE.md +0 -21
  313. package/README.md +0 -223
  314. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +0 -14
  315. package/dist/melonjs.mjs/_virtual/earcut.js +0 -10
  316. package/dist/melonjs.mjs/_virtual/howler.js +0 -10
  317. package/dist/melonjs.mjs/_virtual/index.js +0 -10
  318. package/dist/melonjs.mjs/_virtual/re.js +0 -10
  319. package/dist/melonjs.mjs/application/application.js +0 -437
  320. package/dist/melonjs.mjs/application/header.js +0 -35
  321. package/dist/melonjs.mjs/application/resize.js +0 -123
  322. package/dist/melonjs.mjs/application/settings.js +0 -65
  323. package/dist/melonjs.mjs/audio/audio.js +0 -618
  324. package/dist/melonjs.mjs/camera/camera2d.js +0 -729
  325. package/dist/melonjs.mjs/const.js +0 -32
  326. package/dist/melonjs.mjs/geometries/ellipse.js +0 -245
  327. package/dist/melonjs.mjs/geometries/line.js +0 -108
  328. package/dist/melonjs.mjs/geometries/path2d.js +0 -474
  329. package/dist/melonjs.mjs/geometries/point.js +0 -80
  330. package/dist/melonjs.mjs/geometries/poly.js +0 -433
  331. package/dist/melonjs.mjs/geometries/rectangle.js +0 -330
  332. package/dist/melonjs.mjs/geometries/roundrect.js +0 -165
  333. package/dist/melonjs.mjs/geometries/toarccanvas.js +0 -103
  334. package/dist/melonjs.mjs/index.js +0 -239
  335. package/dist/melonjs.mjs/input/gamepad.js +0 -495
  336. package/dist/melonjs.mjs/input/input.js +0 -26
  337. package/dist/melonjs.mjs/input/keyboard.js +0 -470
  338. package/dist/melonjs.mjs/input/pointer.js +0 -393
  339. package/dist/melonjs.mjs/input/pointerevent.js +0 -803
  340. package/dist/melonjs.mjs/lang/console.js +0 -44
  341. package/dist/melonjs.mjs/lang/deprecated.js +0 -200
  342. package/dist/melonjs.mjs/level/level.js +0 -298
  343. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +0 -120
  344. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +0 -432
  345. package/dist/melonjs.mjs/level/tiled/TMXObject.js +0 -295
  346. package/dist/melonjs.mjs/level/tiled/TMXTile.js +0 -177
  347. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +0 -574
  348. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +0 -292
  349. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +0 -74
  350. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +0 -417
  351. package/dist/melonjs.mjs/level/tiled/constants.js +0 -17
  352. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +0 -503
  353. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +0 -215
  354. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -155
  355. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +0 -113
  356. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +0 -107
  357. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +0 -38
  358. package/dist/melonjs.mjs/loader/cache.js +0 -30
  359. package/dist/melonjs.mjs/loader/loader.js +0 -728
  360. package/dist/melonjs.mjs/loader/loadingscreen.js +0 -118
  361. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +0 -10
  362. package/dist/melonjs.mjs/loader/parsers/binary.js +0 -42
  363. package/dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js +0 -58
  364. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js +0 -13
  365. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js +0 -13
  366. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js +0 -13
  367. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js +0 -13
  368. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js +0 -136
  369. package/dist/melonjs.mjs/loader/parsers/fetchdata.js +0 -62
  370. package/dist/melonjs.mjs/loader/parsers/fontface.js +0 -62
  371. package/dist/melonjs.mjs/loader/parsers/image.js +0 -129
  372. package/dist/melonjs.mjs/loader/parsers/json.js +0 -43
  373. package/dist/melonjs.mjs/loader/parsers/script.js +0 -46
  374. package/dist/melonjs.mjs/loader/parsers/tmx.js +0 -103
  375. package/dist/melonjs.mjs/loader/parsers/video.js +0 -99
  376. package/dist/melonjs.mjs/math/color.js +0 -635
  377. package/dist/melonjs.mjs/math/math.js +0 -221
  378. package/dist/melonjs.mjs/math/matrix2.js +0 -487
  379. package/dist/melonjs.mjs/math/matrix3.js +0 -621
  380. package/dist/melonjs.mjs/math/observable_vector2.js +0 -468
  381. package/dist/melonjs.mjs/math/observable_vector3.js +0 -558
  382. package/dist/melonjs.mjs/math/vector2.js +0 -431
  383. package/dist/melonjs.mjs/math/vector3.js +0 -468
  384. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +0 -45
  385. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +0 -130
  386. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +0 -694
  387. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +0 -352
  388. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +0 -12
  389. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +0 -3246
  390. package/dist/melonjs.mjs/node_modules/semver/classes/comparator.js +0 -165
  391. package/dist/melonjs.mjs/node_modules/semver/classes/range.js +0 -565
  392. package/dist/melonjs.mjs/node_modules/semver/classes/semver.js +0 -317
  393. package/dist/melonjs.mjs/node_modules/semver/functions/clean.js +0 -17
  394. package/dist/melonjs.mjs/node_modules/semver/functions/cmp.js +0 -68
  395. package/dist/melonjs.mjs/node_modules/semver/functions/coerce.js +0 -73
  396. package/dist/melonjs.mjs/node_modules/semver/functions/compare-build.js +0 -18
  397. package/dist/melonjs.mjs/node_modules/semver/functions/compare-loose.js +0 -14
  398. package/dist/melonjs.mjs/node_modules/semver/functions/compare.js +0 -16
  399. package/dist/melonjs.mjs/node_modules/semver/functions/diff.js +0 -76
  400. package/dist/melonjs.mjs/node_modules/semver/functions/eq.js +0 -14
  401. package/dist/melonjs.mjs/node_modules/semver/functions/gt.js +0 -14
  402. package/dist/melonjs.mjs/node_modules/semver/functions/gte.js +0 -14
  403. package/dist/melonjs.mjs/node_modules/semver/functions/inc.js +0 -30
  404. package/dist/melonjs.mjs/node_modules/semver/functions/lt.js +0 -14
  405. package/dist/melonjs.mjs/node_modules/semver/functions/lte.js +0 -14
  406. package/dist/melonjs.mjs/node_modules/semver/functions/major.js +0 -14
  407. package/dist/melonjs.mjs/node_modules/semver/functions/minor.js +0 -14
  408. package/dist/melonjs.mjs/node_modules/semver/functions/neq.js +0 -14
  409. package/dist/melonjs.mjs/node_modules/semver/functions/parse.js +0 -27
  410. package/dist/melonjs.mjs/node_modules/semver/functions/patch.js +0 -14
  411. package/dist/melonjs.mjs/node_modules/semver/functions/prerelease.js +0 -17
  412. package/dist/melonjs.mjs/node_modules/semver/functions/rcompare.js +0 -14
  413. package/dist/melonjs.mjs/node_modules/semver/functions/rsort.js +0 -14
  414. package/dist/melonjs.mjs/node_modules/semver/functions/satisfies.js +0 -21
  415. package/dist/melonjs.mjs/node_modules/semver/functions/sort.js +0 -14
  416. package/dist/melonjs.mjs/node_modules/semver/functions/valid.js +0 -17
  417. package/dist/melonjs.mjs/node_modules/semver/index.js +0 -140
  418. package/dist/melonjs.mjs/node_modules/semver/internal/constants.js +0 -44
  419. package/dist/melonjs.mjs/node_modules/semver/internal/debug.js +0 -18
  420. package/dist/melonjs.mjs/node_modules/semver/internal/identifiers.js +0 -32
  421. package/dist/melonjs.mjs/node_modules/semver/internal/lrucache.js +0 -49
  422. package/dist/melonjs.mjs/node_modules/semver/internal/parse-options.js +0 -24
  423. package/dist/melonjs.mjs/node_modules/semver/internal/re.js +0 -234
  424. package/dist/melonjs.mjs/node_modules/semver/ranges/gtr.js +0 -15
  425. package/dist/melonjs.mjs/node_modules/semver/ranges/intersects.js +0 -18
  426. package/dist/melonjs.mjs/node_modules/semver/ranges/ltr.js +0 -15
  427. package/dist/melonjs.mjs/node_modules/semver/ranges/max-satisfying.js +0 -37
  428. package/dist/melonjs.mjs/node_modules/semver/ranges/min-satisfying.js +0 -36
  429. package/dist/melonjs.mjs/node_modules/semver/ranges/min-version.js +0 -74
  430. package/dist/melonjs.mjs/node_modules/semver/ranges/outside.js +0 -98
  431. package/dist/melonjs.mjs/node_modules/semver/ranges/simplify.js +0 -59
  432. package/dist/melonjs.mjs/node_modules/semver/ranges/subset.js +0 -261
  433. package/dist/melonjs.mjs/node_modules/semver/ranges/to-comparators.js +0 -19
  434. package/dist/melonjs.mjs/node_modules/semver/ranges/valid.js +0 -22
  435. package/dist/melonjs.mjs/particles/emitter.js +0 -265
  436. package/dist/melonjs.mjs/particles/particle.js +0 -186
  437. package/dist/melonjs.mjs/particles/settings.js +0 -317
  438. package/dist/melonjs.mjs/physics/body.js +0 -706
  439. package/dist/melonjs.mjs/physics/bounds.js +0 -409
  440. package/dist/melonjs.mjs/physics/collision.js +0 -130
  441. package/dist/melonjs.mjs/physics/detector.js +0 -218
  442. package/dist/melonjs.mjs/physics/quadtree.js +0 -396
  443. package/dist/melonjs.mjs/physics/response.js +0 -57
  444. package/dist/melonjs.mjs/physics/sat.js +0 -483
  445. package/dist/melonjs.mjs/physics/world.js +0 -224
  446. package/dist/melonjs.mjs/plugin/plugin.js +0 -168
  447. package/dist/melonjs.mjs/renderable/collectable.js +0 -60
  448. package/dist/melonjs.mjs/renderable/colorlayer.js +0 -78
  449. package/dist/melonjs.mjs/renderable/container.js +0 -994
  450. package/dist/melonjs.mjs/renderable/draggable.js +0 -121
  451. package/dist/melonjs.mjs/renderable/dragndrop.js +0 -114
  452. package/dist/melonjs.mjs/renderable/entity/entity.js +0 -254
  453. package/dist/melonjs.mjs/renderable/imagelayer.js +0 -288
  454. package/dist/melonjs.mjs/renderable/light2d.js +0 -164
  455. package/dist/melonjs.mjs/renderable/nineslicesprite.js +0 -242
  456. package/dist/melonjs.mjs/renderable/renderable.js +0 -860
  457. package/dist/melonjs.mjs/renderable/sprite.js +0 -694
  458. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +0 -421
  459. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +0 -195
  460. package/dist/melonjs.mjs/renderable/text/glyph.js +0 -65
  461. package/dist/melonjs.mjs/renderable/text/text.js +0 -424
  462. package/dist/melonjs.mjs/renderable/text/textmetrics.js +0 -176
  463. package/dist/melonjs.mjs/renderable/text/textstyle.js +0 -21
  464. package/dist/melonjs.mjs/renderable/trigger.js +0 -158
  465. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +0 -285
  466. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +0 -231
  467. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +0 -146
  468. package/dist/melonjs.mjs/state/stage.js +0 -235
  469. package/dist/melonjs.mjs/state/state.js +0 -548
  470. package/dist/melonjs.mjs/system/device.js +0 -872
  471. package/dist/melonjs.mjs/system/dom.js +0 -79
  472. package/dist/melonjs.mjs/system/event.js +0 -606
  473. package/dist/melonjs.mjs/system/platform.js +0 -43
  474. package/dist/melonjs.mjs/system/pooling.js +0 -182
  475. package/dist/melonjs.mjs/system/save.js +0 -157
  476. package/dist/melonjs.mjs/system/timer.js +0 -274
  477. package/dist/melonjs.mjs/tweens/easing.js +0 -334
  478. package/dist/melonjs.mjs/tweens/interpolation.js +0 -112
  479. package/dist/melonjs.mjs/tweens/tween.js +0 -479
  480. package/dist/melonjs.mjs/utils/agent.js +0 -77
  481. package/dist/melonjs.mjs/utils/array.js +0 -63
  482. package/dist/melonjs.mjs/utils/file.js +0 -54
  483. package/dist/melonjs.mjs/utils/function.js +0 -69
  484. package/dist/melonjs.mjs/utils/string.js +0 -82
  485. package/dist/melonjs.mjs/utils/utils.js +0 -139
  486. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +0 -883
  487. package/dist/melonjs.mjs/video/renderer.js +0 -393
  488. package/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js +0 -310
  489. package/dist/melonjs.mjs/video/texture/atlas.js +0 -460
  490. package/dist/melonjs.mjs/video/texture/cache.js +0 -186
  491. package/dist/melonjs.mjs/video/texture/parser/aseprite.js +0 -78
  492. package/dist/melonjs.mjs/video/texture/parser/spritesheet.js +0 -77
  493. package/dist/melonjs.mjs/video/texture/parser/texturepacker.js +0 -64
  494. package/dist/melonjs.mjs/video/utils/autodetect.js +0 -27
  495. package/dist/melonjs.mjs/video/video.js +0 -142
  496. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +0 -146
  497. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +0 -234
  498. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +0 -77
  499. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +0 -254
  500. package/dist/melonjs.mjs/video/webgl/glshader.js +0 -166
  501. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +0 -10
  502. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +0 -10
  503. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +0 -10
  504. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +0 -10
  505. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +0 -25
  506. package/dist/melonjs.mjs/video/webgl/utils/precision.js +0 -38
  507. package/dist/melonjs.mjs/video/webgl/utils/program.js +0 -67
  508. package/dist/melonjs.mjs/video/webgl/utils/string.js +0 -25
  509. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +0 -92
  510. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +0 -1199
  511. package/dist/melonjs.module.js +0 -42838
  512. package/dist/types/application/header.d.ts +0 -5
  513. package/dist/types/application/settings.d.ts +0 -105
  514. package/dist/types/const.d.ts +0 -21
  515. package/dist/types/geometries/ellipse.d.ts +0 -127
  516. package/dist/types/geometries/line.d.ts +0 -11
  517. package/dist/types/geometries/point.d.ts +0 -46
  518. package/dist/types/geometries/poly.d.ts +0 -175
  519. package/dist/types/geometries/rectangle.d.ts +0 -130
  520. package/dist/types/geometries/roundrect.d.ts +0 -43
  521. package/dist/types/geometries/toarccanvas.d.ts +0 -10
  522. package/dist/types/input/keyboard.d.ts +0 -205
  523. package/dist/types/input/pointer.d.ts +0 -261
  524. package/dist/types/lang/deprecated.d.ts +0 -68
  525. package/dist/types/loader/cache.d.ts +0 -9
  526. package/dist/types/loader/parsers/compressed_textures/parseDDS.d.ts +0 -1
  527. package/dist/types/loader/parsers/compressed_textures/parseKTX.d.ts +0 -1
  528. package/dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts +0 -1
  529. package/dist/types/loader/parsers/compressed_textures/parsePKM.d.ts +0 -1
  530. package/dist/types/loader/parsers/compressed_textures/parsePVR.d.ts +0 -1
  531. package/dist/types/math/color.d.ts +0 -179
  532. package/dist/types/math/math.d.ts +0 -149
  533. package/dist/types/math/matrix2.d.ts +0 -165
  534. package/dist/types/math/matrix3.d.ts +0 -177
  535. package/dist/types/math/observable_vector2.d.ts +0 -278
  536. package/dist/types/math/observable_vector3.d.ts +0 -277
  537. package/dist/types/math/vector2.d.ts +0 -255
  538. package/dist/types/math/vector3.d.ts +0 -266
  539. package/dist/types/particles/particle.d.ts +0 -32
  540. package/dist/types/physics/bounds.d.ts +0 -195
  541. package/dist/types/polyfill/console.d.ts +0 -1
  542. package/dist/types/polyfill/index.d.ts +0 -1
  543. package/dist/types/polyfill/roundrect.d.ts +0 -1
  544. package/dist/types/renderable/colorlayer.d.ts +0 -28
  545. package/dist/types/renderable/light2d.d.ts +0 -58
  546. package/dist/types/renderable/text/bitmaptextdata.d.ts +0 -35
  547. package/dist/types/system/dom.d.ts +0 -1
  548. package/dist/types/system/platform.d.ts +0 -33
  549. package/dist/types/system/save.d.ts +0 -25
  550. package/dist/types/system/timer.d.ts +0 -126
  551. package/dist/types/tweens/easing.d.ts +0 -46
  552. package/dist/types/tweens/interpolation.d.ts +0 -18
  553. package/dist/types/tweens/tween.d.ts +0 -195
  554. package/dist/types/utils/agent.d.ts +0 -21
  555. package/dist/types/utils/array.d.ts +0 -39
  556. package/dist/types/utils/file.d.ts +0 -27
  557. package/dist/types/utils/function.d.ts +0 -31
  558. package/dist/types/utils/string.d.ts +0 -50
  559. package/dist/types/utils/utils.d.ts +0 -54
  560. package/dist/types/video/utils/autodetect.d.ts +0 -5
  561. package/src/application/application.js +0 -429
  562. package/src/application/header.js +0 -26
  563. package/src/application/resize.js +0 -114
  564. package/src/application/settings.js +0 -56
  565. package/src/audio/audio.js +0 -617
  566. package/src/camera/camera2d.js +0 -724
  567. package/src/const.js +0 -23
  568. package/src/geometries/ellipse.js +0 -236
  569. package/src/geometries/line.js +0 -99
  570. package/src/geometries/path2d.js +0 -464
  571. package/src/geometries/point.js +0 -71
  572. package/src/geometries/poly.js +0 -424
  573. package/src/geometries/rectangle.js +0 -321
  574. package/src/geometries/roundrect.js +0 -156
  575. package/src/geometries/toarccanvas.js +0 -94
  576. package/src/index.js +0 -315
  577. package/src/input/gamepad.js +0 -487
  578. package/src/input/input.js +0 -17
  579. package/src/input/keyboard.js +0 -461
  580. package/src/input/pointer.js +0 -386
  581. package/src/input/pointerevent.js +0 -794
  582. package/src/lang/console.js +0 -36
  583. package/src/lang/deprecated.js +0 -192
  584. package/src/level/level.js +0 -290
  585. package/src/level/tiled/TMXGroup.js +0 -111
  586. package/src/level/tiled/TMXLayer.js +0 -424
  587. package/src/level/tiled/TMXObject.js +0 -286
  588. package/src/level/tiled/TMXTile.js +0 -168
  589. package/src/level/tiled/TMXTileMap.js +0 -569
  590. package/src/level/tiled/TMXTileset.js +0 -284
  591. package/src/level/tiled/TMXTilesetGroup.js +0 -66
  592. package/src/level/tiled/TMXUtils.js +0 -408
  593. package/src/level/tiled/constants.js +0 -8
  594. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +0 -497
  595. package/src/level/tiled/renderer/TMXIsometricRenderer.js +0 -208
  596. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -149
  597. package/src/level/tiled/renderer/TMXRenderer.js +0 -103
  598. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +0 -100
  599. package/src/level/tiled/renderer/autodetect.js +0 -29
  600. package/src/loader/cache.js +0 -22
  601. package/src/loader/loader.js +0 -727
  602. package/src/loader/loadingscreen.js +0 -112
  603. package/src/loader/melonjs_logo.png +0 -0
  604. package/src/loader/parsers/binary.js +0 -33
  605. package/src/loader/parsers/compressed_textures/compressed_image.js +0 -49
  606. package/src/loader/parsers/compressed_textures/parseDDS.js +0 -5
  607. package/src/loader/parsers/compressed_textures/parseKTX.js +0 -5
  608. package/src/loader/parsers/compressed_textures/parseKTX2.js +0 -5
  609. package/src/loader/parsers/compressed_textures/parsePKM.js +0 -5
  610. package/src/loader/parsers/compressed_textures/parsePVR.js +0 -127
  611. package/src/loader/parsers/fetchdata.js +0 -53
  612. package/src/loader/parsers/fontface.js +0 -54
  613. package/src/loader/parsers/image.js +0 -120
  614. package/src/loader/parsers/json.js +0 -35
  615. package/src/loader/parsers/script.js +0 -37
  616. package/src/loader/parsers/tmx.js +0 -95
  617. package/src/loader/parsers/video.js +0 -90
  618. package/src/math/color.js +0 -627
  619. package/src/math/math.js +0 -212
  620. package/src/math/matrix2.js +0 -479
  621. package/src/math/matrix3.js +0 -613
  622. package/src/math/observable_vector2.js +0 -460
  623. package/src/math/observable_vector3.js +0 -550
  624. package/src/math/vector2.js +0 -423
  625. package/src/math/vector3.js +0 -460
  626. package/src/particles/emitter.js +0 -258
  627. package/src/particles/particle.js +0 -178
  628. package/src/particles/settings.js +0 -310
  629. package/src/physics/body.js +0 -698
  630. package/src/physics/bounds.js +0 -401
  631. package/src/physics/collision.js +0 -123
  632. package/src/physics/detector.js +0 -209
  633. package/src/physics/quadtree.js +0 -387
  634. package/src/physics/response.js +0 -48
  635. package/src/physics/sat.js +0 -473
  636. package/src/physics/world.js +0 -216
  637. package/src/plugin/plugin.js +0 -159
  638. package/src/polyfill/console.js +0 -11
  639. package/src/polyfill/index.js +0 -13
  640. package/src/polyfill/roundrect.js +0 -237
  641. package/src/renderable/collectable.js +0 -51
  642. package/src/renderable/colorlayer.js +0 -70
  643. package/src/renderable/container.js +0 -985
  644. package/src/renderable/draggable.js +0 -114
  645. package/src/renderable/dragndrop.js +0 -106
  646. package/src/renderable/entity/entity.js +0 -246
  647. package/src/renderable/imagelayer.js +0 -280
  648. package/src/renderable/light2d.js +0 -155
  649. package/src/renderable/nineslicesprite.js +0 -233
  650. package/src/renderable/renderable.js +0 -852
  651. package/src/renderable/sprite.js +0 -685
  652. package/src/renderable/text/bitmaptext.js +0 -418
  653. package/src/renderable/text/bitmaptextdata.js +0 -186
  654. package/src/renderable/text/glyph.js +0 -57
  655. package/src/renderable/text/text.js +0 -415
  656. package/src/renderable/text/textmetrics.js +0 -167
  657. package/src/renderable/text/textstyle.js +0 -12
  658. package/src/renderable/trigger.js +0 -149
  659. package/src/renderable/ui/uibaseelement.js +0 -276
  660. package/src/renderable/ui/uispriteelement.js +0 -223
  661. package/src/renderable/ui/uitextbutton.js +0 -140
  662. package/src/state/stage.js +0 -226
  663. package/src/state/state.js +0 -541
  664. package/src/system/device.js +0 -863
  665. package/src/system/dom.js +0 -70
  666. package/src/system/event.js +0 -597
  667. package/src/system/platform.js +0 -34
  668. package/src/system/pooling.js +0 -190
  669. package/src/system/save.js +0 -148
  670. package/src/system/timer.js +0 -281
  671. package/src/tweens/easing.js +0 -325
  672. package/src/tweens/interpolation.js +0 -103
  673. package/src/tweens/tween.js +0 -470
  674. package/src/utils/agent.js +0 -68
  675. package/src/utils/array.js +0 -54
  676. package/src/utils/file.js +0 -46
  677. package/src/utils/function.js +0 -60
  678. package/src/utils/string.js +0 -73
  679. package/src/utils/utils.js +0 -127
  680. package/src/video/canvas/canvas_renderer.js +0 -874
  681. package/src/video/renderer.js +0 -384
  682. package/src/video/rendertarget/canvasrendertarget.js +0 -303
  683. package/src/video/texture/atlas.js +0 -451
  684. package/src/video/texture/cache.js +0 -178
  685. package/src/video/texture/parser/aseprite.js +0 -69
  686. package/src/video/texture/parser/spritesheet.js +0 -68
  687. package/src/video/texture/parser/texturepacker.js +0 -55
  688. package/src/video/utils/autodetect.js +0 -18
  689. package/src/video/video.js +0 -160
  690. package/src/video/webgl/buffer/vertex.js +0 -137
  691. package/src/video/webgl/compositors/compositor.js +0 -225
  692. package/src/video/webgl/compositors/primitive_compositor.js +0 -68
  693. package/src/video/webgl/compositors/quad_compositor.js +0 -245
  694. package/src/video/webgl/glshader.js +0 -158
  695. package/src/video/webgl/shaders/primitive.frag +0 -5
  696. package/src/video/webgl/shaders/primitive.vert +0 -15
  697. package/src/video/webgl/shaders/quad.frag +0 -7
  698. package/src/video/webgl/shaders/quad.vert +0 -18
  699. package/src/video/webgl/utils/attributes.js +0 -16
  700. package/src/video/webgl/utils/precision.js +0 -29
  701. package/src/video/webgl/utils/program.js +0 -58
  702. package/src/video/webgl/utils/string.js +0 -16
  703. package/src/video/webgl/utils/uniforms.js +0 -84
  704. package/src/video/webgl/webgl_renderer.js +0 -1190
@@ -1,794 +0,0 @@
1
- import {preventDefault} from "./input.js";
2
- import {getBindingKey, triggerKeyEvent} from "./keyboard.js";
3
- import { renderer } from "./../video/video.js";
4
- import { throttle } from "./../utils/function.js";
5
- import { remove } from "./../utils/array.js";
6
- import * as event from "./../system/event.js";
7
- import timer from "./../system/timer.js";
8
- import pool from "./../system/pooling.js";
9
- import * as device from "./../system/device.js";
10
- import Pointer from "./pointer.js";
11
- import Rect from "./../geometries/rectangle.js";
12
- import { game } from "../index.js";
13
-
14
- /**
15
- * A pool of `Pointer` objects to cache pointer/touch event coordinates.
16
- * @type {Array.<Vector2d>}
17
- * @ignore
18
- */
19
- let T_POINTERS = [];
20
-
21
- // list of registered Event handlers
22
- let eventHandlers = new Map();
23
-
24
- // a cache rect represeting the current pointer area
25
- let currentPointer;
26
-
27
- // some useful flags
28
- let pointerInitialized = false;
29
-
30
- // Track last event timestamp to prevent firing events out of order
31
- let lastTimeStamp = 0;
32
-
33
- // "active" list of supported events
34
- let activeEventList = [];
35
-
36
- // internal constants
37
- const WHEEL = ["wheel"];
38
- const POINTER_MOVE = ["pointermove", "mousemove", "touchmove"];
39
- const POINTER_DOWN = ["pointerdown", "mousedown", "touchstart"];
40
- const POINTER_UP = ["pointerup", "mouseup", "touchend"];
41
- const POINTER_CANCEL = ["pointercancel", "mousecancel", "touchcancel"];
42
- const POINTER_ENTER = ["pointerenter", "mouseenter", "touchenter"];
43
- const POINTER_OVER = ["pointerover", "mouseover", "touchover"];
44
- const POINTER_LEAVE = ["pointerleave", "mouseleave", "touchleave"];
45
-
46
- // list of standard pointer event type
47
- const pointerEventList = [
48
- WHEEL[0],
49
- POINTER_MOVE[0],
50
- POINTER_DOWN[0],
51
- POINTER_UP[0],
52
- POINTER_CANCEL[0],
53
- POINTER_ENTER[0],
54
- POINTER_OVER[0],
55
- POINTER_LEAVE[0]
56
- ];
57
-
58
- // legacy mouse event type
59
- const mouseEventList = [
60
- WHEEL[0],
61
- POINTER_MOVE[1],
62
- POINTER_DOWN[1],
63
- POINTER_UP[1],
64
- POINTER_CANCEL[1],
65
- POINTER_ENTER[1],
66
- POINTER_OVER[1],
67
- POINTER_LEAVE[1]
68
- ];
69
-
70
- // iOS style touch event type
71
- const touchEventList = [
72
- POINTER_MOVE[2],
73
- POINTER_DOWN[2],
74
- POINTER_UP[2],
75
- POINTER_CANCEL[2],
76
- POINTER_ENTER[2],
77
- POINTER_OVER[2],
78
- POINTER_LEAVE[2]
79
- ];
80
-
81
- const pointerEventMap = {
82
- wheel : WHEEL,
83
- pointermove: POINTER_MOVE,
84
- pointerdown: POINTER_DOWN,
85
- pointerup: POINTER_UP,
86
- pointercancel: POINTER_CANCEL,
87
- pointerenter: POINTER_ENTER,
88
- pointerover: POINTER_OVER,
89
- pointerleave: POINTER_LEAVE
90
- };
91
-
92
- /**
93
- * Array of normalized events (mouse, touch, pointer)
94
- * @ignore
95
- */
96
- let normalizedEvents = [];
97
-
98
- /**
99
- * addEventListerner for the specified event list and callback
100
- * @ignore
101
- */
102
- function registerEventListener(eventList, callback) {
103
- for (let x = 0; x < eventList.length; x++) {
104
- if (POINTER_MOVE.indexOf(eventList[x]) === -1) {
105
- pointerEventTarget.addEventListener(eventList[x], callback, { passive: (preventDefault === false) });
106
- }
107
- }
108
- }
109
-
110
- /**
111
- * enable pointer event (Pointer/Mouse/Touch)
112
- * @ignore
113
- */
114
- function enablePointerEvent() {
115
- if (!pointerInitialized) {
116
-
117
- // the current pointer area
118
- currentPointer = new Rect(0, 0, 1, 1);
119
-
120
- // instantiate a pool of pointer catched
121
- for (let v = 0; v < device.maxTouchPoints; v++) {
122
- T_POINTERS.push(new Pointer());
123
- }
124
-
125
- if (pointerEventTarget === null) {
126
- // default pointer event target
127
- pointerEventTarget = renderer.getCanvas();
128
- }
129
-
130
- if (device.pointerEvent) {
131
- // standard Pointer Events
132
- activeEventList = pointerEventList;
133
- } else {
134
- // Regular Mouse events
135
- activeEventList = mouseEventList;
136
- }
137
- if (device.touch && !device.pointerEvent) {
138
- // touch event on mobile devices
139
- activeEventList = activeEventList.concat(touchEventList);
140
- }
141
- registerEventListener(activeEventList, onPointerEvent);
142
-
143
- // set the PointerMove/touchMove/MouseMove event
144
- if (typeof(throttlingInterval) === "undefined") {
145
- // set the default value
146
- throttlingInterval = ~~(1000 / timer.maxfps);
147
- }
148
-
149
- if (device.autoFocus === true) {
150
- device.focus();
151
- pointerEventTarget.addEventListener(
152
- activeEventList[2], // MOUSE/POINTER DOWN
153
- () => {
154
- device.focus();
155
- },
156
- { passive: (preventDefault === false) }
157
- );
158
- }
159
-
160
- // if time interval <= 16, disable the feature
161
- let events = findAllActiveEvents(activeEventList, POINTER_MOVE);
162
- if (throttlingInterval < 17) {
163
- for (let i = 0; i < events.length; i++) {
164
- if (activeEventList.indexOf(events[i]) !== -1) {
165
- pointerEventTarget.addEventListener(
166
- events[i],
167
- onMoveEvent,
168
- { passive: true } // do not preventDefault on Move events
169
- );
170
- }
171
-
172
- }
173
- }
174
- else {
175
- for (let i = 0; i < events.length; i++) {
176
- if (activeEventList.indexOf(events[i]) !== -1) {
177
- pointerEventTarget.addEventListener(
178
- events[i],
179
- throttle(
180
- onMoveEvent,
181
- throttlingInterval,
182
- false
183
- ),
184
- { passive: true } // do not preventDefault on Move events
185
- );
186
- }
187
- }
188
- }
189
- // disable all gesture by default
190
- setTouchAction(pointerEventTarget);
191
-
192
- // set a on change listener on pointerlock if supported
193
- if (device.hasPointerLockSupport) {
194
- globalThis.document.addEventListener("pointerlockchange", () => {
195
- // change the locked status accordingly
196
- locked = globalThis.document.pointerLockElement === game.getParentElement();
197
- // emit the corresponding internal event
198
- event.emit(event.POINTERLOCKCHANGE, locked);
199
- }, true);
200
- }
201
-
202
- // all done !
203
- pointerInitialized = true;
204
- }
205
- }
206
-
207
- /**
208
- * @ignore
209
- */
210
- function findActiveEvent(activeEventList, eventTypes) {
211
- for (let i = 0; i < eventTypes.length; i++) {
212
- const event = activeEventList.indexOf(eventTypes[i]);
213
- if (event !== -1) {
214
- return eventTypes[i];
215
- }
216
- }
217
- }
218
-
219
- /**
220
- * @ignore
221
- */
222
- function findAllActiveEvents(activeEventList, eventTypes) {
223
- let events = [];
224
- for (let i = 0; i < eventTypes.length; i++) {
225
- const event = activeEventList.indexOf(eventTypes[i]);
226
- if (event !== -1) {
227
- events.push(eventTypes[i]);
228
- }
229
- }
230
-
231
- return events;
232
- }
233
-
234
- /**
235
- * @ignore
236
- */
237
- function triggerEvent(handlers, type, pointer, pointerId) {
238
- let callback;
239
- if (handlers.callbacks[type]) {
240
- handlers.pointerId = pointerId;
241
- for (let i = handlers.callbacks[type].length - 1; (i >= 0) && (callback = handlers.callbacks[type][i]); i--) {
242
- if (callback(pointer) === false) {
243
- // stop propagating the event if return false
244
- return true;
245
- }
246
- }
247
- }
248
- return false;
249
- }
250
-
251
- /**
252
- * propagate events to registered objects
253
- * @ignore
254
- */
255
- function dispatchEvent(normalizedEvents) {
256
- let handled = false;
257
-
258
- while (normalizedEvents.length > 0) {
259
-
260
- // keep a reference to the last item
261
- let pointer = normalizedEvents.pop();
262
- // and put it back into our cache
263
- T_POINTERS.push(pointer);
264
-
265
- // Do not fire older touch events (not required for PointerEvent type)
266
- if (pointer.isNormalized === true && typeof(pointer.event.timeStamp) !== "undefined") {
267
- if (pointer.event.timeStamp < lastTimeStamp) {
268
- continue;
269
- }
270
- lastTimeStamp = pointer.event.timeStamp;
271
- }
272
-
273
- currentPointer.setShape(
274
- pointer.gameWorldX,
275
- pointer.gameWorldY,
276
- pointer.width,
277
- pointer.height
278
- );
279
-
280
- // trigger a global event for pointer move
281
- if (POINTER_MOVE.includes(pointer.type)) {
282
- pointer.gameX = pointer.gameLocalX = pointer.gameScreenX;
283
- pointer.gameY = pointer.gameLocalY = pointer.gameScreenY;
284
- event.emit(event.POINTERMOVE, pointer);
285
- }
286
-
287
- // fetch valid candiates from the game world container
288
- let candidates = game.world.broadphase.retrieve(currentPointer, game.world._sortReverseZ);
289
-
290
- // add the main game viewport to the list of candidates
291
- candidates = candidates.concat([ game.viewport ]);
292
-
293
- for (let c = candidates.length, candidate; c--, (candidate = candidates[c]);) {
294
- if (eventHandlers.has(candidate) && (candidate.isKinematic !== true)) {
295
- const handlers = eventHandlers.get(candidate);
296
- const region = handlers.region;
297
- const ancestor = region.ancestor;
298
- const bounds = region.getBounds();
299
- let eventInBounds = false;
300
-
301
- if (region.isFloating === true) {
302
- pointer.gameX = pointer.gameLocalX = pointer.gameScreenX;
303
- pointer.gameY = pointer.gameLocalY = pointer.gameScreenY;
304
- } else {
305
- pointer.gameX = pointer.gameLocalX = pointer.gameWorldX;
306
- pointer.gameY = pointer.gameLocalY = pointer.gameWorldY;
307
- }
308
-
309
- // adjust gameLocalX to specify coordinates
310
- // within the region ancestor container
311
- if (typeof ancestor !== "undefined") {
312
- let parentBounds = ancestor.getBounds();
313
- pointer.gameLocalX = pointer.gameX - parentBounds.x;
314
- pointer.gameLocalY = pointer.gameY - parentBounds.y;
315
- }
316
-
317
- eventInBounds = bounds.contains(pointer.gameX, pointer.gameY);
318
-
319
- switch (pointer.type) {
320
- case POINTER_MOVE[0]:
321
- case POINTER_MOVE[1]:
322
- case POINTER_MOVE[2]:
323
- case POINTER_MOVE[3]:
324
- // moved out of bounds: trigger the POINTER_LEAVE callbacks
325
- if (handlers.pointerId === pointer.pointerId && !eventInBounds) {
326
- if (triggerEvent(handlers, findActiveEvent(activeEventList, POINTER_LEAVE), pointer, null)) {
327
- handled = true;
328
- break;
329
- }
330
- }
331
- // no pointer & moved inside of bounds: trigger the POINTER_ENTER callbacks
332
- else if (handlers.pointerId === null && eventInBounds) {
333
- if (triggerEvent(handlers, findActiveEvent(activeEventList, POINTER_ENTER), pointer, pointer.pointerId)) {
334
- handled = true;
335
- break;
336
- }
337
- }
338
-
339
- // trigger the POINTER_MOVE callbacks
340
- if (eventInBounds && triggerEvent(handlers, pointer.type, pointer, pointer.pointerId)) {
341
- handled = true;
342
- break;
343
- }
344
- break;
345
-
346
- case POINTER_UP[0]:
347
- case POINTER_UP[1]:
348
- case POINTER_UP[2]:
349
- case POINTER_UP[3]:
350
- // pointer defined & inside of bounds: trigger the POINTER_UP callback
351
- if (handlers.pointerId === pointer.pointerId && eventInBounds) {
352
- // trigger the corresponding callback
353
- if (triggerEvent(handlers, pointer.type, pointer, null)) {
354
- handled = true;
355
- break;
356
- }
357
- }
358
- break;
359
-
360
- case POINTER_CANCEL[0]:
361
- case POINTER_CANCEL[1]:
362
- case POINTER_CANCEL[2]:
363
- case POINTER_CANCEL[3]:
364
- // pointer defined: trigger the POINTER_CANCEL callback
365
- if (handlers.pointerId === pointer.pointerId) {
366
- // trigger the corresponding callback
367
- if (triggerEvent(handlers, pointer.type, pointer, null)) {
368
- handled = true;
369
- break;
370
- }
371
- }
372
- break;
373
-
374
- default:
375
- // event inside of bounds: trigger the POINTER_DOWN or WHEEL callback
376
- if (eventInBounds) {
377
- // trigger the corresponding callback
378
- if (triggerEvent(handlers, pointer.type, pointer, pointer.pointerId)) {
379
- handled = true;
380
- break;
381
- }
382
- }
383
- break;
384
- }
385
- }
386
- if (handled === true) {
387
- // stop iterating through this list of candidates
388
- break;
389
- }
390
- }
391
- }
392
- return handled;
393
- }
394
-
395
- /**
396
- * translate event coordinates
397
- * @ignore
398
- */
399
- function normalizeEvent(originalEvent) {
400
- let _pointer;
401
-
402
- // PointerEvent or standard Mouse event
403
- if (device.touchEvent && originalEvent.changedTouches) {
404
- // iOS/Android Touch event
405
- for (let i = 0, l = originalEvent.changedTouches.length; i < l; i++) {
406
- const touchEvent = originalEvent.changedTouches[i];
407
- _pointer = T_POINTERS.pop();
408
- _pointer.setEvent(
409
- originalEvent,
410
- touchEvent.pageX,
411
- touchEvent.pageY,
412
- touchEvent.clientX,
413
- touchEvent.clientY,
414
- touchEvent.identifier
415
- );
416
- normalizedEvents.push(_pointer);
417
- }
418
- } else {
419
- // Mouse or PointerEvent
420
- _pointer = T_POINTERS.pop();
421
- _pointer.setEvent(
422
- originalEvent,
423
- originalEvent.pageX,
424
- originalEvent.pageY,
425
- originalEvent.clientX,
426
- originalEvent.clientY,
427
- originalEvent.pointerId
428
- );
429
- normalizedEvents.push(_pointer);
430
- }
431
-
432
- // if event.isPrimary is defined and false, return
433
- if (originalEvent.isPrimary === false) {
434
- return normalizedEvents;
435
- }
436
-
437
- // else use the first entry to simulate mouse event
438
- normalizedEvents[0].isPrimary = true;
439
- Object.assign(pointer, normalizedEvents[0]);
440
-
441
- return normalizedEvents;
442
- }
443
-
444
- /**
445
- * mouse/touch/pointer event management (move)
446
- * @ignore
447
- */
448
- function onMoveEvent(e) {
449
- // dispatch mouse event to registered object
450
- dispatchEvent(normalizeEvent(e));
451
- // do not prevent default on moveEvent :
452
- }
453
-
454
- /**
455
- * mouse/touch/pointer event management (start/down, end/up)
456
- * @ignore
457
- */
458
- function onPointerEvent(e) {
459
- // normalize eventTypes
460
- normalizeEvent(e);
461
-
462
- // remember/use the first "primary" normalized event for pointer.bind
463
- let button = normalizedEvents[0].button;
464
-
465
- // dispatch event to registered objects
466
- if (dispatchEvent(normalizedEvents) || e.type === "wheel") {
467
- // always preventDefault for wheel event (?legacy code/behavior?)
468
- if (preventDefault === true) {
469
- e.preventDefault();
470
- }
471
- }
472
-
473
- let keycode = pointer.bind[button];
474
-
475
- // check if mapped to a key
476
- if (keycode) {
477
- triggerKeyEvent(keycode, POINTER_DOWN.includes(e.type), button + 1);
478
- }
479
- }
480
-
481
- /*
482
- * PUBLIC STUFF
483
- */
484
-
485
- /**
486
- * the default target element for pointer events (usually the canvas element in which the game is rendered)
487
- * @public
488
- * @type {EventTarget}
489
- * @name pointerEventTarget
490
- * @memberof input
491
- */
492
- export let pointerEventTarget = null;
493
-
494
- /**
495
- * Pointer information (current position and size)
496
- * @public
497
- * @type {Rect}
498
- * @name pointer
499
- * @memberof input
500
- */
501
- export let pointer = new Pointer(0, 0, 1, 1);
502
-
503
-
504
- /**
505
- * indicates if the pointer is currently locked
506
- * @public
507
- * @type {boolean}
508
- * @name locked
509
- * @memberof input
510
- */
511
- export let locked = false;
512
-
513
- /**
514
- * time interval for event throttling in milliseconds<br>
515
- * default value : "1000/me.timer.maxfps" ms<br>
516
- * set to 0 ms to disable the feature
517
- * @public
518
- * @type {number}
519
- * @name throttlingInterval
520
- * @memberof input
521
- */
522
- export let throttlingInterval;
523
-
524
- /**
525
- * return true if there are pending pointer events in the queue
526
- * @memberof input
527
- * @returns true if there are pending events
528
- */
529
- export function hasActiveEvents() {
530
- return normalizedEvents.length > 0;
531
- }
532
-
533
- /**
534
- * return true if there are register pointer events
535
- * @memberof input
536
- * @see registerPointerEvent
537
- * @returns true if there are pending events
538
- */
539
- export function hasRegisteredEvents() {
540
- return eventHandlers.size > 0;
541
- }
542
-
543
- /**
544
- * Translate the specified x and y values from the global (absolute)
545
- * coordinate to local (viewport) relative coordinate.
546
- * @memberof input
547
- * @param {number} x - the global x coordinate to be translated.
548
- * @param {number} y - the global y coordinate to be translated.
549
- * @param {Vector2d} [v] - an optional vector object where to set the translated coordinates
550
- * @returns {Vector2d} A vector object with the corresponding translated coordinates
551
- * @example
552
- * onMouseEvent : function (pointer) {
553
- * // convert the given into local (viewport) relative coordinates
554
- * let pos = me.input.globalToLocal(pointer.clientX, pointer.clientY);
555
- * // do something with pos !
556
- * };
557
- */
558
- export function globalToLocal(x, y, v) {
559
- v = v || pool.pull("Vector2d");
560
- let rect = device.getElementBounds(renderer.getCanvas());
561
- let pixelRatio = globalThis.devicePixelRatio || 1;
562
- x -= rect.left + (globalThis.pageXOffset || 0);
563
- y -= rect.top + (globalThis.pageYOffset || 0);
564
- let scale = renderer.scaleRatio;
565
- if (scale.x !== 1.0 || scale.y !== 1.0) {
566
- x /= scale.x;
567
- y /= scale.y;
568
- }
569
- return v.set(x * pixelRatio, y * pixelRatio);
570
- }
571
-
572
- /**
573
- * enable/disable all gestures on the given element.<br>
574
- * by default melonJS will disable browser handling of all panning and zooming gestures.
575
- * @memberof input
576
- * @see https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action
577
- * @param {HTMLCanvasElement} element
578
- * @param {string} [value="none"]
579
- */
580
- export function setTouchAction(element, value) {
581
- element.style["touch-action"] = value || "none";
582
- }
583
-
584
- /**
585
- * Associate a pointer event to a keycode<br>
586
- * Left button – 0
587
- * Middle button – 1
588
- * Right button – 2
589
- * @memberof input
590
- * @param {number} [button=input.pointer.LEFT] - (accordingly to W3C values : 0,1,2 for left, middle and right buttons)
591
- * @param {input.KEY} keyCode
592
- * @example
593
- * // enable the keyboard
594
- * me.input.bindKey(me.input.KEY.X, "shoot");
595
- * // map the left button click on the X key (default if the button is not specified)
596
- * me.input.bindPointer(me.input.KEY.X);
597
- * // map the right button click on the X key
598
- * me.input.bindPointer(me.input.pointer.RIGHT, me.input.KEY.X);
599
- */
600
- export function bindPointer() {
601
- let button = (arguments.length < 2) ? pointer.LEFT : arguments[0];
602
- let keyCode = (arguments.length < 2) ? arguments[0] : arguments[1];
603
-
604
- // make sure the mouse is initialized
605
- enablePointerEvent();
606
-
607
- // throw an exception if no action is defined for the specified keycode
608
- if (!getBindingKey(keyCode)) {
609
- throw new Error("no action defined for keycode " + keyCode);
610
- }
611
- // map the mouse button to the keycode
612
- pointer.bind[button] = keyCode;
613
- }
614
-
615
- /**
616
- * unbind the defined keycode
617
- * @memberof input
618
- * @param {number} [button=input.pointer.LEFT] - (accordingly to W3C values : 0,1,2 for left, middle and right buttons)
619
- * @example
620
- * me.input.unbindPointer(me.input.pointer.LEFT);
621
- */
622
- export function unbindPointer(button) {
623
- // clear the event status
624
- pointer.bind[
625
- typeof(button) === "undefined" ?
626
- pointer.LEFT : button
627
- ] = null;
628
- }
629
-
630
-
631
- /**
632
- * allows registration of event listeners on the object target. <br>
633
- * melonJS will pass a me.Pointer object to the defined callback.
634
- * @see Pointer
635
- * @see {@link http://www.w3.org/TR/pointerevents/#list-of-pointer-events|W3C Pointer Event list}
636
- * @memberof input
637
- * @param {string} eventType - The event type for which the object is registering <br>
638
- * melonJS currently supports: <br>
639
- * <ul>
640
- * <li><code>"pointermove"</code></li>
641
- * <li><code>"pointerdown"</code></li>
642
- * <li><code>"pointerup"</code></li>
643
- * <li><code>"pointerenter"</code></li>
644
- * <li><code>"pointerover"</code></li>
645
- * <li><code>"pointerleave"</code></li>
646
- * <li><code>"pointercancel"</code></li>
647
- * <li><code>"wheel"</code></li>
648
- * </ul>
649
- * @param {Rect|Polygon|Line|Ellipse} region - a shape representing the region to register on
650
- * @param {Function} callback - methods to be called when the event occurs.
651
- * Returning `false` from the defined callback will prevent the event to be propagated to other objects
652
- * @example
653
- * // onActivate function
654
- * onActivateEvent: function () {
655
- * // register on the 'pointerdown' event
656
- * me.input.registerPointerEvent('pointerdown', this, (e) => this.pointerDown(e));
657
- * },
658
- *
659
- * // pointerDown event callback
660
- * pointerDown: function (pointer) {
661
- * // do something
662
- * ....
663
- * // don"t propagate the event to other objects
664
- * return false;
665
- * },
666
- */
667
- export function registerPointerEvent(eventType, region, callback) {
668
- // make sure the mouse/touch events are initialized
669
- enablePointerEvent();
670
-
671
- if (pointerEventList.indexOf(eventType) === -1) {
672
- throw new Error("invalid event type : " + eventType);
673
- }
674
-
675
- if (typeof region === "undefined") {
676
- throw new Error("registerPointerEvent: region for " + toString(region) + " event is undefined ");
677
- }
678
-
679
- let eventTypes = findAllActiveEvents(activeEventList, pointerEventMap[eventType]);
680
-
681
- // register the event
682
- if (!eventHandlers.has(region)) {
683
- eventHandlers.set(region, {
684
- region : region,
685
- callbacks : {},
686
- pointerId : null
687
- });
688
- }
689
-
690
- // allocate array if not defined
691
- let handlers = eventHandlers.get(region);
692
- for (let i = 0; i < eventTypes.length; i++) {
693
- const eventType = eventTypes[i];
694
- if (handlers.callbacks[eventType]) {
695
- handlers.callbacks[eventType].push(callback);
696
- } else {
697
- handlers.callbacks[eventType] = [callback];
698
- }
699
- }
700
- }
701
-
702
- /**
703
- * allows the removal of event listeners from the object target.
704
- * @see {@link http://www.w3.org/TR/pointerevents/#list-of-pointer-events|W3C Pointer Event list}
705
- * @memberof input
706
- * @param {string} eventType - The event type for which the object was registered. See {@link input.registerPointerEvent}
707
- * @param {Rect|Polygon|Line|Ellipse} region - the registered region to release for this event
708
- * @param {Function} [callback="all"] - if specified unregister the event only for the specific callback
709
- * @example
710
- * // release the registered region on the 'pointerdown' event
711
- * me.input.releasePointerEvent('pointerdown', this);
712
- */
713
- export function releasePointerEvent(eventType, region, callback) {
714
- if (pointerEventList.indexOf(eventType) === -1) {
715
- throw new Error("invalid event type : " + eventType);
716
- }
717
-
718
- // convert to supported event type if pointerEvent not natively supported
719
- let eventTypes = findAllActiveEvents(activeEventList, pointerEventMap[eventType]);
720
-
721
- let handlers = eventHandlers.get(region);
722
- if (typeof (handlers) !== "undefined") {
723
- for (let i = 0; i < eventTypes.length; i++) {
724
- const eventType = eventTypes[i];
725
- if (handlers.callbacks[eventType]) {
726
- if (typeof (callback) !== "undefined") {
727
- remove(handlers.callbacks[eventType], callback);
728
- } else {
729
- while (handlers.callbacks[eventType].length > 0) {
730
- handlers.callbacks[eventType].pop();
731
- }
732
- }
733
- // free the array if empty
734
- if (handlers.callbacks[eventType].length === 0) {
735
- delete handlers.callbacks[eventType];
736
- }
737
- }
738
- }
739
- if (Object.keys(handlers.callbacks).length === 0) {
740
- eventHandlers.delete(region);
741
- }
742
- }
743
- }
744
-
745
- /**
746
- * allows the removal of all registered event listeners from the object target.
747
- * @memberof input
748
- * @param {Rect|Polygon|Line|Ellipse} region - the registered region to release event from
749
- * @example
750
- * // release all registered event on the
751
- * me.input.releaseAllPointerEvents(this);
752
- */
753
- export function releaseAllPointerEvents(region) {
754
- if (eventHandlers.has(region)) {
755
- for (let i = 0; i < pointerEventList.length; i++) {
756
- releasePointerEvent(pointerEventList[i], region);
757
- }
758
- }
759
- }
760
-
761
- /**
762
- * request for the pointer to be locked on the parent DOM element.
763
- * (Must be called in a click event or an event that requires user interaction)
764
- * @memberof input
765
- * @returns {boolean} return true if the request was successfully submitted
766
- * @example
767
- * // register on the pointer lock change event
768
- * event.on(event.POINTERLOCKCHANGE, (locked)=> {
769
- * console.log("pointer lock: " + locked);
770
- * });
771
- * // request for pointer lock
772
- * me.input.requestPointerLock();
773
- */
774
- export function requestPointerLock() {
775
- if (device.hasPointerLockSupport) {
776
- let element = game.getParentElement();
777
- element.requestPointerLock();
778
- return true;
779
- }
780
- return false;
781
- }
782
-
783
- /**
784
- * Initiates an exit from pointer lock state
785
- * @memberof input
786
- * @returns {boolean} return true if the request was successfully submitted
787
- */
788
- export function exitPointerLock() {
789
- if (device.hasPointerLockSupport) {
790
- globalThis.document.exitPointerLock();
791
- return true;
792
- }
793
- return false;
794
- }