melonjs 17.4.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.
- package/{dist/types → build}/application/application.d.ts +9 -10
- package/build/application/application.d.ts.map +1 -0
- package/build/application/defaultApplicationSettings.d.ts +18 -0
- package/build/application/defaultApplicationSettings.d.ts.map +1 -0
- package/{dist/types → build}/application/header.d.ts +1 -0
- package/build/application/header.d.ts.map +1 -0
- package/{dist/types → build}/application/resize.d.ts +1 -0
- package/build/application/resize.d.ts.map +1 -0
- package/build/application/scaleMethods.d.ts +44 -0
- package/build/application/scaleMethods.d.ts.map +1 -0
- package/build/application/settings.d.ts +85 -0
- package/build/application/settings.d.ts.map +1 -0
- package/{dist/types → build}/audio/audio.d.ts +35 -58
- package/build/audio/audio.d.ts.map +1 -0
- package/{dist/types → build}/camera/camera2d.d.ts +38 -76
- package/build/camera/camera2d.d.ts.map +1 -0
- package/build/const.d.ts +14 -0
- package/build/const.d.ts.map +1 -0
- package/build/geometries/earcut.d.ts +3 -0
- package/build/geometries/earcut.d.ts.map +1 -0
- package/build/geometries/ellipse.d.ts +117 -0
- package/build/geometries/ellipse.d.ts.map +1 -0
- package/build/geometries/line.d.ts +39 -0
- package/build/geometries/line.d.ts.map +1 -0
- package/build/geometries/observablePoint.d.ts +75 -0
- package/build/geometries/observablePoint.d.ts.map +1 -0
- package/{dist/types → build}/geometries/path2d.d.ts +8 -7
- package/build/geometries/path2d.d.ts.map +1 -0
- package/build/geometries/point.d.ts +44 -0
- package/build/geometries/point.d.ts.map +1 -0
- package/build/geometries/polygon.d.ts +182 -0
- package/build/geometries/polygon.d.ts.map +1 -0
- package/build/geometries/rectangle.d.ts +135 -0
- package/build/geometries/rectangle.d.ts.map +1 -0
- package/build/geometries/roundrect.d.ts +67 -0
- package/build/geometries/roundrect.d.ts.map +1 -0
- package/build/geometries/toarccanvas.d.ts +28 -0
- package/build/geometries/toarccanvas.d.ts.map +1 -0
- package/{dist/types → build}/index.d.ts +41 -45
- package/build/index.d.ts.map +1 -0
- package/build/index.js +28318 -0
- package/build/index.js.map +7 -0
- package/{dist/types → build}/input/gamepad.d.ts +3 -11
- package/build/input/gamepad.d.ts.map +1 -0
- package/{dist/types → build}/input/input.d.ts +4 -2
- package/build/input/input.d.ts.map +1 -0
- package/build/input/key.d.ts +105 -0
- package/build/input/key.d.ts.map +1 -0
- package/build/input/keyboard.d.ts +72 -0
- package/build/input/keyboard.d.ts.map +1 -0
- package/build/input/pointer.d.ts +180 -0
- package/build/input/pointer.d.ts.map +1 -0
- package/{dist/types → build}/input/pointerevent.d.ts +17 -16
- package/build/input/pointerevent.d.ts.map +1 -0
- package/{dist/types → build}/lang/console.d.ts +1 -0
- package/build/lang/console.d.ts.map +1 -0
- package/build/lang/deprecated.d.ts +24 -0
- package/build/lang/deprecated.d.ts.map +1 -0
- package/{dist/types → build}/level/level.d.ts +7 -7
- package/build/level/level.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXGroup.d.ts +2 -2
- package/build/level/tiled/TMXGroup.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXLayer.d.ts +4 -4
- package/build/level/tiled/TMXLayer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXObject.d.ts +3 -3
- package/build/level/tiled/TMXObject.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXTile.d.ts +4 -5
- package/build/level/tiled/TMXTile.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXTileMap.d.ts +4 -4
- package/build/level/tiled/TMXTileMap.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXTileset.d.ts +2 -2
- package/build/level/tiled/TMXTileset.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXTilesetGroup.d.ts +1 -1
- package/build/level/tiled/TMXTilesetGroup.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/TMXUtils.d.ts +2 -1
- package/build/level/tiled/TMXUtils.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/constants.d.ts +1 -0
- package/build/level/tiled/constants.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXHexagonalRenderer.d.ts +3 -4
- package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXIsometricRenderer.d.ts +2 -3
- package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +1 -2
- package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXRenderer.d.ts +7 -7
- package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/TMXStaggeredRenderer.d.ts +1 -2
- package/build/level/tiled/renderer/TMXStaggeredRenderer.d.ts.map +1 -0
- package/{dist/types → build}/level/tiled/renderer/autodetect.d.ts +4 -3
- package/build/level/tiled/renderer/autodetect.d.ts.map +1 -0
- package/build/loader/cache.d.ts +10 -0
- package/build/loader/cache.d.ts.map +1 -0
- package/{dist/types → build}/loader/loader.d.ts +19 -13
- package/build/loader/loader.d.ts.map +1 -0
- package/{dist/types → build}/loader/loadingscreen.d.ts +1 -0
- package/build/loader/loadingscreen.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/binary.d.ts +2 -1
- package/build/loader/parsers/binary.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/compressed_textures/compressed_image.d.ts +1 -0
- package/build/loader/parsers/compressed_textures/compressed_image.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parseDDS.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parseDDS.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parseKTX.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parseKTX.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parseKTX2.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parseKTX2.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parsePKM.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parsePKM.d.ts.map +1 -0
- package/build/loader/parsers/compressed_textures/parsePVR.d.ts +2 -0
- package/build/loader/parsers/compressed_textures/parsePVR.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/fetchdata.d.ts +2 -1
- package/build/loader/parsers/fetchdata.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/fontface.d.ts +2 -1
- package/build/loader/parsers/fontface.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/image.d.ts +2 -1
- package/build/loader/parsers/image.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/json.d.ts +2 -1
- package/build/loader/parsers/json.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/script.d.ts +2 -1
- package/build/loader/parsers/script.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/tmx.d.ts +2 -1
- package/build/loader/parsers/tmx.d.ts.map +1 -0
- package/{dist/types → build}/loader/parsers/video.d.ts +2 -1
- package/build/loader/parsers/video.d.ts.map +1 -0
- package/build/math/color.d.ts +192 -0
- package/build/math/color.d.ts.map +1 -0
- package/build/math/math.d.ts +128 -0
- package/build/math/math.d.ts.map +1 -0
- package/build/math/matrix2d.d.ts +163 -0
- package/build/math/matrix2d.d.ts.map +1 -0
- package/build/math/matrix3d.d.ts +188 -0
- package/build/math/matrix3d.d.ts.map +1 -0
- package/build/math/observableVector2d.d.ts +286 -0
- package/build/math/observableVector2d.d.ts.map +1 -0
- package/build/math/observableVector2d_old.d.ts +76 -0
- package/build/math/observableVector2d_old.d.ts.map +1 -0
- package/build/math/observableVector3d.d.ts +283 -0
- package/build/math/observableVector3d.d.ts.map +1 -0
- package/build/math/observableVector3d_old.d.ts +81 -0
- package/build/math/observableVector3d_old.d.ts.map +1 -0
- package/build/math/vector2d.d.ts +253 -0
- package/build/math/vector2d.d.ts.map +1 -0
- package/build/math/vector3d.d.ts +242 -0
- package/build/math/vector3d.d.ts.map +1 -0
- package/{dist/types → build}/particles/emitter.d.ts +7 -10
- package/build/particles/emitter.d.ts.map +1 -0
- package/build/particles/particle.d.ts +47 -0
- package/build/particles/particle.d.ts.map +1 -0
- package/{dist/types → build}/particles/settings.d.ts +1 -0
- package/build/particles/settings.d.ts.map +1 -0
- package/{dist/types → build}/physics/body.d.ts +27 -27
- package/build/physics/body.d.ts.map +1 -0
- package/build/physics/bounds.d.ts +192 -0
- package/build/physics/bounds.d.ts.map +1 -0
- package/{dist/types → build}/physics/collision.d.ts +5 -5
- package/build/physics/collision.d.ts.map +1 -0
- package/{dist/types → build}/physics/detector.d.ts +8 -6
- package/build/physics/detector.d.ts.map +1 -0
- package/{dist/types → build}/physics/quadtree.d.ts +5 -19
- package/build/physics/quadtree.d.ts.map +1 -0
- package/{dist/types → build}/physics/response.d.ts +46 -5
- package/build/physics/response.d.ts.map +1 -0
- package/{dist/types → build}/physics/sat.d.ts +3 -2
- package/build/physics/sat.d.ts.map +1 -0
- package/{dist/types → build}/physics/world.d.ts +5 -4
- package/build/physics/world.d.ts.map +1 -0
- package/{dist/types → build}/plugin/plugin.d.ts +8 -19
- package/build/plugin/plugin.d.ts.map +1 -0
- package/build/polyfill/console.d.ts +2 -0
- package/build/polyfill/console.d.ts.map +1 -0
- package/build/polyfill/index.d.ts +6 -0
- package/build/polyfill/index.d.ts.map +1 -0
- package/build/polyfill/roundrect.d.ts +2 -0
- package/build/polyfill/roundrect.d.ts.map +1 -0
- package/build/pool.d.ts +39 -0
- package/build/pool.d.ts.map +1 -0
- package/{dist/types → build}/renderable/collectable.d.ts +2 -2
- package/build/renderable/collectable.d.ts.map +1 -0
- package/{dist/types → build}/renderable/colorlayer.d.ts +6 -10
- package/build/renderable/colorlayer.d.ts.map +1 -0
- package/{dist/types → build}/renderable/container.d.ts +14 -15
- package/build/renderable/container.d.ts.map +1 -0
- package/{dist/types → build}/renderable/draggable.d.ts +5 -13
- package/build/renderable/draggable.d.ts.map +1 -0
- package/{dist/types → build}/renderable/dragndrop.d.ts +7 -21
- package/build/renderable/dragndrop.d.ts.map +1 -0
- package/{dist/types → build}/renderable/entity/entity.d.ts +12 -13
- package/build/renderable/entity/entity.d.ts.map +1 -0
- package/{dist/types → build}/renderable/imagelayer.d.ts +17 -9
- package/build/renderable/imagelayer.d.ts.map +1 -0
- package/build/renderable/light2d.d.ts +73 -0
- package/build/renderable/light2d.d.ts.map +1 -0
- package/{dist/types → build}/renderable/nineslicesprite.d.ts +3 -4
- package/build/renderable/nineslicesprite.d.ts.map +1 -0
- package/{dist/types → build}/renderable/renderable.d.ts +57 -60
- package/build/renderable/renderable.d.ts.map +1 -0
- package/{dist/types → build}/renderable/sprite.d.ts +28 -14
- package/build/renderable/sprite.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/bitmaptext.d.ts +6 -7
- package/build/renderable/text/bitmaptext.d.ts.map +1 -0
- package/build/renderable/text/bitmaptextdata.d.ts +17 -0
- package/build/renderable/text/bitmaptextdata.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/glyph.d.ts +15 -3
- package/build/renderable/text/glyph.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/text.d.ts +7 -16
- package/build/renderable/text/text.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/textmetrics.d.ts +8 -9
- package/build/renderable/text/textmetrics.d.ts.map +1 -0
- package/{dist/types → build}/renderable/text/textstyle.d.ts +1 -0
- package/build/renderable/text/textstyle.d.ts.map +1 -0
- package/{dist/types → build}/renderable/trigger.d.ts +18 -7
- package/build/renderable/trigger.d.ts.map +1 -0
- package/{dist/types → build}/renderable/ui/uibaseelement.d.ts +7 -7
- package/build/renderable/ui/uibaseelement.d.ts.map +1 -0
- package/{dist/types → build}/renderable/ui/uispriteelement.d.ts +4 -6
- package/build/renderable/ui/uispriteelement.d.ts.map +1 -0
- package/{dist/types → build}/renderable/ui/uitextbutton.d.ts +17 -4
- package/build/renderable/ui/uitextbutton.d.ts.map +1 -0
- package/{dist/types → build}/state/stage.d.ts +3 -3
- package/build/state/stage.d.ts.map +1 -0
- package/{dist/types → build}/state/state.d.ts +10 -9
- package/build/state/state.d.ts.map +1 -0
- package/{dist/types → build}/system/device.d.ts +49 -80
- package/build/system/device.d.ts.map +1 -0
- package/build/system/dom.d.ts +2 -0
- package/build/system/dom.d.ts.map +1 -0
- package/{dist/types → build}/system/event.d.ts +124 -291
- package/build/system/event.d.ts.map +1 -0
- package/build/system/eventEmitter.d.ts +19 -0
- package/build/system/eventEmitter.d.ts.map +1 -0
- package/build/system/eventEmitter.spec.d.ts +2 -0
- package/build/system/eventEmitter.spec.d.ts.map +1 -0
- package/{dist/types/system/pooling.d.ts → build/system/legacy_pool.d.ts} +22 -7
- package/build/system/legacy_pool.d.ts.map +1 -0
- package/build/system/platform.d.ts +34 -0
- package/build/system/platform.d.ts.map +1 -0
- package/build/system/pool.d.ts +26 -0
- package/build/system/pool.d.ts.map +1 -0
- package/build/system/save.d.ts +3 -0
- package/build/system/save.d.ts.map +1 -0
- package/build/system/timer.d.ts +118 -0
- package/build/system/timer.d.ts.map +1 -0
- package/build/tweens/easing.d.ts +93 -0
- package/build/tweens/easing.d.ts.map +1 -0
- package/build/tweens/interpolation.d.ts +7 -0
- package/build/tweens/interpolation.d.ts.map +1 -0
- package/build/tweens/tween.d.ts +234 -0
- package/build/tweens/tween.d.ts.map +1 -0
- package/build/utils/agent.d.ts +16 -0
- package/build/utils/agent.d.ts.map +1 -0
- package/build/utils/array-multimap.d.ts +14 -0
- package/build/utils/array-multimap.d.ts.map +1 -0
- package/build/utils/array.d.ts +30 -0
- package/build/utils/array.d.ts.map +1 -0
- package/build/utils/file.d.ts +16 -0
- package/build/utils/file.d.ts.map +1 -0
- package/build/utils/function.d.ts +24 -0
- package/build/utils/function.d.ts.map +1 -0
- package/build/utils/semver.d.ts +2 -0
- package/build/utils/semver.d.ts.map +1 -0
- package/build/utils/string.d.ts +35 -0
- package/build/utils/string.d.ts.map +1 -0
- package/build/utils/types.d.ts +5 -0
- package/build/utils/types.d.ts.map +1 -0
- package/build/utils/utils.d.ts +49 -0
- package/build/utils/utils.d.ts.map +1 -0
- package/build/version.d.ts +5 -0
- package/build/version.d.ts.map +1 -0
- package/{dist/types → build}/video/canvas/canvas_renderer.d.ts +40 -32
- package/build/video/canvas/canvas_renderer.d.ts.map +1 -0
- package/{dist/types → build}/video/renderer.d.ts +36 -29
- package/build/video/renderer.d.ts.map +1 -0
- package/{dist/types → build}/video/rendertarget/canvasrendertarget.d.ts +8 -26
- package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/atlas.d.ts +8 -8
- package/build/video/texture/atlas.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/cache.d.ts +4 -3
- package/build/video/texture/cache.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/parser/aseprite.d.ts +1 -0
- package/build/video/texture/parser/aseprite.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/parser/spritesheet.d.ts +1 -0
- package/build/video/texture/parser/spritesheet.d.ts.map +1 -0
- package/{dist/types → build}/video/texture/parser/texturepacker.d.ts +1 -0
- package/build/video/texture/parser/texturepacker.d.ts.map +1 -0
- package/build/video/utils/autodetect.d.ts +8 -0
- package/build/video/utils/autodetect.d.ts.map +1 -0
- package/{dist/types → build}/video/video.d.ts +4 -3
- package/build/video/video.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/buffer/vertex.d.ts +5 -6
- package/build/video/webgl/buffer/vertex.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/compositor.d.ts +4 -4
- package/build/video/webgl/compositors/compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/primitive_compositor.d.ts +4 -5
- package/build/video/webgl/compositors/primitive_compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/compositors/quad_compositor.d.ts +4 -5
- package/build/video/webgl/compositors/quad_compositor.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/glshader.d.ts +2 -2
- package/build/video/webgl/glshader.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/attributes.d.ts +1 -0
- package/build/video/webgl/utils/attributes.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/precision.d.ts +1 -0
- package/build/video/webgl/utils/precision.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/program.d.ts +1 -0
- package/build/video/webgl/utils/program.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/string.d.ts +1 -0
- package/build/video/webgl/utils/string.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/utils/uniforms.d.ts +1 -0
- package/build/video/webgl/utils/uniforms.d.ts.map +1 -0
- package/{dist/types → build}/video/webgl/webgl_renderer.d.ts +37 -29
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -0
- package/package.json +83 -104
- package/LICENSE.md +0 -21
- package/README.md +0 -223
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +0 -14
- package/dist/melonjs.mjs/_virtual/earcut.js +0 -10
- package/dist/melonjs.mjs/_virtual/howler.js +0 -10
- package/dist/melonjs.mjs/_virtual/index.js +0 -10
- package/dist/melonjs.mjs/_virtual/re.js +0 -10
- package/dist/melonjs.mjs/application/application.js +0 -443
- package/dist/melonjs.mjs/application/header.js +0 -40
- package/dist/melonjs.mjs/application/resize.js +0 -128
- package/dist/melonjs.mjs/application/settings.js +0 -70
- package/dist/melonjs.mjs/audio/audio.js +0 -623
- package/dist/melonjs.mjs/camera/camera2d.js +0 -737
- package/dist/melonjs.mjs/const.js +0 -32
- package/dist/melonjs.mjs/geometries/ellipse.js +0 -253
- package/dist/melonjs.mjs/geometries/line.js +0 -113
- package/dist/melonjs.mjs/geometries/path2d.js +0 -479
- package/dist/melonjs.mjs/geometries/point.js +0 -85
- package/dist/melonjs.mjs/geometries/poly.js +0 -441
- package/dist/melonjs.mjs/geometries/rectangle.js +0 -335
- package/dist/melonjs.mjs/geometries/roundrect.js +0 -165
- package/dist/melonjs.mjs/geometries/toarccanvas.js +0 -103
- package/dist/melonjs.mjs/index.js +0 -239
- package/dist/melonjs.mjs/input/gamepad.js +0 -495
- package/dist/melonjs.mjs/input/input.js +0 -26
- package/dist/melonjs.mjs/input/keyboard.js +0 -470
- package/dist/melonjs.mjs/input/pointer.js +0 -393
- package/dist/melonjs.mjs/input/pointerevent.js +0 -807
- package/dist/melonjs.mjs/lang/console.js +0 -44
- package/dist/melonjs.mjs/lang/deprecated.js +0 -200
- package/dist/melonjs.mjs/level/level.js +0 -298
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +0 -120
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +0 -432
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +0 -295
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +0 -177
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +0 -574
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +0 -292
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +0 -74
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +0 -417
- package/dist/melonjs.mjs/level/tiled/constants.js +0 -17
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +0 -503
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +0 -215
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -155
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +0 -113
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +0 -107
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +0 -38
- package/dist/melonjs.mjs/loader/cache.js +0 -30
- package/dist/melonjs.mjs/loader/loader.js +0 -729
- package/dist/melonjs.mjs/loader/loadingscreen.js +0 -118
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +0 -10
- package/dist/melonjs.mjs/loader/parsers/binary.js +0 -42
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js +0 -58
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js +0 -13
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js +0 -13
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js +0 -13
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js +0 -13
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js +0 -136
- package/dist/melonjs.mjs/loader/parsers/fetchdata.js +0 -62
- package/dist/melonjs.mjs/loader/parsers/fontface.js +0 -62
- package/dist/melonjs.mjs/loader/parsers/image.js +0 -129
- package/dist/melonjs.mjs/loader/parsers/json.js +0 -43
- package/dist/melonjs.mjs/loader/parsers/script.js +0 -46
- package/dist/melonjs.mjs/loader/parsers/tmx.js +0 -103
- package/dist/melonjs.mjs/loader/parsers/video.js +0 -99
- package/dist/melonjs.mjs/math/color.js +0 -635
- package/dist/melonjs.mjs/math/math.js +0 -221
- package/dist/melonjs.mjs/math/matrix2.js +0 -495
- package/dist/melonjs.mjs/math/matrix3.js +0 -628
- package/dist/melonjs.mjs/math/observable_vector2.js +0 -468
- package/dist/melonjs.mjs/math/observable_vector3.js +0 -564
- package/dist/melonjs.mjs/math/vector2.js +0 -431
- package/dist/melonjs.mjs/math/vector3.js +0 -473
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +0 -45
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +0 -130
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +0 -694
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +0 -352
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +0 -12
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +0 -3246
- package/dist/melonjs.mjs/node_modules/semver/classes/comparator.js +0 -165
- package/dist/melonjs.mjs/node_modules/semver/classes/range.js +0 -565
- package/dist/melonjs.mjs/node_modules/semver/classes/semver.js +0 -317
- package/dist/melonjs.mjs/node_modules/semver/functions/clean.js +0 -17
- package/dist/melonjs.mjs/node_modules/semver/functions/cmp.js +0 -68
- package/dist/melonjs.mjs/node_modules/semver/functions/coerce.js +0 -73
- package/dist/melonjs.mjs/node_modules/semver/functions/compare-build.js +0 -18
- package/dist/melonjs.mjs/node_modules/semver/functions/compare-loose.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/compare.js +0 -16
- package/dist/melonjs.mjs/node_modules/semver/functions/diff.js +0 -76
- package/dist/melonjs.mjs/node_modules/semver/functions/eq.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/gt.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/gte.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/inc.js +0 -30
- package/dist/melonjs.mjs/node_modules/semver/functions/lt.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/lte.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/major.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/minor.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/neq.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/parse.js +0 -27
- package/dist/melonjs.mjs/node_modules/semver/functions/patch.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/prerelease.js +0 -17
- package/dist/melonjs.mjs/node_modules/semver/functions/rcompare.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/rsort.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/satisfies.js +0 -21
- package/dist/melonjs.mjs/node_modules/semver/functions/sort.js +0 -14
- package/dist/melonjs.mjs/node_modules/semver/functions/valid.js +0 -17
- package/dist/melonjs.mjs/node_modules/semver/index.js +0 -140
- package/dist/melonjs.mjs/node_modules/semver/internal/constants.js +0 -44
- package/dist/melonjs.mjs/node_modules/semver/internal/debug.js +0 -18
- package/dist/melonjs.mjs/node_modules/semver/internal/identifiers.js +0 -32
- package/dist/melonjs.mjs/node_modules/semver/internal/lrucache.js +0 -49
- package/dist/melonjs.mjs/node_modules/semver/internal/parse-options.js +0 -24
- package/dist/melonjs.mjs/node_modules/semver/internal/re.js +0 -234
- package/dist/melonjs.mjs/node_modules/semver/ranges/gtr.js +0 -15
- package/dist/melonjs.mjs/node_modules/semver/ranges/intersects.js +0 -18
- package/dist/melonjs.mjs/node_modules/semver/ranges/ltr.js +0 -15
- package/dist/melonjs.mjs/node_modules/semver/ranges/max-satisfying.js +0 -37
- package/dist/melonjs.mjs/node_modules/semver/ranges/min-satisfying.js +0 -36
- package/dist/melonjs.mjs/node_modules/semver/ranges/min-version.js +0 -74
- package/dist/melonjs.mjs/node_modules/semver/ranges/outside.js +0 -98
- package/dist/melonjs.mjs/node_modules/semver/ranges/simplify.js +0 -59
- package/dist/melonjs.mjs/node_modules/semver/ranges/subset.js +0 -261
- package/dist/melonjs.mjs/node_modules/semver/ranges/to-comparators.js +0 -19
- package/dist/melonjs.mjs/node_modules/semver/ranges/valid.js +0 -22
- package/dist/melonjs.mjs/particles/emitter.js +0 -265
- package/dist/melonjs.mjs/particles/particle.js +0 -190
- package/dist/melonjs.mjs/particles/settings.js +0 -317
- package/dist/melonjs.mjs/physics/body.js +0 -717
- package/dist/melonjs.mjs/physics/bounds.js +0 -415
- package/dist/melonjs.mjs/physics/collision.js +0 -135
- package/dist/melonjs.mjs/physics/detector.js +0 -227
- package/dist/melonjs.mjs/physics/quadtree.js +0 -402
- package/dist/melonjs.mjs/physics/response.js +0 -57
- package/dist/melonjs.mjs/physics/sat.js +0 -492
- package/dist/melonjs.mjs/physics/world.js +0 -228
- package/dist/melonjs.mjs/plugin/plugin.js +0 -172
- package/dist/melonjs.mjs/renderable/collectable.js +0 -60
- package/dist/melonjs.mjs/renderable/colorlayer.js +0 -83
- package/dist/melonjs.mjs/renderable/container.js +0 -1016
- package/dist/melonjs.mjs/renderable/draggable.js +0 -121
- package/dist/melonjs.mjs/renderable/dragndrop.js +0 -119
- package/dist/melonjs.mjs/renderable/entity/entity.js +0 -263
- package/dist/melonjs.mjs/renderable/imagelayer.js +0 -293
- package/dist/melonjs.mjs/renderable/light2d.js +0 -172
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +0 -248
- package/dist/melonjs.mjs/renderable/renderable.js +0 -878
- package/dist/melonjs.mjs/renderable/sprite.js +0 -700
- package/dist/melonjs.mjs/renderable/text/bitmaptext.js +0 -421
- package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +0 -195
- package/dist/melonjs.mjs/renderable/text/glyph.js +0 -65
- package/dist/melonjs.mjs/renderable/text/text.js +0 -424
- package/dist/melonjs.mjs/renderable/text/textmetrics.js +0 -176
- package/dist/melonjs.mjs/renderable/text/textstyle.js +0 -21
- package/dist/melonjs.mjs/renderable/trigger.js +0 -163
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +0 -285
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +0 -231
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +0 -146
- package/dist/melonjs.mjs/state/stage.js +0 -235
- package/dist/melonjs.mjs/state/state.js +0 -548
- package/dist/melonjs.mjs/system/device.js +0 -872
- package/dist/melonjs.mjs/system/dom.js +0 -79
- package/dist/melonjs.mjs/system/event.js +0 -606
- package/dist/melonjs.mjs/system/platform.js +0 -43
- package/dist/melonjs.mjs/system/pooling.js +0 -182
- package/dist/melonjs.mjs/system/save.js +0 -157
- package/dist/melonjs.mjs/system/timer.js +0 -274
- package/dist/melonjs.mjs/tweens/easing.js +0 -334
- package/dist/melonjs.mjs/tweens/interpolation.js +0 -112
- package/dist/melonjs.mjs/tweens/tween.js +0 -479
- package/dist/melonjs.mjs/utils/agent.js +0 -77
- package/dist/melonjs.mjs/utils/array.js +0 -63
- package/dist/melonjs.mjs/utils/file.js +0 -54
- package/dist/melonjs.mjs/utils/function.js +0 -69
- package/dist/melonjs.mjs/utils/string.js +0 -82
- package/dist/melonjs.mjs/utils/utils.js +0 -139
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +0 -914
- package/dist/melonjs.mjs/video/renderer.js +0 -402
- package/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js +0 -316
- package/dist/melonjs.mjs/video/texture/atlas.js +0 -465
- package/dist/melonjs.mjs/video/texture/cache.js +0 -186
- package/dist/melonjs.mjs/video/texture/parser/aseprite.js +0 -78
- package/dist/melonjs.mjs/video/texture/parser/spritesheet.js +0 -77
- package/dist/melonjs.mjs/video/texture/parser/texturepacker.js +0 -64
- package/dist/melonjs.mjs/video/utils/autodetect.js +0 -27
- package/dist/melonjs.mjs/video/video.js +0 -142
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +0 -146
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +0 -240
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +0 -82
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +0 -259
- package/dist/melonjs.mjs/video/webgl/glshader.js +0 -166
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +0 -10
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +0 -10
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +0 -10
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +0 -10
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +0 -25
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +0 -38
- package/dist/melonjs.mjs/video/webgl/utils/program.js +0 -67
- package/dist/melonjs.mjs/video/webgl/utils/string.js +0 -25
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +0 -92
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +0 -1246
- package/dist/melonjs.module.js +0 -43200
- package/dist/types/application/settings.d.ts +0 -106
- package/dist/types/const.d.ts +0 -21
- package/dist/types/geometries/ellipse.d.ts +0 -138
- package/dist/types/geometries/line.d.ts +0 -15
- package/dist/types/geometries/point.d.ts +0 -50
- package/dist/types/geometries/poly.d.ts +0 -186
- package/dist/types/geometries/rectangle.d.ts +0 -135
- package/dist/types/geometries/roundrect.d.ts +0 -43
- package/dist/types/geometries/toarccanvas.d.ts +0 -10
- package/dist/types/input/keyboard.d.ts +0 -205
- package/dist/types/input/pointer.d.ts +0 -261
- package/dist/types/lang/deprecated.d.ts +0 -68
- package/dist/types/loader/cache.d.ts +0 -9
- package/dist/types/loader/parsers/compressed_textures/parseDDS.d.ts +0 -1
- package/dist/types/loader/parsers/compressed_textures/parseKTX.d.ts +0 -1
- package/dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts +0 -1
- package/dist/types/loader/parsers/compressed_textures/parsePKM.d.ts +0 -1
- package/dist/types/loader/parsers/compressed_textures/parsePVR.d.ts +0 -1
- package/dist/types/math/color.d.ts +0 -179
- package/dist/types/math/math.d.ts +0 -149
- package/dist/types/math/matrix2.d.ts +0 -174
- package/dist/types/math/matrix3.d.ts +0 -186
- package/dist/types/math/observable_vector2.d.ts +0 -278
- package/dist/types/math/observable_vector3.d.ts +0 -300
- package/dist/types/math/vector2.d.ts +0 -255
- package/dist/types/math/vector3.d.ts +0 -271
- package/dist/types/particles/particle.d.ts +0 -36
- package/dist/types/physics/bounds.d.ts +0 -203
- package/dist/types/polyfill/console.d.ts +0 -1
- package/dist/types/polyfill/index.d.ts +0 -1
- package/dist/types/polyfill/roundrect.d.ts +0 -1
- package/dist/types/renderable/light2d.d.ts +0 -60
- package/dist/types/renderable/text/bitmaptextdata.d.ts +0 -35
- package/dist/types/system/dom.d.ts +0 -1
- package/dist/types/system/platform.d.ts +0 -33
- package/dist/types/system/save.d.ts +0 -25
- package/dist/types/system/timer.d.ts +0 -126
- package/dist/types/tweens/easing.d.ts +0 -46
- package/dist/types/tweens/interpolation.d.ts +0 -18
- package/dist/types/tweens/tween.d.ts +0 -195
- package/dist/types/utils/agent.d.ts +0 -21
- package/dist/types/utils/array.d.ts +0 -39
- package/dist/types/utils/file.d.ts +0 -27
- package/dist/types/utils/function.d.ts +0 -31
- package/dist/types/utils/string.d.ts +0 -50
- package/dist/types/utils/utils.d.ts +0 -54
- package/dist/types/video/utils/autodetect.d.ts +0 -5
- package/src/application/application.js +0 -435
- package/src/application/header.js +0 -31
- package/src/application/resize.js +0 -119
- package/src/application/settings.js +0 -61
- package/src/audio/audio.js +0 -622
- package/src/camera/camera2d.js +0 -731
- package/src/const.js +0 -23
- package/src/geometries/ellipse.js +0 -244
- package/src/geometries/line.js +0 -104
- package/src/geometries/path2d.js +0 -470
- package/src/geometries/point.js +0 -76
- package/src/geometries/poly.js +0 -432
- package/src/geometries/rectangle.js +0 -326
- package/src/geometries/roundrect.js +0 -156
- package/src/geometries/toarccanvas.js +0 -94
- package/src/index.js +0 -315
- package/src/input/gamepad.js +0 -487
- package/src/input/input.js +0 -17
- package/src/input/keyboard.js +0 -461
- package/src/input/pointer.js +0 -386
- package/src/input/pointerevent.js +0 -798
- package/src/lang/console.js +0 -36
- package/src/lang/deprecated.js +0 -192
- package/src/level/level.js +0 -290
- package/src/level/tiled/TMXGroup.js +0 -111
- package/src/level/tiled/TMXLayer.js +0 -424
- package/src/level/tiled/TMXObject.js +0 -286
- package/src/level/tiled/TMXTile.js +0 -168
- package/src/level/tiled/TMXTileMap.js +0 -569
- package/src/level/tiled/TMXTileset.js +0 -284
- package/src/level/tiled/TMXTilesetGroup.js +0 -66
- package/src/level/tiled/TMXUtils.js +0 -408
- package/src/level/tiled/constants.js +0 -8
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +0 -497
- package/src/level/tiled/renderer/TMXIsometricRenderer.js +0 -208
- package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -149
- package/src/level/tiled/renderer/TMXRenderer.js +0 -103
- package/src/level/tiled/renderer/TMXStaggeredRenderer.js +0 -100
- package/src/level/tiled/renderer/autodetect.js +0 -29
- package/src/loader/cache.js +0 -22
- package/src/loader/loader.js +0 -728
- package/src/loader/loadingscreen.js +0 -112
- package/src/loader/melonjs_logo.png +0 -0
- package/src/loader/parsers/binary.js +0 -33
- package/src/loader/parsers/compressed_textures/compressed_image.js +0 -49
- package/src/loader/parsers/compressed_textures/parseDDS.js +0 -5
- package/src/loader/parsers/compressed_textures/parseKTX.js +0 -5
- package/src/loader/parsers/compressed_textures/parseKTX2.js +0 -5
- package/src/loader/parsers/compressed_textures/parsePKM.js +0 -5
- package/src/loader/parsers/compressed_textures/parsePVR.js +0 -127
- package/src/loader/parsers/fetchdata.js +0 -53
- package/src/loader/parsers/fontface.js +0 -54
- package/src/loader/parsers/image.js +0 -120
- package/src/loader/parsers/json.js +0 -35
- package/src/loader/parsers/script.js +0 -37
- package/src/loader/parsers/tmx.js +0 -95
- package/src/loader/parsers/video.js +0 -90
- package/src/math/color.js +0 -627
- package/src/math/math.js +0 -212
- package/src/math/matrix2.js +0 -487
- package/src/math/matrix3.js +0 -620
- package/src/math/observable_vector2.js +0 -460
- package/src/math/observable_vector3.js +0 -556
- package/src/math/vector2.js +0 -423
- package/src/math/vector3.js +0 -465
- package/src/particles/emitter.js +0 -258
- package/src/particles/particle.js +0 -182
- package/src/particles/settings.js +0 -310
- package/src/physics/body.js +0 -709
- package/src/physics/bounds.js +0 -407
- package/src/physics/collision.js +0 -128
- package/src/physics/detector.js +0 -218
- package/src/physics/quadtree.js +0 -393
- package/src/physics/response.js +0 -48
- package/src/physics/sat.js +0 -483
- package/src/physics/world.js +0 -220
- package/src/plugin/plugin.js +0 -163
- package/src/polyfill/console.js +0 -11
- package/src/polyfill/index.js +0 -13
- package/src/polyfill/roundrect.js +0 -237
- package/src/renderable/collectable.js +0 -51
- package/src/renderable/colorlayer.js +0 -74
- package/src/renderable/container.js +0 -1008
- package/src/renderable/draggable.js +0 -114
- package/src/renderable/dragndrop.js +0 -110
- package/src/renderable/entity/entity.js +0 -254
- package/src/renderable/imagelayer.js +0 -284
- package/src/renderable/light2d.js +0 -163
- package/src/renderable/nineslicesprite.js +0 -239
- package/src/renderable/renderable.js +0 -869
- package/src/renderable/sprite.js +0 -691
- package/src/renderable/text/bitmaptext.js +0 -418
- package/src/renderable/text/bitmaptextdata.js +0 -186
- package/src/renderable/text/glyph.js +0 -57
- package/src/renderable/text/text.js +0 -415
- package/src/renderable/text/textmetrics.js +0 -167
- package/src/renderable/text/textstyle.js +0 -12
- package/src/renderable/trigger.js +0 -154
- package/src/renderable/ui/uibaseelement.js +0 -276
- package/src/renderable/ui/uispriteelement.js +0 -223
- package/src/renderable/ui/uitextbutton.js +0 -140
- package/src/state/stage.js +0 -226
- package/src/state/state.js +0 -541
- package/src/system/device.js +0 -863
- package/src/system/dom.js +0 -70
- package/src/system/event.js +0 -597
- package/src/system/platform.js +0 -34
- package/src/system/pooling.js +0 -190
- package/src/system/save.js +0 -148
- package/src/system/timer.js +0 -281
- package/src/tweens/easing.js +0 -325
- package/src/tweens/interpolation.js +0 -103
- package/src/tweens/tween.js +0 -470
- package/src/utils/agent.js +0 -68
- package/src/utils/array.js +0 -54
- package/src/utils/file.js +0 -46
- package/src/utils/function.js +0 -60
- package/src/utils/string.js +0 -73
- package/src/utils/utils.js +0 -127
- package/src/video/canvas/canvas_renderer.js +0 -905
- package/src/video/renderer.js +0 -393
- package/src/video/rendertarget/canvasrendertarget.js +0 -309
- package/src/video/texture/atlas.js +0 -456
- package/src/video/texture/cache.js +0 -178
- package/src/video/texture/parser/aseprite.js +0 -69
- package/src/video/texture/parser/spritesheet.js +0 -68
- package/src/video/texture/parser/texturepacker.js +0 -55
- package/src/video/utils/autodetect.js +0 -18
- package/src/video/video.js +0 -160
- package/src/video/webgl/buffer/vertex.js +0 -137
- package/src/video/webgl/compositors/compositor.js +0 -231
- package/src/video/webgl/compositors/primitive_compositor.js +0 -73
- package/src/video/webgl/compositors/quad_compositor.js +0 -250
- package/src/video/webgl/glshader.js +0 -158
- package/src/video/webgl/shaders/primitive.frag +0 -5
- package/src/video/webgl/shaders/primitive.vert +0 -15
- package/src/video/webgl/shaders/quad.frag +0 -7
- package/src/video/webgl/shaders/quad.vert +0 -18
- package/src/video/webgl/utils/attributes.js +0 -16
- package/src/video/webgl/utils/precision.js +0 -29
- package/src/video/webgl/utils/program.js +0 -58
- package/src/video/webgl/utils/string.js +0 -16
- package/src/video/webgl/utils/uniforms.js +0 -84
- package/src/video/webgl/webgl_renderer.js +0 -1237
|
@@ -1,872 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* melonJS Game Engine - v17.4.0
|
|
3
|
-
* http://www.melonjs.org
|
|
4
|
-
* melonjs is licensed under the MIT License.
|
|
5
|
-
* http://www.opensource.org/licenses/mit-license
|
|
6
|
-
* @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
-
*/
|
|
8
|
-
import { getParent } from '../video/video.js';
|
|
9
|
-
import save from './save.js';
|
|
10
|
-
import { emit, BLUR, FOCUS } from './event.js';
|
|
11
|
-
import { prefixed } from '../utils/agent.js';
|
|
12
|
-
import { DOMContentLoaded } from './dom.js';
|
|
13
|
-
import * as platform$1 from './platform.js';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* device type and capabilities
|
|
17
|
-
* @namespace device
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
let accelInitialized = false;
|
|
21
|
-
let deviceOrientationInitialized = false;
|
|
22
|
-
// swipe utility fn & flag
|
|
23
|
-
let swipeEnabled = true;
|
|
24
|
-
// a cache DOMRect object
|
|
25
|
-
let domRect = {left: 0, top: 0, x: 0, y: 0, width: 0, height: 0, right: 0, bottom: 0};
|
|
26
|
-
|
|
27
|
-
// a list of supported videoCodecs;
|
|
28
|
-
let videoCodecs;
|
|
29
|
-
|
|
30
|
-
// internal flag to avoid rechecking for support
|
|
31
|
-
let WebGLSupport = -1;
|
|
32
|
-
|
|
33
|
-
function disableSwipeFn(e) {
|
|
34
|
-
e.preventDefault();
|
|
35
|
-
if (typeof globalThis.scroll === "function") {
|
|
36
|
-
globalThis.scroll(0, 0);
|
|
37
|
-
}
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function hasLocalStorage() {
|
|
42
|
-
try {
|
|
43
|
-
return !!globalThis.localStorage;
|
|
44
|
-
} catch {
|
|
45
|
-
// the above generates an exception when cookies are blocked
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function hasOffscreenCanvas() {
|
|
51
|
-
try {
|
|
52
|
-
// some browser (e.g. Safari) implements WebGL1 and WebGL2 contexts only
|
|
53
|
-
// https://bugzilla.mozilla.org/show_bug.cgi?id=801176
|
|
54
|
-
return (typeof globalThis.OffscreenCanvas !== "undefined") && ((new globalThis.OffscreenCanvas(0, 0).getContext("2d")) !== null);
|
|
55
|
-
} catch {
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* used by [un]watchAccelerometer()
|
|
62
|
-
* @ignore
|
|
63
|
-
*/
|
|
64
|
-
function onDeviceMotion(e) {
|
|
65
|
-
// Accelerometer information
|
|
66
|
-
accelerationX = e.accelerationIncludingGravity.x;
|
|
67
|
-
accelerationY = e.accelerationIncludingGravity.y;
|
|
68
|
-
accelerationZ = e.accelerationIncludingGravity.z;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* used by [un]watchDeviceOrientation()
|
|
73
|
-
* @ignore
|
|
74
|
-
*/
|
|
75
|
-
function onDeviceRotate(e) {
|
|
76
|
-
gamma = e.gamma;
|
|
77
|
-
beta = e.beta;
|
|
78
|
-
alpha = e.alpha;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* the device platform type
|
|
83
|
-
* @memberof device
|
|
84
|
-
* @readonly
|
|
85
|
-
* @type {device.platform}
|
|
86
|
-
*/
|
|
87
|
-
let platform = platform$1;
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* True if the browser supports Touch Events
|
|
91
|
-
* @memberof device
|
|
92
|
-
* @type {boolean}
|
|
93
|
-
* @readonly
|
|
94
|
-
*/
|
|
95
|
-
const touchEvent = !!("ontouchstart" in globalThis);
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* True if the browser supports Pointer Events
|
|
99
|
-
* @memberof device
|
|
100
|
-
* @type {boolean}
|
|
101
|
-
* @readonly
|
|
102
|
-
*/
|
|
103
|
-
const pointerEvent = !!globalThis.PointerEvent;
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Touch capabilities (support either Touch or Pointer events)
|
|
107
|
-
* @memberof device
|
|
108
|
-
* @type {boolean}
|
|
109
|
-
* @readonly
|
|
110
|
-
*/
|
|
111
|
-
const touch = touchEvent || (pointerEvent && globalThis.navigator.maxTouchPoints > 0);
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* the maximum number of simultaneous touch contact points are supported by the current device.
|
|
115
|
-
* @memberof device
|
|
116
|
-
* @type {number}
|
|
117
|
-
* @readonly
|
|
118
|
-
* @example
|
|
119
|
-
* if (me.device.maxTouchPoints > 1) {
|
|
120
|
-
* // device supports multi-touch
|
|
121
|
-
* }
|
|
122
|
-
*/
|
|
123
|
-
const maxTouchPoints = touch ? (pointerEvent ? globalThis.navigator.maxTouchPoints || 1 : 10) : 1;
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* W3C standard wheel events
|
|
127
|
-
* @memberof device
|
|
128
|
-
* @type {boolean}
|
|
129
|
-
* @readonly
|
|
130
|
-
*/
|
|
131
|
-
const wheel = typeof globalThis.document !== "undefined" && "onwheel" in globalThis.document.createElement("div");
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Browser pointerlock api support
|
|
136
|
-
* @memberof device
|
|
137
|
-
* @type {boolean}
|
|
138
|
-
* @readonly
|
|
139
|
-
*/
|
|
140
|
-
const hasPointerLockSupport = typeof globalThis.document !== "undefined" && typeof globalThis.document.pointerLockElement !== "undefined";
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Browser device orientation
|
|
144
|
-
* @memberof device
|
|
145
|
-
* @readonly
|
|
146
|
-
* @type {boolean}
|
|
147
|
-
*/
|
|
148
|
-
const hasDeviceOrientation = !!globalThis.DeviceOrientationEvent;
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Supports the ScreenOrientation API
|
|
152
|
-
* @memberof device
|
|
153
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/ScreenOrientation/onchange
|
|
154
|
-
* @type {boolean}
|
|
155
|
-
* @readonly
|
|
156
|
-
*/
|
|
157
|
-
const screenOrientation = (typeof screen !== "undefined") && (typeof screen.orientation !== "undefined");
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Browser accelerometer capabilities
|
|
161
|
-
* @memberof device
|
|
162
|
-
* @readonly
|
|
163
|
-
* @type {boolean}
|
|
164
|
-
*/
|
|
165
|
-
const hasAccelerometer = !!globalThis.DeviceMotionEvent;
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Browser full screen support
|
|
169
|
-
* @memberof device
|
|
170
|
-
* @type {boolean}
|
|
171
|
-
* @readonly
|
|
172
|
-
*/
|
|
173
|
-
const hasFullscreenSupport = typeof globalThis.document !== "undefined" && (prefixed("fullscreenEnabled", globalThis.document) || globalThis.document.mozFullScreenEnabled);
|
|
174
|
-
|
|
175
|
-
if (hasFullscreenSupport === true) {
|
|
176
|
-
globalThis.document.exitFullscreen = prefixed("cancelFullScreen", globalThis.document) || prefixed("exitFullscreen", globalThis.document);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* Device WebAudio Support
|
|
181
|
-
* @memberof device
|
|
182
|
-
* @type {boolean}
|
|
183
|
-
* @readonly
|
|
184
|
-
*/
|
|
185
|
-
const hasWebAudio = !!(globalThis.AudioContext || globalThis.webkitAudioContext);
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Device HTML5Audio Support
|
|
189
|
-
* @memberof device
|
|
190
|
-
* @type {boolean}
|
|
191
|
-
* @readonly
|
|
192
|
-
*/
|
|
193
|
-
const hasHTML5Audio = (typeof globalThis.Audio !== "undefined");
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Returns true if the browser/device has audio capabilities.
|
|
197
|
-
* @memberof device
|
|
198
|
-
* @type {boolean}
|
|
199
|
-
* @readonly
|
|
200
|
-
*/
|
|
201
|
-
const sound = hasWebAudio || hasHTML5Audio;
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Device Video Support
|
|
206
|
-
* @memberof device
|
|
207
|
-
* @type {boolean}
|
|
208
|
-
* @readonly
|
|
209
|
-
*/
|
|
210
|
-
const hasVideo = typeof globalThis.document !== "undefined" && !!globalThis.document.createElement("video").canPlayType;
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* Browser Local Storage capabilities <br>
|
|
215
|
-
* (this flag will be set to false if cookies are blocked)
|
|
216
|
-
* @memberof device
|
|
217
|
-
* @readonly
|
|
218
|
-
* @type {boolean}
|
|
219
|
-
*/
|
|
220
|
-
const localStorage = hasLocalStorage();
|
|
221
|
-
|
|
222
|
-
/**
|
|
223
|
-
* equals to true if the device browser supports OffScreenCanvas.
|
|
224
|
-
* @memberof device
|
|
225
|
-
* @type {boolean}
|
|
226
|
-
* @readonly
|
|
227
|
-
*/
|
|
228
|
-
const offscreenCanvas = hasOffscreenCanvas();
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Browser Base64 decoding capability
|
|
232
|
-
* @memberof device
|
|
233
|
-
* @type {boolean}
|
|
234
|
-
* @readonly
|
|
235
|
-
*/
|
|
236
|
-
const nativeBase64 = (typeof(globalThis.atob) === "function");
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* a string representing the preferred language of the user, usually the language of the browser UI.
|
|
240
|
-
* (will default to "en" if the information is not available)
|
|
241
|
-
* @memberof device
|
|
242
|
-
* @type {string}
|
|
243
|
-
* @readonly
|
|
244
|
-
* @see http://www.w3schools.com/tags/ref_language_codes.asp
|
|
245
|
-
*/
|
|
246
|
-
const language = typeof globalThis.navigator !== "undefined" ? globalThis.navigator.language || globalThis.navigator.browserLanguage || globalThis.navigator.userLanguage || "en" : "en";
|
|
247
|
-
|
|
248
|
-
/**
|
|
249
|
-
* Ratio of the resolution in physical pixels to the resolution in CSS pixels for the current display device.
|
|
250
|
-
* @memberof device
|
|
251
|
-
* @type {number}
|
|
252
|
-
* @readonly
|
|
253
|
-
*/
|
|
254
|
-
const devicePixelRatio = globalThis.devicePixelRatio || 1;
|
|
255
|
-
|
|
256
|
-
/**
|
|
257
|
-
* equals to true if a mobile device.
|
|
258
|
-
* (Android | iPhone | iPad | iPod | BlackBerry | Windows Phone | Kindle)
|
|
259
|
-
* @memberof device
|
|
260
|
-
* @type {boolean}
|
|
261
|
-
* @readonly
|
|
262
|
-
*/
|
|
263
|
-
const isMobile = platform.isMobile;
|
|
264
|
-
|
|
265
|
-
/**
|
|
266
|
-
* contains the g-force acceleration along the x-axis.
|
|
267
|
-
* @memberof device
|
|
268
|
-
* @type {number}
|
|
269
|
-
* @readonly
|
|
270
|
-
* @see device.watchAccelerometer
|
|
271
|
-
*/
|
|
272
|
-
let accelerationX = 0;
|
|
273
|
-
|
|
274
|
-
/**
|
|
275
|
-
* contains the g-force acceleration along the y-axis.
|
|
276
|
-
* @memberof device
|
|
277
|
-
* @type {number}
|
|
278
|
-
* @readonly
|
|
279
|
-
* @see device.watchAccelerometer
|
|
280
|
-
*/
|
|
281
|
-
let accelerationY = 0;
|
|
282
|
-
|
|
283
|
-
/**
|
|
284
|
-
* contains the g-force acceleration along the z-axis.
|
|
285
|
-
* @memberof device
|
|
286
|
-
* @type {number}
|
|
287
|
-
* @readonly
|
|
288
|
-
* @see device.watchAccelerometer
|
|
289
|
-
*/
|
|
290
|
-
let accelerationZ = 0;
|
|
291
|
-
|
|
292
|
-
/**
|
|
293
|
-
* Device orientation Gamma property. Gives angle on tilting a portrait held phone left or right
|
|
294
|
-
* @memberof device
|
|
295
|
-
* @type {number}
|
|
296
|
-
* @readonly
|
|
297
|
-
* @see device.watchDeviceOrientation
|
|
298
|
-
*/
|
|
299
|
-
let gamma = 0;
|
|
300
|
-
|
|
301
|
-
/**
|
|
302
|
-
* Device orientation Beta property. Gives angle on tilting a portrait held phone forward or backward
|
|
303
|
-
* @memberof device
|
|
304
|
-
* @type {number}
|
|
305
|
-
* @readonly
|
|
306
|
-
* @see device.watchDeviceOrientation
|
|
307
|
-
*/
|
|
308
|
-
let beta = 0;
|
|
309
|
-
|
|
310
|
-
/**
|
|
311
|
-
* Device orientation Alpha property. Gives angle based on the rotation of the phone around its z axis.
|
|
312
|
-
* The z-axis is perpendicular to the phone, facing out from the center of the screen.
|
|
313
|
-
* @memberof device
|
|
314
|
-
* @type {number}
|
|
315
|
-
* @readonly
|
|
316
|
-
* @see device.watchDeviceOrientation
|
|
317
|
-
*/
|
|
318
|
-
let alpha = 0;
|
|
319
|
-
|
|
320
|
-
/**
|
|
321
|
-
* Specify whether to pause the game when losing focus
|
|
322
|
-
* @memberof device
|
|
323
|
-
* @deprecated since 15.4.0
|
|
324
|
-
* @see Application.pauseOnBlur
|
|
325
|
-
* @type {boolean}
|
|
326
|
-
* @default true
|
|
327
|
-
*/
|
|
328
|
-
let pauseOnBlur = true;
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* Specify whether to unpause the game when gaining focus
|
|
332
|
-
* @memberof device
|
|
333
|
-
* @deprecated since 15.4.0
|
|
334
|
-
* @see Application.resumeOnFocus
|
|
335
|
-
* @type {boolean}
|
|
336
|
-
* @default true
|
|
337
|
-
*/
|
|
338
|
-
let resumeOnFocus = true;
|
|
339
|
-
|
|
340
|
-
/**
|
|
341
|
-
* Specify whether to stop the game when losing focus or not.
|
|
342
|
-
* The engine restarts on focus if this is enabled.
|
|
343
|
-
* @memberof device
|
|
344
|
-
* @deprecated since 15.4.0
|
|
345
|
-
* @see Application.stopOnBlur
|
|
346
|
-
* @type {boolean}
|
|
347
|
-
* @default false
|
|
348
|
-
*/
|
|
349
|
-
let stopOnBlur = false;
|
|
350
|
-
|
|
351
|
-
/**
|
|
352
|
-
* Specify whether to automatically bring the window to the front
|
|
353
|
-
* @memberof device
|
|
354
|
-
* @type {boolean}
|
|
355
|
-
* @default true
|
|
356
|
-
*/
|
|
357
|
-
let autoFocus = true;
|
|
358
|
-
|
|
359
|
-
/**
|
|
360
|
-
* specify a function to execute when the Device is fully loaded and ready
|
|
361
|
-
* @memberof device
|
|
362
|
-
* @param {Function} fn - the function to be executed
|
|
363
|
-
* @example
|
|
364
|
-
* // small game skeleton
|
|
365
|
-
* let game = {
|
|
366
|
-
* // called by the me.device.onReady function
|
|
367
|
-
* onload = function () {
|
|
368
|
-
* // init video
|
|
369
|
-
* if (!me.video.init('screen', 640, 480, true)) {
|
|
370
|
-
* alert("Sorry but your browser does not support html 5 canvas.");
|
|
371
|
-
* return;
|
|
372
|
-
* }
|
|
373
|
-
*
|
|
374
|
-
* // initialize the "audio"
|
|
375
|
-
* me.audio.init("mp3,ogg");
|
|
376
|
-
*
|
|
377
|
-
* // set callback for ressources loaded event
|
|
378
|
-
* me.loader.onload = this.loaded.bind(this);
|
|
379
|
-
*
|
|
380
|
-
* // set all ressources to be loaded
|
|
381
|
-
* me.loader.preload(game.assets);
|
|
382
|
-
*
|
|
383
|
-
* // load everything & display a loading screen
|
|
384
|
-
* me.state.change(me.state.LOADING);
|
|
385
|
-
* };
|
|
386
|
-
*
|
|
387
|
-
* // callback when everything is loaded
|
|
388
|
-
* loaded = function () {
|
|
389
|
-
* // define stuff
|
|
390
|
-
* // ....
|
|
391
|
-
*
|
|
392
|
-
* // change to the menu screen
|
|
393
|
-
* me.state.change(me.state.PLAY);
|
|
394
|
-
* }
|
|
395
|
-
* }; // game
|
|
396
|
-
*
|
|
397
|
-
* // "bootstrap"
|
|
398
|
-
* me.device.onReady(function () {
|
|
399
|
-
* game.onload();
|
|
400
|
-
* });
|
|
401
|
-
*/
|
|
402
|
-
function onReady(fn) {
|
|
403
|
-
// register on blur/focus and visibility event handlers
|
|
404
|
-
if (typeof globalThis.addEventListener === "function") {
|
|
405
|
-
// set pause/stop action on losing focus
|
|
406
|
-
globalThis.addEventListener("blur", () => {
|
|
407
|
-
emit(BLUR);
|
|
408
|
-
}, false);
|
|
409
|
-
// set restart/resume action on gaining focus
|
|
410
|
-
globalThis.addEventListener("focus", () => {
|
|
411
|
-
emit(FOCUS);
|
|
412
|
-
// force focus if autofocus is on
|
|
413
|
-
{
|
|
414
|
-
focus();
|
|
415
|
-
}
|
|
416
|
-
}, false);
|
|
417
|
-
}
|
|
418
|
-
if (typeof globalThis.document !== "undefined") {
|
|
419
|
-
if (typeof globalThis.document.addEventListener === "function") {
|
|
420
|
-
// register on the visibilitychange event if supported
|
|
421
|
-
globalThis.document.addEventListener("visibilitychange", () => {
|
|
422
|
-
if (globalThis.document.visibilityState === "visible") {
|
|
423
|
-
emit(FOCUS);
|
|
424
|
-
// force focus if autofocus is on
|
|
425
|
-
{
|
|
426
|
-
focus();
|
|
427
|
-
}
|
|
428
|
-
} else {
|
|
429
|
-
emit(BLUR);
|
|
430
|
-
}
|
|
431
|
-
}, false);
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
// call the supplied function
|
|
435
|
-
DOMContentLoaded(fn);
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
/**
|
|
439
|
-
* enable/disable swipe on WebView.
|
|
440
|
-
* @memberof device
|
|
441
|
-
* @param {boolean} [enable=true] - enable or disable swipe.
|
|
442
|
-
*/
|
|
443
|
-
function enableSwipe(enable) {
|
|
444
|
-
let moveEvent = pointerEvent ? "pointermove" : (touchEvent ? "touchmove" : "mousemove");
|
|
445
|
-
if (enable !== false) {
|
|
446
|
-
if (swipeEnabled === false) {
|
|
447
|
-
globalThis.document.removeEventListener(moveEvent, disableSwipeFn);
|
|
448
|
-
swipeEnabled = true;
|
|
449
|
-
}
|
|
450
|
-
} else if (swipeEnabled === true) {
|
|
451
|
-
globalThis.document.addEventListener(moveEvent, disableSwipeFn, { passive: false });
|
|
452
|
-
swipeEnabled = false;
|
|
453
|
-
}
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
/**
|
|
457
|
-
* Returns true if the browser/device is in full screen mode.
|
|
458
|
-
* @memberof device
|
|
459
|
-
* @returns {boolean}
|
|
460
|
-
*/
|
|
461
|
-
function isFullscreen() {
|
|
462
|
-
if (hasFullscreenSupport) {
|
|
463
|
-
return !!(prefixed("fullscreenElement", globalThis.document) || globalThis.document.mozFullScreenElement);
|
|
464
|
-
} else {
|
|
465
|
-
return false;
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
/**
|
|
470
|
-
* Triggers a fullscreen request. Requires fullscreen support from the browser/device.
|
|
471
|
-
* @memberof device
|
|
472
|
-
* @param {Element} [element] - the element to be set in full-screen mode.
|
|
473
|
-
* @example
|
|
474
|
-
* // add a keyboard shortcut to toggle Fullscreen mode on/off
|
|
475
|
-
* me.input.bindKey(me.input.KEY.F, "toggleFullscreen");
|
|
476
|
-
* me.event.on(me.event.KEYDOWN, function (action, keyCode, edge) {
|
|
477
|
-
* // toggle fullscreen on/off
|
|
478
|
-
* if (action === "toggleFullscreen") {
|
|
479
|
-
* me.device.requestFullscreen();
|
|
480
|
-
* } else {
|
|
481
|
-
* me.device.exitFullscreen();
|
|
482
|
-
* }
|
|
483
|
-
* });
|
|
484
|
-
*/
|
|
485
|
-
function requestFullscreen(element) {
|
|
486
|
-
if (hasFullscreenSupport && !isFullscreen()) {
|
|
487
|
-
element = element || getParent();
|
|
488
|
-
element.requestFullscreen = prefixed("requestFullscreen", element) || element.mozRequestFullScreen;
|
|
489
|
-
element.requestFullscreen();
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
/**
|
|
494
|
-
* Exit fullscreen mode. Requires fullscreen support from the browser/device.
|
|
495
|
-
* @memberof device
|
|
496
|
-
*/
|
|
497
|
-
function exitFullscreen() {
|
|
498
|
-
if (hasFullscreenSupport && isFullscreen()) {
|
|
499
|
-
globalThis.document.exitFullscreen();
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
/**
|
|
504
|
-
* Return a string representing the orientation of the device screen.
|
|
505
|
-
* It can be "any", "natural", "landscape", "portrait", "portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"
|
|
506
|
-
* @memberof device
|
|
507
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/Screen/orientation
|
|
508
|
-
* @returns {string} the screen orientation
|
|
509
|
-
*/
|
|
510
|
-
function getScreenOrientation() {
|
|
511
|
-
const PORTRAIT = "portrait";
|
|
512
|
-
const LANDSCAPE = "landscape";
|
|
513
|
-
|
|
514
|
-
let screen = globalThis.screen;
|
|
515
|
-
|
|
516
|
-
// first try using "standard" values
|
|
517
|
-
if (screenOrientation === true) {
|
|
518
|
-
let orientation = prefixed("orientation", screen);
|
|
519
|
-
if (typeof orientation !== "undefined" && typeof orientation.type === "string") {
|
|
520
|
-
// Screen Orientation API specification
|
|
521
|
-
return orientation.type;
|
|
522
|
-
} else if (typeof orientation === "string") {
|
|
523
|
-
// moz/ms-orientation are strings
|
|
524
|
-
return orientation;
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
// check using the deprecated API
|
|
529
|
-
if (typeof globalThis.orientation === "number") {
|
|
530
|
-
return (Math.abs(globalThis.orientation) === 90) ? LANDSCAPE : PORTRAIT;
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
// fallback to window size check
|
|
534
|
-
return (globalThis.outerWidth > globalThis.outerHeight) ? LANDSCAPE : PORTRAIT;
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
/**
|
|
538
|
-
* locks the device screen into the specified orientation.<br>
|
|
539
|
-
* This method only works for installed Web apps or for Web pages in full-screen mode.
|
|
540
|
-
* @memberof device
|
|
541
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/Screen/lockOrientation
|
|
542
|
-
* @param {string|string[]} orientation - The orientation into which to lock the screen.
|
|
543
|
-
* @returns {boolean} true if the orientation was unsuccessfully locked
|
|
544
|
-
*/
|
|
545
|
-
function lockOrientation(orientation) {
|
|
546
|
-
let screen = globalThis.screen;
|
|
547
|
-
if (typeof screen !== "undefined") {
|
|
548
|
-
let _lockOrientation = prefixed("lockOrientation", screen);
|
|
549
|
-
if (typeof _lockOrientation !== "undefined") {
|
|
550
|
-
return _lockOrientation(orientation);
|
|
551
|
-
}
|
|
552
|
-
}
|
|
553
|
-
return false;
|
|
554
|
-
}
|
|
555
|
-
|
|
556
|
-
/**
|
|
557
|
-
* unlocks the device screen into the specified orientation.<br>
|
|
558
|
-
* This method only works for installed Web apps or for Web pages in full-screen mode.
|
|
559
|
-
* @memberof device
|
|
560
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/Screen/lockOrientation
|
|
561
|
-
* @returns {boolean} true if the orientation was unsuccessfully unlocked
|
|
562
|
-
*/
|
|
563
|
-
function unlockOrientation() {
|
|
564
|
-
let screen = globalThis.screen;
|
|
565
|
-
if (typeof screen !== "undefined") {
|
|
566
|
-
let _unlockOrientation = prefixed("unlockOrientation", screen);
|
|
567
|
-
if (typeof _unlockOrientation !== "undefined") {
|
|
568
|
-
return _unlockOrientation();
|
|
569
|
-
}
|
|
570
|
-
}
|
|
571
|
-
return false;
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
/**
|
|
575
|
-
* return true if the device screen orientation is in Portrait mode
|
|
576
|
-
* @memberof device
|
|
577
|
-
* @returns {boolean}
|
|
578
|
-
*/
|
|
579
|
-
function isPortrait() {
|
|
580
|
-
return getScreenOrientation().includes("portrait");
|
|
581
|
-
}
|
|
582
|
-
|
|
583
|
-
/**
|
|
584
|
-
* return true if the device screen orientation is in Portrait mode
|
|
585
|
-
* @memberof device
|
|
586
|
-
* @returns {boolean}
|
|
587
|
-
*/
|
|
588
|
-
function isLandscape() {
|
|
589
|
-
return getScreenOrientation().includes("landscape");
|
|
590
|
-
}
|
|
591
|
-
|
|
592
|
-
/**
|
|
593
|
-
* return the device storage
|
|
594
|
-
* @memberof device
|
|
595
|
-
* @see save
|
|
596
|
-
* @param {string} [type="local"]
|
|
597
|
-
* @returns {object} a reference to the device storage
|
|
598
|
-
*/
|
|
599
|
-
function getStorage(type = "local") {
|
|
600
|
-
switch (type) {
|
|
601
|
-
case "local" :
|
|
602
|
-
return save;
|
|
603
|
-
|
|
604
|
-
default :
|
|
605
|
-
throw new Error("storage type " + type + " not supported");
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
/**
|
|
610
|
-
* return the parent DOM element for the given parent name or HTMLElement object
|
|
611
|
-
* @memberof device
|
|
612
|
-
* @param {string|HTMLElement} element - the parent element name or a HTMLElement object
|
|
613
|
-
* @returns {HTMLElement} the parent Element
|
|
614
|
-
*/
|
|
615
|
-
function getParentElement(element) {
|
|
616
|
-
let target = getElement(element);
|
|
617
|
-
|
|
618
|
-
if (target.parentNode !== null) {
|
|
619
|
-
target = target.parentNode;
|
|
620
|
-
}
|
|
621
|
-
|
|
622
|
-
return target;
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
/**
|
|
626
|
-
* return the DOM element for the given element name or HTMLElement object
|
|
627
|
-
* @memberof device
|
|
628
|
-
* @param {string|HTMLElement} element - the parent element name or a HTMLElement object
|
|
629
|
-
* @returns {HTMLElement} the corresponding DOM Element or null if not existing
|
|
630
|
-
*/
|
|
631
|
-
function getElement(element) {
|
|
632
|
-
let target = null;
|
|
633
|
-
|
|
634
|
-
if (element !== "undefined") {
|
|
635
|
-
if (typeof element === "string") {
|
|
636
|
-
target = globalThis.document.getElementById(element);
|
|
637
|
-
} else if (typeof element === "object" && element.nodeType === Node.ELEMENT_NODE) {
|
|
638
|
-
target = element;
|
|
639
|
-
}
|
|
640
|
-
}
|
|
641
|
-
|
|
642
|
-
// fallback, if invalid target or non HTMLElement object
|
|
643
|
-
if (!target) {
|
|
644
|
-
//default to document.body
|
|
645
|
-
target = globalThis.document.body;
|
|
646
|
-
}
|
|
647
|
-
|
|
648
|
-
return target;
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
/**
|
|
652
|
-
* returns the size of the given HTMLElement and its position relative to the viewport
|
|
653
|
-
* <br><img src="images/element-box-diagram.png"/>
|
|
654
|
-
* @memberof device
|
|
655
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/DOMRect
|
|
656
|
-
* @param {string|HTMLElement} element - an HTMLElement object
|
|
657
|
-
* @returns {DOMRect} the size and position of the element relatively to the viewport
|
|
658
|
-
*/
|
|
659
|
-
function getElementBounds(element) {
|
|
660
|
-
if (typeof element === "object" && element !== globalThis.document.body && typeof element.getBoundingClientRect !== "undefined") {
|
|
661
|
-
return element.getBoundingClientRect();
|
|
662
|
-
} else {
|
|
663
|
-
domRect.width = domRect.right = globalThis.innerWidth;
|
|
664
|
-
domRect.height = domRect.bottom = globalThis.innerHeight;
|
|
665
|
-
return domRect;
|
|
666
|
-
}
|
|
667
|
-
}
|
|
668
|
-
|
|
669
|
-
/**
|
|
670
|
-
* returns the size of the given HTMLElement Parent and its position relative to the viewport
|
|
671
|
-
* <br><img src="images/element-box-diagram.png"/>
|
|
672
|
-
* @memberof device
|
|
673
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/DOMRect
|
|
674
|
-
* @param {string|HTMLElement} element - an HTMLElement object
|
|
675
|
-
* @returns {DOMRect} the size and position of the given element parent relative to the viewport
|
|
676
|
-
*/
|
|
677
|
-
function getParentBounds(element) {
|
|
678
|
-
return getElementBounds(getParentElement(element));
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
/**
|
|
682
|
-
* returns true if the device supports WebGL
|
|
683
|
-
* @memberof device
|
|
684
|
-
* @param {object} [options] - context creation options
|
|
685
|
-
* @param {boolean} [options.failIfMajorPerformanceCaveat=true] - If true, the renderer will switch to CANVAS mode if the performances of a WebGL context would be dramatically lower than that of a native application making equivalent OpenGL calls.
|
|
686
|
-
* @returns {boolean} true if WebGL is supported
|
|
687
|
-
*/
|
|
688
|
-
function isWebGLSupported(options) {
|
|
689
|
-
if (WebGLSupport === -1) {
|
|
690
|
-
let _supported = false;
|
|
691
|
-
try {
|
|
692
|
-
let canvas = globalThis.document.createElement("canvas");
|
|
693
|
-
let ctxOptions = {
|
|
694
|
-
stencil: true,
|
|
695
|
-
failIfMajorPerformanceCaveat: options.failIfMajorPerformanceCaveat
|
|
696
|
-
};
|
|
697
|
-
_supported = !! (globalThis.WebGLRenderingContext && (canvas.getContext("webgl", ctxOptions) || canvas.getContext("experimental-webgl", ctxOptions)));
|
|
698
|
-
WebGLSupport = _supported ? 1 : 0;
|
|
699
|
-
} catch {
|
|
700
|
-
WebGLSupport = 0;
|
|
701
|
-
}
|
|
702
|
-
}
|
|
703
|
-
return WebGLSupport === 1;
|
|
704
|
-
}
|
|
705
|
-
|
|
706
|
-
/**
|
|
707
|
-
* Makes a request to bring this device window to the front.
|
|
708
|
-
* @memberof device
|
|
709
|
-
* @example
|
|
710
|
-
* if (clicked) {
|
|
711
|
-
* me.device.focus();
|
|
712
|
-
* }
|
|
713
|
-
*/
|
|
714
|
-
function focus() {
|
|
715
|
-
if (typeof (globalThis.focus) === "function") {
|
|
716
|
-
globalThis.focus();
|
|
717
|
-
}
|
|
718
|
-
}
|
|
719
|
-
|
|
720
|
-
/**
|
|
721
|
-
* Enable monitor of the device accelerator to detect the amount of physical force of acceleration the device is receiving.
|
|
722
|
-
* (one some device a first user gesture will be required before calling this function)
|
|
723
|
-
* @memberof device
|
|
724
|
-
* @see device.accelerationX
|
|
725
|
-
* @see device.accelerationY
|
|
726
|
-
* @see device.accelerationZ
|
|
727
|
-
* @link {http://www.mobilexweb.com/samples/ball.html}
|
|
728
|
-
* @link {http://www.mobilexweb.com/blog/safari-ios-accelerometer-websockets-html5}
|
|
729
|
-
* @returns {boolean} false if not supported or permission not granted by the user
|
|
730
|
-
* @example
|
|
731
|
-
* // try to enable device accelerometer event on user gesture
|
|
732
|
-
* me.input.registerPointerEvent("pointerleave", me.game.viewport, function() {
|
|
733
|
-
* if (me.device.watchAccelerometer() === true) {
|
|
734
|
-
* // Success
|
|
735
|
-
* me.input.releasePointerEvent("pointerleave", me.game.viewport);
|
|
736
|
-
* } else {
|
|
737
|
-
* // ... fail at enabling the device accelerometer event
|
|
738
|
-
* }
|
|
739
|
-
* });
|
|
740
|
-
*/
|
|
741
|
-
function watchAccelerometer() {
|
|
742
|
-
if (hasAccelerometer && !accelInitialized) {
|
|
743
|
-
if (DeviceOrientationEvent && typeof DeviceOrientationEvent.requestPermission === "function") {
|
|
744
|
-
DeviceOrientationEvent.requestPermission()
|
|
745
|
-
.then(response => {
|
|
746
|
-
if (response === "granted") {
|
|
747
|
-
// add a listener for the devicemotion event
|
|
748
|
-
globalThis.addEventListener("devicemotion", onDeviceMotion, false);
|
|
749
|
-
accelInitialized = true;
|
|
750
|
-
}
|
|
751
|
-
}).catch(console.error);
|
|
752
|
-
} else {
|
|
753
|
-
// add a listener for the devicemotion event
|
|
754
|
-
globalThis.addEventListener("devicemotion", onDeviceMotion, false);
|
|
755
|
-
accelInitialized = true;
|
|
756
|
-
}
|
|
757
|
-
}
|
|
758
|
-
return accelInitialized;
|
|
759
|
-
}
|
|
760
|
-
|
|
761
|
-
/**
|
|
762
|
-
* unwatch Accelerometor event
|
|
763
|
-
* @memberof device
|
|
764
|
-
*/
|
|
765
|
-
function unwatchAccelerometer() {
|
|
766
|
-
if (accelInitialized) {
|
|
767
|
-
// remove the listener for the devicemotion event
|
|
768
|
-
globalThis.removeEventListener("devicemotion", onDeviceMotion, false);
|
|
769
|
-
accelInitialized = false;
|
|
770
|
-
}
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
/**
|
|
774
|
-
* Enable monitor of the device orientation to detect the current orientation of the device as compared to the Earth coordinate frame.
|
|
775
|
-
* (one some device a first user gesture will be required before calling this function)
|
|
776
|
-
* @memberof device
|
|
777
|
-
* @see device.alpha
|
|
778
|
-
* @see device.beta
|
|
779
|
-
* @see device.gamma
|
|
780
|
-
* @returns {boolean} false if not supported or permission not granted by the user
|
|
781
|
-
* @example
|
|
782
|
-
* // try to enable device orientation event on user gesture
|
|
783
|
-
* me.input.registerPointerEvent("pointerleave", me.game.viewport, function() {
|
|
784
|
-
* if (me.device.watchDeviceOrientation() === true) {
|
|
785
|
-
* // Success
|
|
786
|
-
* me.input.releasePointerEvent("pointerleave", me.game.viewport);
|
|
787
|
-
* } else {
|
|
788
|
-
* // ... fail at enabling the device orientation event
|
|
789
|
-
* }
|
|
790
|
-
* });
|
|
791
|
-
*/
|
|
792
|
-
function watchDeviceOrientation() {
|
|
793
|
-
if (hasDeviceOrientation && !deviceOrientationInitialized) {
|
|
794
|
-
if (typeof DeviceOrientationEvent.requestPermission === "function") {
|
|
795
|
-
DeviceOrientationEvent.requestPermission()
|
|
796
|
-
.then(response => {
|
|
797
|
-
if (response === "granted") {
|
|
798
|
-
globalThis.addEventListener("deviceorientation", onDeviceRotate, false);
|
|
799
|
-
deviceOrientationInitialized = true;
|
|
800
|
-
}
|
|
801
|
-
}).catch(console.error);
|
|
802
|
-
} else {
|
|
803
|
-
globalThis.addEventListener("deviceorientation", onDeviceRotate, false);
|
|
804
|
-
deviceOrientationInitialized = true;
|
|
805
|
-
}
|
|
806
|
-
}
|
|
807
|
-
return deviceOrientationInitialized;
|
|
808
|
-
}
|
|
809
|
-
|
|
810
|
-
/**
|
|
811
|
-
* unwatch Device orientation event
|
|
812
|
-
* @memberof device
|
|
813
|
-
*/
|
|
814
|
-
function unwatchDeviceOrientation() {
|
|
815
|
-
if (deviceOrientationInitialized) {
|
|
816
|
-
globalThis.removeEventListener("deviceorientation", onDeviceRotate, false);
|
|
817
|
-
deviceOrientationInitialized = false;
|
|
818
|
-
}
|
|
819
|
-
}
|
|
820
|
-
|
|
821
|
-
/**
|
|
822
|
-
* the vibrate method pulses the vibration hardware on the device, <br>
|
|
823
|
-
* If the device doesn't support vibration, this method has no effect. <br>
|
|
824
|
-
* If a vibration pattern is already in progress when this method is called,
|
|
825
|
-
* the previous pattern is halted and the new one begins instead.
|
|
826
|
-
* @memberof device
|
|
827
|
-
* @param {number|number[]} pattern - pattern of vibration and pause intervals
|
|
828
|
-
* @example
|
|
829
|
-
* // vibrate for 1000 ms
|
|
830
|
-
* me.device.vibrate(1000);
|
|
831
|
-
* // or alternatively
|
|
832
|
-
* me.device.vibrate([1000]);
|
|
833
|
-
* // vibrate for 50 ms, be still for 100 ms, and then vibrate for 150 ms:
|
|
834
|
-
* me.device.vibrate([50, 100, 150]);
|
|
835
|
-
* // cancel any existing vibrations
|
|
836
|
-
* me.device.vibrate(0);
|
|
837
|
-
*/
|
|
838
|
-
function vibrate(pattern) {
|
|
839
|
-
if (typeof globalThis.navigator !== "undefined" && typeof globalThis.navigator.vibrate === "function") {
|
|
840
|
-
globalThis.navigator.vibrate(pattern);
|
|
841
|
-
}
|
|
842
|
-
}
|
|
843
|
-
|
|
844
|
-
/**
|
|
845
|
-
* detect if the given video format is supported
|
|
846
|
-
* @memberof device
|
|
847
|
-
* @param {"h264"|"h265"|"ogg"|"mp4"|"m4v"|"webm"|"vp9"|"hls"} codec - the video format to check for support
|
|
848
|
-
* @returns {boolean} return true if the given video format is supported
|
|
849
|
-
*/
|
|
850
|
-
function hasVideoFormat(codec) {
|
|
851
|
-
let result = false;
|
|
852
|
-
if (hasVideo === true) {
|
|
853
|
-
if (typeof videoCodecs === "undefined") {
|
|
854
|
-
// check for support
|
|
855
|
-
const videoElement = globalThis.document.createElement("video");
|
|
856
|
-
videoCodecs = {
|
|
857
|
-
h264:videoElement.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/, ""),
|
|
858
|
-
h265:videoElement.canPlayType('video/mp4; codecs="hev1"').replace(/^no$/, ""),
|
|
859
|
-
ogg:videoElement.canPlayType('video/ogg; codecs="theora"').replace(/^no$/, ""),
|
|
860
|
-
mp4:videoElement.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/, ""),
|
|
861
|
-
m4v:videoElement.canPlayType("video/x-m4v").replace(/^no$/, ""),
|
|
862
|
-
webm:videoElement.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/, ""),
|
|
863
|
-
vp9:videoElement.canPlayType('video/webm; codecs="vp9"').replace(/^no$/, ""),
|
|
864
|
-
hls:videoElement.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/, "")
|
|
865
|
-
};
|
|
866
|
-
}
|
|
867
|
-
result = !!videoCodecs[codec];
|
|
868
|
-
}
|
|
869
|
-
return result;
|
|
870
|
-
}
|
|
871
|
-
|
|
872
|
-
export { accelerationX, accelerationY, accelerationZ, alpha, autoFocus, beta, devicePixelRatio, enableSwipe, exitFullscreen, focus, gamma, getElement, getElementBounds, getParentBounds, getParentElement, getScreenOrientation, getStorage, hasAccelerometer, hasDeviceOrientation, hasFullscreenSupport, hasHTML5Audio, hasPointerLockSupport, hasVideo, hasVideoFormat, hasWebAudio, isFullscreen, isLandscape, isMobile, isPortrait, isWebGLSupported, language, localStorage, lockOrientation, maxTouchPoints, nativeBase64, offscreenCanvas, onDeviceRotate, onReady, pauseOnBlur, platform, pointerEvent, requestFullscreen, resumeOnFocus, screenOrientation, sound, stopOnBlur, touch, touchEvent, unlockOrientation, unwatchAccelerometer, unwatchDeviceOrientation, vibrate, watchAccelerometer, watchDeviceOrientation, wheel };
|