melonjs 14.1.1 → 14.2.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/README.md +11 -7
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
- package/dist/melonjs.mjs/_virtual/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/_virtual/earcut.js +7 -3
- package/dist/melonjs.mjs/_virtual/howler.js +1 -1
- package/dist/melonjs.mjs/_virtual/index.js +1 -1
- package/dist/melonjs.mjs/_virtual/index2.js +7 -3
- package/dist/melonjs.mjs/_virtual/make-built-in.js +10 -0
- package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
- package/dist/melonjs.mjs/_virtual/object-define-property.js +10 -0
- package/dist/melonjs.mjs/_virtual/object-get-own-property-descriptor.js +10 -0
- package/dist/melonjs.mjs/_virtual/object-get-own-property-names.js +10 -0
- package/dist/melonjs.mjs/_virtual/object-get-own-property-symbols.js +10 -0
- package/dist/melonjs.mjs/_virtual/object-property-is-enumerable.js +10 -0
- package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
- package/dist/melonjs.mjs/_virtual/shared.js +10 -0
- package/dist/melonjs.mjs/application/application.js +21 -14
- package/dist/melonjs.mjs/application/resize.js +119 -0
- package/dist/melonjs.mjs/audio/audio.js +1 -1
- package/dist/melonjs.mjs/camera/camera2d.js +1 -1
- package/dist/melonjs.mjs/entity/entity.js +1 -1
- package/dist/melonjs.mjs/game.js +1 -1
- package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
- package/dist/melonjs.mjs/geometries/line.js +1 -1
- package/dist/melonjs.mjs/geometries/path2d.js +3 -3
- package/dist/melonjs.mjs/geometries/point.js +1 -1
- package/dist/melonjs.mjs/geometries/poly.js +3 -3
- package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
- package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
- package/dist/melonjs.mjs/index.js +3 -34
- package/dist/melonjs.mjs/input/gamepad.js +1 -1
- package/dist/melonjs.mjs/input/input.js +1 -1
- package/dist/melonjs.mjs/input/keyboard.js +1 -1
- package/dist/melonjs.mjs/input/pointer.js +1 -1
- package/dist/melonjs.mjs/input/pointerevent.js +6 -7
- package/dist/melonjs.mjs/lang/deprecated.js +1 -1
- package/dist/melonjs.mjs/level/level.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
- package/dist/melonjs.mjs/loader/loader.js +1 -1
- package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
- package/dist/melonjs.mjs/math/color.js +1 -1
- package/dist/melonjs.mjs/math/math.js +1 -1
- package/dist/melonjs.mjs/math/matrix2.js +1 -1
- package/dist/melonjs.mjs/math/matrix3.js +1 -1
- package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
- package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
- package/dist/melonjs.mjs/math/vector2.js +1 -1
- package/dist/melonjs.mjs/math/vector3.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +3 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +3 -2
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +3 -2
- package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-end.js +13 -0
- package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-start.js +13 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/a-callable.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/an-object.js +21 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/array-includes.js +45 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/classof-raw.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/classof.js +43 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/copy-constructor-properties.js +32 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/create-non-enumerable-property.js +24 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/create-property-descriptor.js +17 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/define-built-in.js +43 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/define-global-property.js +23 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/descriptors.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/document-all.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/document-create-element.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/engine-user-agent.js +14 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/engine-v8-version.js +39 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/entry-unbind.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/enum-bug-keys.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/export.js +72 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/fails.js +16 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-bind-native.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-call.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-name.js +29 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/function-uncurry-this.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/get-built-in.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/get-method.js +21 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/global.js +25 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/has-own-property.js +23 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/hidden-keys.js +10 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/ie8-dom-define.js +24 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/indexed-object.js +28 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/inspect-source.js +27 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/internal-state.js +88 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-callable.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-forced.js +34 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-null-or-undefined.js +14 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-object.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/is-symbol.js +27 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/length-of-array-like.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/make-built-in.js +68 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/math-trunc.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-define-property.js +58 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-descriptor.js +41 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-names.js +23 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-symbols.js +12 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-is-prototype-of.js +14 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-keys-internal.js +35 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/object-property-is-enumerable.js +23 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/ordinary-to-primitive.js +28 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/own-keys.js +31 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/require-object-coercible.js +21 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared-key.js +21 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared-store.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/shared.js +24 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-end.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-forced.js +28 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-start.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim.js +45 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/symbol-constructor-detection.js +26 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-absolute-index.js +23 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-indexed-object.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-integer-or-infinity.js +20 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-length.js +20 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-object.js +20 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-primitive.js +41 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-property-key.js +21 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-string-tag-support.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/to-string.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/try-to-string.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/uid.js +20 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/use-symbol-as-uid.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/v8-prototype-define-bug.js +24 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/weak-map-basic-detection.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/well-known-symbol.js +41 -0
- package/dist/melonjs.mjs/node_modules/core-js/internals/whitespaces.js +12 -0
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.global-this.js +18 -0
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-end.js +22 -0
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-left.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-right.js +19 -0
- package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-start.js +22 -0
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +4 -5
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +3 -3
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.mjs.js +9 -0
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +12 -0
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +3 -2
- package/dist/melonjs.mjs/particles/emitter.js +1 -1
- package/dist/melonjs.mjs/particles/particle.js +1 -1
- package/dist/melonjs.mjs/particles/settings.js +1 -1
- package/dist/melonjs.mjs/physics/body.js +1 -1
- package/dist/melonjs.mjs/physics/bounds.js +1 -1
- package/dist/melonjs.mjs/physics/collision.js +1 -1
- package/dist/melonjs.mjs/physics/detector.js +1 -5
- package/dist/melonjs.mjs/physics/quadtree.js +1 -1
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +1 -1
- package/dist/melonjs.mjs/physics/world.js +1 -1
- package/dist/melonjs.mjs/plugin/plugin.js +4 -4
- package/dist/melonjs.mjs/polyfill/console.js +18 -0
- package/dist/melonjs.mjs/polyfill/performance.js +27 -0
- package/dist/melonjs.mjs/polyfill/requestAnimationFrame.js +46 -0
- package/dist/melonjs.mjs/polyfill/roundrect.js +242 -0
- package/dist/melonjs.mjs/renderable/collectable.js +1 -1
- package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
- package/dist/melonjs.mjs/renderable/container.js +1 -1
- package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
- package/dist/melonjs.mjs/renderable/imagelayer.js +1 -1
- package/dist/melonjs.mjs/renderable/light2d.js +1 -1
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
- package/dist/melonjs.mjs/renderable/re_container.js +1016 -0
- package/dist/melonjs.mjs/renderable/renderable.js +1 -1
- package/dist/melonjs.mjs/renderable/sprite.js +1 -1
- package/dist/melonjs.mjs/renderable/trigger.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
- package/dist/melonjs.mjs/state/stage.js +1 -1
- package/dist/melonjs.mjs/state/state.js +1 -1
- package/dist/melonjs.mjs/system/device.js +8 -8
- package/dist/melonjs.mjs/system/dom.js +3 -2
- package/dist/melonjs.mjs/system/event.js +1 -1
- package/dist/melonjs.mjs/system/platform.js +1 -1
- package/dist/melonjs.mjs/system/pooling.js +1 -1
- package/dist/melonjs.mjs/system/save.js +1 -1
- package/dist/melonjs.mjs/system/timer.js +1 -1
- package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
- package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
- package/dist/melonjs.mjs/text/glyph.js +1 -1
- package/dist/melonjs.mjs/text/text.js +1 -1
- package/dist/melonjs.mjs/text/textmetrics.js +1 -1
- package/dist/melonjs.mjs/text/textstyle.js +1 -1
- package/dist/melonjs.mjs/tweens/easing.js +1 -1
- package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
- package/dist/melonjs.mjs/tweens/tween.js +1 -1
- package/dist/melonjs.mjs/utils/agent.js +1 -1
- package/dist/melonjs.mjs/utils/array.js +1 -1
- package/dist/melonjs.mjs/utils/file.js +1 -1
- package/dist/melonjs.mjs/utils/function.js +1 -1
- package/dist/melonjs.mjs/utils/string.js +1 -1
- package/dist/melonjs.mjs/utils/utils.js +4 -29
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +1 -1
- package/dist/melonjs.mjs/video/renderer.js +19 -6
- package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
- package/dist/melonjs.mjs/video/texture/cache.js +1 -1
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +20 -1
- package/dist/melonjs.mjs/video/utils/resize.js +116 -0
- package/dist/melonjs.mjs/video/video.js +20 -162
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
- package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
- package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +1 -1
- package/dist/melonjs.module.js +23849 -22262
- package/dist/types/index.d.ts +108 -0
- package/package.json +20 -20
- package/src/application/application.js +20 -13
- package/src/input/pointerevent.js +5 -6
- package/src/physics/detector.js +0 -4
- package/src/plugin/plugin.js +1 -1
- package/src/system/device.js +7 -7
- package/src/system/dom.js +2 -1
- package/src/utils/utils.js +3 -28
- package/src/video/renderer.js +20 -7
- package/src/video/texture/canvas_texture.js +19 -0
- package/src/video/utils/resize.js +107 -0
- package/src/video/video.js +17 -159
- package/dist/melonjs.module.d.ts +0 -13959
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* melonJS Game Engine - v14.1.3
|
|
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 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
+
*/
|
|
8
|
+
import _export from '../internals/export.js';
|
|
9
|
+
import stringTrimStart from '../internals/string-trim-start.js';
|
|
10
|
+
|
|
11
|
+
var $ = _export;
|
|
12
|
+
var trimStart = stringTrimStart;
|
|
13
|
+
|
|
14
|
+
// `String.prototype.trimLeft` method
|
|
15
|
+
// https://tc39.es/ecma262/#sec-string.prototype.trimleft
|
|
16
|
+
// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe
|
|
17
|
+
$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== trimStart }, {
|
|
18
|
+
trimLeft: trimStart
|
|
19
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* melonJS Game Engine - v14.1.3
|
|
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 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
+
*/
|
|
8
|
+
import _export from '../internals/export.js';
|
|
9
|
+
import stringTrimEnd from '../internals/string-trim-end.js';
|
|
10
|
+
|
|
11
|
+
var $ = _export;
|
|
12
|
+
var trimEnd = stringTrimEnd;
|
|
13
|
+
|
|
14
|
+
// `String.prototype.trimRight` method
|
|
15
|
+
// https://tc39.es/ecma262/#sec-string.prototype.trimend
|
|
16
|
+
// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe
|
|
17
|
+
$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== trimEnd }, {
|
|
18
|
+
trimRight: trimEnd
|
|
19
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* melonJS Game Engine - v14.1.3
|
|
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 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
+
*/
|
|
8
|
+
import './es.string.trim-left.js';
|
|
9
|
+
import _export from '../internals/export.js';
|
|
10
|
+
import stringTrimStart from '../internals/string-trim-start.js';
|
|
11
|
+
|
|
12
|
+
// TODO: Remove this line from `core-js@4`
|
|
13
|
+
|
|
14
|
+
var $ = _export;
|
|
15
|
+
var trimStart = stringTrimStart;
|
|
16
|
+
|
|
17
|
+
// `String.prototype.trimStart` method
|
|
18
|
+
// https://tc39.es/ecma262/#sec-string.prototype.trimstart
|
|
19
|
+
// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe
|
|
20
|
+
$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== trimStart }, {
|
|
21
|
+
trimStart: trimStart
|
|
22
|
+
});
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.2.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
6
|
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { __module as earcut$1, exports as earcutExports } from '../../../_virtual/earcut.js';
|
|
9
9
|
|
|
10
10
|
earcut$1.exports = earcut;
|
|
11
|
-
|
|
11
|
+
earcutExports.default = earcut;
|
|
12
12
|
|
|
13
13
|
function earcut(data, holeIndices, dim) {
|
|
14
14
|
|
|
@@ -687,5 +687,4 @@ earcut.flatten = function (data) {
|
|
|
687
687
|
return result;
|
|
688
688
|
};
|
|
689
689
|
|
|
690
|
-
|
|
691
|
-
export { exports as default };
|
|
690
|
+
export { earcutExports as default };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.2.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
6
6
|
* @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { __module as eventemitter3, exports as eventemitter3Exports } from '../../_virtual/index2.js';
|
|
9
9
|
|
|
10
10
|
(function (module) {
|
|
11
11
|
|
|
@@ -345,6 +345,6 @@ import { e as eventemitter3 } from '../../_virtual/index2.js';
|
|
|
345
345
|
}
|
|
346
346
|
} (eventemitter3));
|
|
347
347
|
|
|
348
|
-
var EventEmitter =
|
|
348
|
+
var EventEmitter = eventemitter3Exports;
|
|
349
349
|
|
|
350
350
|
export { EventEmitter as default };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* melonJS Game Engine - v14.1.3
|
|
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 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
+
*/
|
|
8
|
+
import EventEmitter from './index.js';
|
|
9
|
+
export { default as EventEmitter, default } from './index.js';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* melonJS Game Engine - v14.2.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 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
+
*/
|
|
8
|
+
import EventEmitter from './index.js';
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
export { EventEmitter, EventEmitter as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.2.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { commonjsGlobal } from '../../../_virtual/_commonjsHelpers.js';
|
|
9
9
|
import { __exports as howler } from '../../../_virtual/howler.js';
|
|
10
|
-
export { __exports as default } from '../../../_virtual/howler.js';
|
|
11
10
|
|
|
12
11
|
/*!
|
|
13
12
|
* howler.js v2.2.3
|
|
@@ -3239,3 +3238,5 @@ export { __exports as default } from '../../../_virtual/howler.js';
|
|
|
3239
3238
|
};
|
|
3240
3239
|
})();
|
|
3241
3240
|
} (howler));
|
|
3241
|
+
|
|
3242
|
+
export { howler as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.2.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -31,8 +31,6 @@ let globalResponse = new ResponseObject();
|
|
|
31
31
|
/**
|
|
32
32
|
* a function used to determine if two objects should collide (based on both respective objects collision mask and type).<br>
|
|
33
33
|
* you can redefine this function if you need any specific rules over what should collide with what.
|
|
34
|
-
* @name shouldCollide
|
|
35
|
-
* @memberof collision
|
|
36
34
|
* @ignore
|
|
37
35
|
* @param {Renderable} a - a reference to the object A.
|
|
38
36
|
* @param {Renderable} b - a reference to the object B.
|
|
@@ -56,7 +54,6 @@ function shouldCollide(a, b) {
|
|
|
56
54
|
|
|
57
55
|
/**
|
|
58
56
|
* find all the collisions for the specified object
|
|
59
|
-
* @name collisionCheck
|
|
60
57
|
* @ignore
|
|
61
58
|
* @param {Renderable} objA - object to be tested for collision
|
|
62
59
|
* @param {ResponseObject} [response] - a user defined response object that will be populated if they intersect.
|
|
@@ -119,7 +116,6 @@ function collisionCheck(objA, response = globalResponse) {
|
|
|
119
116
|
|
|
120
117
|
/**
|
|
121
118
|
* Checks for object colliding with the given line
|
|
122
|
-
* @name rayCast
|
|
123
119
|
* @ignore
|
|
124
120
|
* @param {Line} line - line to be tested for collision
|
|
125
121
|
* @param {Array.<Renderable>} [result] - a user defined array that will be populated with intersecting physic objects.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v14.
|
|
2
|
+
* melonJS Game Engine - v14.2.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* melonjs is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -24,10 +24,10 @@ class BasePlugin {
|
|
|
24
24
|
* this can be overridden by the plugin
|
|
25
25
|
* @public
|
|
26
26
|
* @type {string}
|
|
27
|
-
* @default "14.
|
|
27
|
+
* @default "14.2.0"
|
|
28
28
|
* @name plugin.Base#version
|
|
29
29
|
*/
|
|
30
|
-
this.version = "14.
|
|
30
|
+
this.version = "14.2.0";
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -129,7 +129,7 @@ var plugin = {
|
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
// compatibility testing
|
|
132
|
-
if (utils.checkVersion(instance.version) > 0) {
|
|
132
|
+
if (utils.checkVersion(instance.version, version) > 0) {
|
|
133
133
|
throw new Error("Plugin version mismatch, expected: " + instance.version + ", got: " + version);
|
|
134
134
|
}
|
|
135
135
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* melonJS Game Engine - v14.1.3
|
|
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 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
+
*/
|
|
8
|
+
if (typeof globalThis !== "undefined") {
|
|
9
|
+
if (typeof globalThis.console === "undefined") {
|
|
10
|
+
globalThis.console = {};
|
|
11
|
+
globalThis.console.log = function() {};
|
|
12
|
+
globalThis.console.assert = function() {};
|
|
13
|
+
globalThis.console.warn = function() {};
|
|
14
|
+
globalThis.console.error = function() {
|
|
15
|
+
alert(Array.prototype.slice.call(arguments).join(", "));
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* melonJS Game Engine - v14.1.3
|
|
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 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
+
*/
|
|
8
|
+
if ("performance" in globalThis === false) {
|
|
9
|
+
globalThis.performance = {};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
Date.now = (Date.now || function () { // thanks IE8
|
|
13
|
+
return new Date().getTime();
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
if ("now" in globalThis.performance === false) {
|
|
17
|
+
|
|
18
|
+
let nowOffset = Date.now();
|
|
19
|
+
|
|
20
|
+
if (performance.timing && performance.timing.navigationStart) {
|
|
21
|
+
nowOffset = performance.timing.navigationStart;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
globalThis.performance.now = function now() {
|
|
25
|
+
return Date.now() - nowOffset;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* melonJS Game Engine - v14.1.3
|
|
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 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
+
*/
|
|
8
|
+
import timer from '../system/timer.js';
|
|
9
|
+
|
|
10
|
+
var lastTime = 0;
|
|
11
|
+
var vendors = ["ms", "moz", "webkit", "o"];
|
|
12
|
+
var x;
|
|
13
|
+
|
|
14
|
+
// standardized functions
|
|
15
|
+
// https://developer.mozilla.org/fr/docs/Web/API/Window/requestAnimationFrame
|
|
16
|
+
var requestAnimationFrame = globalThis.requestAnimationFrame;
|
|
17
|
+
var cancelAnimationFrame = globalThis.cancelAnimationFrame;
|
|
18
|
+
|
|
19
|
+
// get prefixed rAF and cAF is standard one not supported
|
|
20
|
+
for (x = 0; x < vendors.length && !requestAnimationFrame; ++x) {
|
|
21
|
+
requestAnimationFrame = globalThis[vendors[x] + "RequestAnimationFrame"];
|
|
22
|
+
}
|
|
23
|
+
for (x = 0; x < vendors.length && !cancelAnimationFrame; ++x) {
|
|
24
|
+
cancelAnimationFrame = globalThis[vendors[x] + "CancelAnimationFrame"] ||
|
|
25
|
+
globalThis[vendors[x] + "CancelRequestAnimationFrame"];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (!requestAnimationFrame || !cancelAnimationFrame) {
|
|
29
|
+
requestAnimationFrame = function (callback) {
|
|
30
|
+
var currTime = globalThis.performance.now();
|
|
31
|
+
var timeToCall = Math.max(0, (1000 / timer.maxfps) - (currTime - lastTime));
|
|
32
|
+
var id = globalThis.setTimeout(() => {
|
|
33
|
+
callback(currTime + timeToCall);
|
|
34
|
+
}, timeToCall);
|
|
35
|
+
lastTime = currTime + timeToCall;
|
|
36
|
+
return id;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
cancelAnimationFrame = function (id) {
|
|
40
|
+
globalThis.clearTimeout(id);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// put back in global namespace
|
|
44
|
+
globalThis.requestAnimationFrame = requestAnimationFrame;
|
|
45
|
+
globalThis.cancelAnimationFrame = cancelAnimationFrame;
|
|
46
|
+
}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* melonJS Game Engine - v14.1.3
|
|
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 - 2022 Olivier Biot (AltByte Pte Ltd)
|
|
7
|
+
*/
|
|
8
|
+
/*
|
|
9
|
+
* based on https://www.npmjs.com/package/canvas-roundrect-polyfill
|
|
10
|
+
* @version 0.0.1
|
|
11
|
+
*/
|
|
12
|
+
(() => {
|
|
13
|
+
|
|
14
|
+
/** @ignore */
|
|
15
|
+
function roundRect(x, y, w, h, radii) {
|
|
16
|
+
|
|
17
|
+
if (!([x, y, w, h].every((input) => Number.isFinite(input)))) {
|
|
18
|
+
|
|
19
|
+
return;
|
|
20
|
+
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
radii = parseRadiiArgument(radii);
|
|
24
|
+
|
|
25
|
+
let upperLeft, upperRight, lowerRight, lowerLeft;
|
|
26
|
+
|
|
27
|
+
if (radii.length === 4) {
|
|
28
|
+
|
|
29
|
+
upperLeft = toCornerPoint(radii[0]);
|
|
30
|
+
upperRight = toCornerPoint(radii[1]);
|
|
31
|
+
lowerRight = toCornerPoint(radii[2]);
|
|
32
|
+
lowerLeft = toCornerPoint(radii[3]);
|
|
33
|
+
|
|
34
|
+
} else if (radii.length === 3) {
|
|
35
|
+
|
|
36
|
+
upperLeft = toCornerPoint(radii[0]);
|
|
37
|
+
upperRight = toCornerPoint(radii[1]);
|
|
38
|
+
lowerLeft = toCornerPoint(radii[1]);
|
|
39
|
+
lowerRight = toCornerPoint(radii[2]);
|
|
40
|
+
|
|
41
|
+
} else if (radii.length === 2) {
|
|
42
|
+
|
|
43
|
+
upperLeft = toCornerPoint(radii[0]);
|
|
44
|
+
lowerRight = toCornerPoint(radii[0]);
|
|
45
|
+
upperRight = toCornerPoint(radii[1]);
|
|
46
|
+
lowerLeft = toCornerPoint(radii[1]);
|
|
47
|
+
|
|
48
|
+
} else if (radii.length === 1) {
|
|
49
|
+
|
|
50
|
+
upperLeft = toCornerPoint(radii[0]);
|
|
51
|
+
upperRight = toCornerPoint(radii[0]);
|
|
52
|
+
lowerRight = toCornerPoint(radii[0]);
|
|
53
|
+
lowerLeft = toCornerPoint(radii[0]);
|
|
54
|
+
|
|
55
|
+
} else {
|
|
56
|
+
|
|
57
|
+
throw new Error(radii.length + " is not a valid size for radii sequence.");
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const corners = [upperLeft, upperRight, lowerRight, lowerLeft];
|
|
62
|
+
const negativeCorner = corners.find(({x, y}) => x < 0 || y < 0);
|
|
63
|
+
//const negativeValue = negativeCorner?.x < 0 ? negativeCorner.x : negativeCorner?.y
|
|
64
|
+
|
|
65
|
+
if (corners.some(({x, y}) => !Number.isFinite(x) || !Number.isFinite(y))) {
|
|
66
|
+
|
|
67
|
+
return;
|
|
68
|
+
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (negativeCorner) {
|
|
72
|
+
|
|
73
|
+
throw new Error("Radius value " + negativeCorner + " is negative.");
|
|
74
|
+
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
fixOverlappingCorners(corners);
|
|
78
|
+
|
|
79
|
+
if (w < 0 && h < 0) {
|
|
80
|
+
|
|
81
|
+
this.moveTo(x - upperLeft.x, y);
|
|
82
|
+
this.ellipse(x + w + upperRight.x, y - upperRight.y, upperRight.x, upperRight.y, 0, -Math.PI * 1.5, -Math.PI);
|
|
83
|
+
this.ellipse(x + w + lowerRight.x, y + h + lowerRight.y, lowerRight.x, lowerRight.y, 0, -Math.PI, -Math.PI / 2);
|
|
84
|
+
this.ellipse(x - lowerLeft.x, y + h + lowerLeft.y, lowerLeft.x, lowerLeft.y, 0, -Math.PI / 2, 0);
|
|
85
|
+
this.ellipse(x - upperLeft.x, y - upperLeft.y, upperLeft.x, upperLeft.y, 0, 0, -Math.PI / 2);
|
|
86
|
+
|
|
87
|
+
} else if (w < 0) {
|
|
88
|
+
|
|
89
|
+
this.moveTo(x - upperLeft.x, y);
|
|
90
|
+
this.ellipse(x + w + upperRight.x, y + upperRight.y, upperRight.x, upperRight.y, 0, -Math.PI / 2, -Math.PI, 1);
|
|
91
|
+
this.ellipse(x + w + lowerRight.x, y + h - lowerRight.y, lowerRight.x, lowerRight.y, 0, -Math.PI, -Math.PI * 1.5, 1);
|
|
92
|
+
this.ellipse(x - lowerLeft.x, y + h - lowerLeft.y, lowerLeft.x, lowerLeft.y, 0, Math.PI / 2, 0, 1);
|
|
93
|
+
this.ellipse(x - upperLeft.x, y + upperLeft.y, upperLeft.x, upperLeft.y, 0, 0, -Math.PI / 2, 1);
|
|
94
|
+
|
|
95
|
+
} else if (h < 0) {
|
|
96
|
+
|
|
97
|
+
this.moveTo(x + upperLeft.x, y);
|
|
98
|
+
this.ellipse(x + w - upperRight.x, y - upperRight.y, upperRight.x, upperRight.y, 0, Math.PI / 2, 0, 1);
|
|
99
|
+
this.ellipse(x + w - lowerRight.x, y + h + lowerRight.y, lowerRight.x, lowerRight.y, 0, 0, -Math.PI / 2, 1);
|
|
100
|
+
this.ellipse(x + lowerLeft.x, y + h + lowerLeft.y, lowerLeft.x, lowerLeft.y, 0, -Math.PI / 2, -Math.PI, 1);
|
|
101
|
+
this.ellipse(x + upperLeft.x, y - upperLeft.y, upperLeft.x, upperLeft.y, 0, -Math.PI, -Math.PI * 1.5, 1);
|
|
102
|
+
|
|
103
|
+
} else {
|
|
104
|
+
|
|
105
|
+
this.moveTo(x + upperLeft.x, y);
|
|
106
|
+
this.ellipse(x + w - upperRight.x, y + upperRight.y, upperRight.x, upperRight.y, 0, -Math.PI / 2, 0);
|
|
107
|
+
this.ellipse(x + w - lowerRight.x, y + h - lowerRight.y, lowerRight.x, lowerRight.y, 0, 0, Math.PI / 2);
|
|
108
|
+
this.ellipse(x + lowerLeft.x, y + h - lowerLeft.y, lowerLeft.x, lowerLeft.y, 0, Math.PI / 2, Math.PI);
|
|
109
|
+
this.ellipse(x + upperLeft.x, y + upperLeft.y, upperLeft.x, upperLeft.y, 0, Math.PI, Math.PI * 1.5);
|
|
110
|
+
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
this.closePath();
|
|
114
|
+
this.moveTo(x, y);
|
|
115
|
+
|
|
116
|
+
/** @ignore */
|
|
117
|
+
function toDOMPointInit(value) {
|
|
118
|
+
|
|
119
|
+
const {x, y, z, w} = value;
|
|
120
|
+
return {x, y, z, w};
|
|
121
|
+
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/** @ignore */
|
|
125
|
+
function parseRadiiArgument(value) {
|
|
126
|
+
|
|
127
|
+
// https://webidl.spec.whatwg.org/#es-union
|
|
128
|
+
// with 'optional (unrestricted double or DOMPointInit
|
|
129
|
+
// or sequence<(unrestricted double or DOMPointInit)>) radii = 0'
|
|
130
|
+
const type = typeof value;
|
|
131
|
+
|
|
132
|
+
if (type === "undefined" || value === null) {
|
|
133
|
+
|
|
134
|
+
return [0];
|
|
135
|
+
|
|
136
|
+
}
|
|
137
|
+
if (type === "function") {
|
|
138
|
+
|
|
139
|
+
return [NaN];
|
|
140
|
+
|
|
141
|
+
}
|
|
142
|
+
if (type === "object") {
|
|
143
|
+
|
|
144
|
+
if (typeof value[Symbol.iterator] === "function") {
|
|
145
|
+
|
|
146
|
+
return [...value].map((elem) => {
|
|
147
|
+
// https://webidl.spec.whatwg.org/#es-union
|
|
148
|
+
// with '(unrestricted double or DOMPointInit)'
|
|
149
|
+
const elemType = typeof elem;
|
|
150
|
+
if (elemType === "undefined" || elem === null) {
|
|
151
|
+
return 0;
|
|
152
|
+
}
|
|
153
|
+
if (elemType === "function") {
|
|
154
|
+
return NaN;
|
|
155
|
+
}
|
|
156
|
+
if (elemType === "object") {
|
|
157
|
+
return toDOMPointInit(elem);
|
|
158
|
+
}
|
|
159
|
+
return toUnrestrictedNumber(elem);
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
return [toDOMPointInit(value)];
|
|
165
|
+
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return [toUnrestrictedNumber(value)];
|
|
169
|
+
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/** @ignore */
|
|
173
|
+
function toUnrestrictedNumber(value) {
|
|
174
|
+
|
|
175
|
+
return +value;
|
|
176
|
+
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/** @ignore */
|
|
180
|
+
function toCornerPoint(value) {
|
|
181
|
+
|
|
182
|
+
const asNumber = toUnrestrictedNumber(value);
|
|
183
|
+
if (Number.isFinite(asNumber)) {
|
|
184
|
+
|
|
185
|
+
return {
|
|
186
|
+
x: asNumber,
|
|
187
|
+
y: asNumber
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
}
|
|
191
|
+
if (Object(value) === value) {
|
|
192
|
+
|
|
193
|
+
return {
|
|
194
|
+
x: toUnrestrictedNumber(value.x || 0),
|
|
195
|
+
y: toUnrestrictedNumber(value.y || 0)
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
return {
|
|
201
|
+
x: NaN,
|
|
202
|
+
y: NaN
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/** @ignore */
|
|
208
|
+
function fixOverlappingCorners(corners) {
|
|
209
|
+
const [upperLeft, upperRight, lowerRight, lowerLeft] = corners;
|
|
210
|
+
const factors = [
|
|
211
|
+
Math.abs(w) / (upperLeft.x + upperRight.x),
|
|
212
|
+
Math.abs(h) / (upperRight.y + lowerRight.y),
|
|
213
|
+
Math.abs(w) / (lowerRight.x + lowerLeft.x),
|
|
214
|
+
Math.abs(h) / (upperLeft.y + lowerLeft.y)
|
|
215
|
+
];
|
|
216
|
+
const minFactor = Math.min(...factors);
|
|
217
|
+
if (minFactor <= 1) {
|
|
218
|
+
corners.forEach((radii) => {
|
|
219
|
+
radii.x *= minFactor;
|
|
220
|
+
radii.y *= minFactor;
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
if (globalThis.CanvasRenderingContext2D) {
|
|
227
|
+
if (typeof globalThis.Path2D.prototype.roundRect === "undefined") {
|
|
228
|
+
globalThis.Path2D.prototype.roundRect = roundRect;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
if (globalThis.CanvasRenderingContext2D) {
|
|
232
|
+
if (typeof globalThis.CanvasRenderingContext2D.prototype.roundRect === "undefined") {
|
|
233
|
+
globalThis.CanvasRenderingContext2D.prototype.roundRect = roundRect;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
if (globalThis.OffscreenCanvasRenderingContext2D) {
|
|
237
|
+
if (typeof globalThis.OffscreenCanvasRenderingContext2D.prototype.roundRect === "undefined") {
|
|
238
|
+
globalThis.OffscreenCanvasRenderingContext2D.prototype.roundRect = roundRect;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
})();
|