melonjs 14.5.0 → 15.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/LICENSE.md +1 -1
- package/README.md +2 -2
- 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 +1 -1
- 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 +1 -1
- package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
- package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
- package/dist/melonjs.mjs/application/application.js +1 -1
- package/dist/melonjs.mjs/application/header.js +1 -1
- package/dist/melonjs.mjs/application/resize.js +1 -1
- package/dist/melonjs.mjs/application/settings.js +1 -1
- package/dist/melonjs.mjs/audio/audio.js +2 -4
- package/dist/melonjs.mjs/camera/camera2d.js +1 -1
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/entity/entity.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 +4 -4
- package/dist/melonjs.mjs/geometries/point.js +1 -1
- package/dist/melonjs.mjs/geometries/poly.js +1 -1
- package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
- package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
- package/dist/melonjs.mjs/index.js +5 -3
- 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 +2 -2
- package/dist/melonjs.mjs/lang/console.js +1 -1
- 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/constants.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/level/tiled/renderer/autodetect.js +1 -1
- package/dist/melonjs.mjs/loader/cache.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/loader/parser.js +1 -1
- package/dist/melonjs.mjs/loader/settings.js +1 -1
- package/dist/melonjs.mjs/math/color.js +9 -8
- 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 +1 -1
- 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 +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
- 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 -1
- 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 +3 -3
- 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/renderable.js +25 -3
- 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 -3
- 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 +2 -2
- package/dist/melonjs.mjs/system/dom.js +1 -1
- 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 +56 -86
- package/dist/melonjs.mjs/text/textmetrics.js +1 -1
- package/dist/melonjs.mjs/text/textstyle.js +4 -6
- 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 +1 -1
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +7 -11
- package/dist/melonjs.mjs/video/renderer.js +2 -13
- package/dist/melonjs.mjs/video/texture/atlas.js +3 -9
- package/dist/melonjs.mjs/video/texture/cache.js +1 -1
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +1 -1
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +1 -1
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +21 -17
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +77 -77
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +77 -0
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +249 -0
- package/dist/melonjs.mjs/video/webgl/compositors/webgl_compositor.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 +2 -2
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +2 -2
- 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_renderer.js +139 -149
- package/dist/melonjs.module.js +25111 -25202
- package/dist/types/entity/entity.d.ts +1 -1
- package/dist/types/index.d.ts +4 -2
- package/dist/types/renderable/renderable.d.ts +6 -0
- package/dist/types/renderable/ui/uitextbutton.d.ts +0 -1
- package/dist/types/text/text.d.ts +6 -20
- package/dist/types/text/textstyle.d.ts +1 -1
- package/dist/types/video/canvas/canvas_renderer.d.ts +0 -5
- package/dist/types/video/renderer.d.ts +1 -5
- package/dist/types/video/webgl/buffer/vertex.d.ts +3 -3
- package/dist/types/video/webgl/compositors/compositor.d.ts +38 -32
- package/dist/types/video/webgl/compositors/primitive_compositor.d.ts +22 -0
- package/dist/types/video/webgl/compositors/quad_compositor.d.ts +72 -0
- package/dist/types/video/webgl/webgl_renderer.d.ts +34 -28
- package/package.json +13 -14
- package/src/audio/audio.js +1 -3
- package/src/geometries/path2d.js +3 -3
- package/src/index.js +6 -2
- package/src/math/color.js +8 -7
- package/src/polyfill/index.js +0 -2
- package/src/renderable/renderable.js +24 -2
- package/src/renderable/ui/uitextbutton.js +0 -2
- package/src/system/device.js +1 -1
- package/src/text/text.js +55 -85
- package/src/text/textstyle.js +3 -5
- package/src/video/canvas/canvas_renderer.js +5 -9
- package/src/video/renderer.js +0 -11
- package/src/video/texture/atlas.js +2 -8
- package/src/video/webgl/buffer/vertex.js +20 -16
- package/src/video/webgl/compositors/compositor.js +76 -77
- package/src/video/webgl/compositors/primitive_compositor.js +68 -0
- package/src/video/webgl/compositors/{webgl_compositor.js → quad_compositor.js} +38 -98
- package/src/video/webgl/shaders/primitive.vert +2 -5
- package/src/video/webgl/shaders/quad.vert +3 -1
- package/src/video/webgl/webgl_renderer.js +137 -147
- package/dist/melonjs.mjs/_virtual/make-built-in.js +0 -10
- package/dist/melonjs.mjs/_virtual/object-define-property.js +0 -10
- package/dist/melonjs.mjs/_virtual/object-get-own-property-descriptor.js +0 -10
- package/dist/melonjs.mjs/_virtual/object-get-own-property-names.js +0 -10
- package/dist/melonjs.mjs/_virtual/object-get-own-property-symbols.js +0 -10
- package/dist/melonjs.mjs/_virtual/object-property-is-enumerable.js +0 -10
- package/dist/melonjs.mjs/_virtual/shared.js +0 -10
- package/dist/melonjs.mjs/game.js +0 -29
- package/dist/melonjs.mjs/polyfill/console.js +0 -18
- package/dist/melonjs.mjs/polyfill/performance.js +0 -27
- package/dist/melonjs.mjs/polyfill/requestAnimationFrame.js +0 -46
- package/dist/melonjs.mjs/polyfill/roundrect.js +0 -242
- package/dist/melonjs.mjs/renderable/re_container.js +0 -1016
- package/dist/melonjs.mjs/video/utils/resize.js +0 -116
- package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +0 -494
- package/src/polyfill/performance.js +0 -20
- package/src/polyfill/requestAnimationFrame.js +0 -39
|
@@ -33,7 +33,7 @@ export default class Entity extends Renderable {
|
|
|
33
33
|
frameheight?: number | undefined;
|
|
34
34
|
type?: string | undefined;
|
|
35
35
|
collisionMask?: number | undefined;
|
|
36
|
-
shapes?:
|
|
36
|
+
shapes?: Polygon[] | Line[] | Ellipse[] | Rect[] | undefined;
|
|
37
37
|
});
|
|
38
38
|
/**
|
|
39
39
|
* The array of renderable children of this entity.
|
package/dist/types/index.d.ts
CHANGED
|
@@ -64,7 +64,9 @@ import RoundRect from "./geometries/roundrect.js";
|
|
|
64
64
|
import Tween from "./tweens/tween.js";
|
|
65
65
|
import QuadTree from "./physics/quadtree.js";
|
|
66
66
|
import GLShader from "./video/webgl/glshader.js";
|
|
67
|
-
import
|
|
67
|
+
import Compositor from "./video/webgl/compositors/compositor.js";
|
|
68
|
+
import PrimitiveCompositor from "./video/webgl/compositors/primitive_compositor.js";
|
|
69
|
+
import QuadCompositor from "./video/webgl/compositors/quad_compositor.js";
|
|
68
70
|
import Renderer from "./video/renderer.js";
|
|
69
71
|
import WebGLRenderer from "./video/webgl/webgl_renderer.js";
|
|
70
72
|
import CanvasRenderer from "./video/canvas/canvas_renderer.js";
|
|
@@ -107,4 +109,4 @@ import ParticleEmitterSettings from "./particles/settings.js";
|
|
|
107
109
|
import Particle from "./particles/particle.js";
|
|
108
110
|
import Entity from "./entity/entity.js";
|
|
109
111
|
import Application from "./application/application.js";
|
|
110
|
-
export { audio, collision, device, event, loader, level, input, Math, plugin, plugins, utils, save, timer, pool, state, video, Color, Vector2d, Vector3d, ObservableVector2d, ObservableVector3d, Matrix2d, Matrix3d, Polygon, Line, Ellipse, Point, Rect, RoundRect, Tween, QuadTree, GLShader,
|
|
112
|
+
export { audio, collision, device, event, loader, level, input, Math, plugin, plugins, utils, save, timer, pool, state, video, Color, Vector2d, Vector3d, ObservableVector2d, ObservableVector3d, Matrix2d, Matrix3d, Polygon, Line, Ellipse, Point, Rect, RoundRect, Tween, QuadTree, GLShader, Compositor, PrimitiveCompositor, QuadCompositor, Renderer, WebGLRenderer, CanvasRenderer, TextureAtlas, Renderable, Body, Bounds, Text, BitmapText, BitmapTextData, ColorLayer, ImageLayer, Sprite, NineSliceSprite, UIBaseElement, UITextButton, UISpriteElement, Collectable, Trigger, Light2d, Draggable, DropTarget, TMXRenderer, TMXOrthogonalRenderer, TMXIsometricRenderer, TMXHexagonalRenderer, TMXStaggeredRenderer, Tile, TMXTileset, TMXTilesetGroup, TMXTileMap, TMXLayer, Pointer, Stage, Camera2d, Container, World, ParticleEmitter, ParticleEmitterSettings, Particle, Entity, Application };
|
|
@@ -162,6 +162,12 @@ export default class Renderable extends Rect {
|
|
|
162
162
|
* ]);
|
|
163
163
|
*/
|
|
164
164
|
mask: Rect | RoundRect | Polygon | Line | Ellipse;
|
|
165
|
+
/**
|
|
166
|
+
* (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL only)
|
|
167
|
+
* @type {GLShader}
|
|
168
|
+
* @default undefined
|
|
169
|
+
*/
|
|
170
|
+
shader: GLShader;
|
|
165
171
|
/**
|
|
166
172
|
* the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)
|
|
167
173
|
* @type {string}
|
|
@@ -18,7 +18,6 @@ export default class UITextButton extends UIBaseElement {
|
|
|
18
18
|
* @param {string} [settings.backgroundColor] - The css value of a background color
|
|
19
19
|
* @param {string} [settings.hoverColor] - The css value of a color to be used if the pointer hovers over the button
|
|
20
20
|
* @param {string} [settings.borderStrokeColor] - The css value of a color to be used to draw the border
|
|
21
|
-
* @param {boolean} [settings.offScreenCanvas] - Weather to use an offScreen canvas or not
|
|
22
21
|
* @param {string} [settings.fillStyle] - The css value of a tint color to be used to tint the text
|
|
23
22
|
* @param {number} [settings.borderWidth] - Width of the button
|
|
24
23
|
* @param {number} [settings.borderHeight] - Height of the button
|
|
@@ -12,12 +12,11 @@ export default class Text extends Renderable {
|
|
|
12
12
|
* @param {number|string} settings.size - size, or size + suffix (px, em, pt)
|
|
13
13
|
* @param {Color|string} [settings.fillStyle="#000000"] - a CSS color value
|
|
14
14
|
* @param {Color|string} [settings.strokeStyle="#000000"] - a CSS color value
|
|
15
|
-
* @param {number} [settings.lineWidth=
|
|
15
|
+
* @param {number} [settings.lineWidth=0] - line width, in pixels, when drawing stroke
|
|
16
16
|
* @param {string} [settings.textAlign="left"] - horizontal text alignment
|
|
17
17
|
* @param {string} [settings.textBaseline="top"] - the text baseline
|
|
18
18
|
* @param {number} [settings.lineHeight=1.0] - line spacing height
|
|
19
19
|
* @param {Vector2d} [settings.anchorPoint={x:0.0, y:0.0}] - anchor point to draw the text at
|
|
20
|
-
* @param {boolean} [settings.offScreenCanvas=false] - whether to draw the font to an individual "cache" texture first
|
|
21
20
|
* @param {number} [settings.wordWrapWidth] - the maximum length in CSS pixel for a single segment of text
|
|
22
21
|
* @param {(string|string[])} [settings.text=""] - a string, or an array of strings
|
|
23
22
|
* @example
|
|
@@ -33,7 +32,6 @@ export default class Text extends Renderable {
|
|
|
33
32
|
textBaseline?: string | undefined;
|
|
34
33
|
lineHeight?: number | undefined;
|
|
35
34
|
anchorPoint?: any;
|
|
36
|
-
offScreenCanvas?: boolean | undefined;
|
|
37
35
|
wordWrapWidth?: number | undefined;
|
|
38
36
|
text?: string | string[] | undefined;
|
|
39
37
|
});
|
|
@@ -45,7 +43,7 @@ export default class Text extends Renderable {
|
|
|
45
43
|
* sets the current line width, in pixels, when drawing stroke
|
|
46
44
|
* @public
|
|
47
45
|
* @type {number}
|
|
48
|
-
* @default
|
|
46
|
+
* @default 0
|
|
49
47
|
*/
|
|
50
48
|
public lineWidth: number | undefined;
|
|
51
49
|
/**
|
|
@@ -72,15 +70,6 @@ export default class Text extends Renderable {
|
|
|
72
70
|
* @default 1.0
|
|
73
71
|
*/
|
|
74
72
|
public lineHeight: number | undefined;
|
|
75
|
-
/**
|
|
76
|
-
* whether to draw the font to a indidividual offscreen canvas texture first <br>
|
|
77
|
-
* Note: this will improve performances when using WebGL, but will impact
|
|
78
|
-
* memory consumption as every text element will have its own canvas texture
|
|
79
|
-
* @public
|
|
80
|
-
* @type {boolean}
|
|
81
|
-
* @default false
|
|
82
|
-
*/
|
|
83
|
-
public offScreenCanvas: boolean | undefined;
|
|
84
73
|
/**
|
|
85
74
|
* the maximum length in CSS pixel for a single segment of text.
|
|
86
75
|
* (use -1 to disable word wrapping)
|
|
@@ -144,13 +133,11 @@ export default class Text extends Renderable {
|
|
|
144
133
|
* @param {string} [text]
|
|
145
134
|
* @param {number} [x]
|
|
146
135
|
* @param {number} [y]
|
|
147
|
-
* @param {boolean} [stroke=false] - draw stroke the the text if true
|
|
148
136
|
*/
|
|
149
|
-
draw(renderer: CanvasRenderer | WebGLRenderer, text?: string | undefined, x?: number | undefined, y?: number | undefined
|
|
137
|
+
draw(renderer: CanvasRenderer | WebGLRenderer, text?: string | undefined, x?: number | undefined, y?: number | undefined): void;
|
|
150
138
|
/**
|
|
151
|
-
* draw a stroke text at the specified coord, as defined
|
|
152
|
-
*
|
|
153
|
-
* Note : using drawStroke is not recommended for performance reasons
|
|
139
|
+
* draw a stroke text at the specified coord, as defined by the `lineWidth` and `fillStroke` properties.
|
|
140
|
+
* @deprecated since 15.0.0
|
|
154
141
|
* @param {CanvasRenderer|WebGLRenderer} renderer - Reference to the destination renderer instance
|
|
155
142
|
* @param {string} text
|
|
156
143
|
* @param {number} x
|
|
@@ -160,7 +147,7 @@ export default class Text extends Renderable {
|
|
|
160
147
|
/**
|
|
161
148
|
* @ignore
|
|
162
149
|
*/
|
|
163
|
-
_drawFont(context: any, text: any, x: any, y: any
|
|
150
|
+
_drawFont(context: any, text: any, x: any, y: any): TextMetrics | undefined;
|
|
164
151
|
/**
|
|
165
152
|
* Destroy function
|
|
166
153
|
* @ignore
|
|
@@ -169,5 +156,4 @@ export default class Text extends Renderable {
|
|
|
169
156
|
}
|
|
170
157
|
import Renderable from "./../renderable/renderable.js";
|
|
171
158
|
import TextMetrics from "./textmetrics.js";
|
|
172
|
-
import WebGLRenderer from "./../video/webgl/webgl_renderer.js";
|
|
173
159
|
import Color from "./../math/color.js";
|
|
@@ -263,11 +263,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
263
263
|
* @param {number} height
|
|
264
264
|
*/
|
|
265
265
|
fillPoint(x: number, y: number): void;
|
|
266
|
-
/**
|
|
267
|
-
* return a reference to the font 2d Context
|
|
268
|
-
* @ignore
|
|
269
|
-
*/
|
|
270
|
-
getFontContext(): CanvasRenderingContext2D | WebGLRenderingContext;
|
|
271
266
|
/**
|
|
272
267
|
* save the canvas context
|
|
273
268
|
* @name save
|
|
@@ -188,7 +188,7 @@ export default class Renderer {
|
|
|
188
188
|
* @param {Rect|RoundRect|Polygon|Line|Ellipse} [mask] - the shape defining the mask to be applied
|
|
189
189
|
* @param {boolean} [invert=false] - either the given shape should define what is visible (default) or the opposite
|
|
190
190
|
*/
|
|
191
|
-
setMask(mask?: Polygon |
|
|
191
|
+
setMask(mask?: Polygon | Line | Ellipse | Rect | RoundRect | undefined): void;
|
|
192
192
|
/**
|
|
193
193
|
* disable (remove) the rendering mask set through setMask.
|
|
194
194
|
* @see Renderer#setMask
|
|
@@ -205,10 +205,6 @@ export default class Renderer {
|
|
|
205
205
|
* @see Renderer#setTint
|
|
206
206
|
*/
|
|
207
207
|
clearTint(): void;
|
|
208
|
-
/**
|
|
209
|
-
* @ignore
|
|
210
|
-
*/
|
|
211
|
-
drawFont(): void;
|
|
212
208
|
}
|
|
213
209
|
import Vector2d from "../math/vector2.js";
|
|
214
210
|
import Path2D from "./../geometries/path2d.js";
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
* @ignore
|
|
6
6
|
*/
|
|
7
7
|
export default class VertexArrayBuffer {
|
|
8
|
-
constructor(vertex_size: any,
|
|
8
|
+
constructor(vertex_size: any, vertex_per_obj: any);
|
|
9
9
|
vertexSize: any;
|
|
10
|
-
|
|
10
|
+
objSize: any;
|
|
11
11
|
maxVertex: number;
|
|
12
12
|
vertexCount: number;
|
|
13
13
|
buffer: ArrayBuffer;
|
|
@@ -27,7 +27,7 @@ export default class VertexArrayBuffer {
|
|
|
27
27
|
* resize the vertex buffer, retaining its original contents
|
|
28
28
|
* @ignore
|
|
29
29
|
*/
|
|
30
|
-
resize(): VertexArrayBuffer;
|
|
30
|
+
resize(vertexCount: any): VertexArrayBuffer;
|
|
31
31
|
/**
|
|
32
32
|
* push a new vertex to the buffer
|
|
33
33
|
* @ignore
|
|
@@ -5,22 +5,37 @@
|
|
|
5
5
|
export default class Compositor {
|
|
6
6
|
/**
|
|
7
7
|
* @param {WebGLRenderer} renderer - the current WebGL renderer session
|
|
8
|
+
* @param {Object} settings - additional settings to initialize this compositors
|
|
9
|
+
* @param {object[]} attribute - an array of attributes definition
|
|
10
|
+
* @param {string} attribute.name - name of the attribute in the vertex shader
|
|
11
|
+
* @param {number} attribute.size - number of components per vertex attribute. Must be 1, 2, 3, or 4.
|
|
12
|
+
* @param {GLenum} attribute.type - data type of each component in the array
|
|
13
|
+
* @param {boolean} attribute.normalized - whether integer data values should be normalized into a certain range when being cast to a float
|
|
14
|
+
* @param {number} attribute.offset - offset in bytes of the first component in the vertex attribute array
|
|
15
|
+
* @param {object} shader - an array of attributes definition
|
|
16
|
+
* @param {string} shader.vertex - a string containing the GLSL source code to set
|
|
17
|
+
* @param {string} shader.fragment - a string containing the GLSL source code to set
|
|
8
18
|
*/
|
|
9
|
-
constructor(renderer: WebGLRenderer);
|
|
19
|
+
constructor(renderer: WebGLRenderer, settings: Object);
|
|
10
20
|
/**
|
|
11
21
|
* Initialize the compositor
|
|
12
22
|
* @ignore
|
|
13
23
|
*/
|
|
14
|
-
init(renderer: any): void;
|
|
24
|
+
init(renderer: any, settings: any): void;
|
|
15
25
|
renderer: any;
|
|
16
26
|
gl: any;
|
|
17
27
|
color: any;
|
|
18
28
|
viewMatrix: any;
|
|
19
29
|
/**
|
|
20
|
-
*
|
|
30
|
+
* the default shader created by this compositor
|
|
21
31
|
* @type {GLShader}
|
|
22
32
|
*/
|
|
23
|
-
|
|
33
|
+
defaultShader: GLShader | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* the shader currently used by this compositor
|
|
36
|
+
* @type {GLShader}
|
|
37
|
+
*/
|
|
38
|
+
currentShader: GLShader | undefined;
|
|
24
39
|
/**
|
|
25
40
|
* primitive type to render (gl.POINTS, gl.LINE_STRIP, gl.LINE_LOOP, gl.LINES, gl.TRIANGLE_STRIP, gl.TRIANGLE_FAN, gl.TRIANGLES)
|
|
26
41
|
* @type {number}
|
|
@@ -47,11 +62,27 @@ export default class Compositor {
|
|
|
47
62
|
* @type {number}
|
|
48
63
|
*/
|
|
49
64
|
vertexSize: number | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* the vertex data buffer used by this compositor
|
|
67
|
+
* @type {VertexArrayBuffer}
|
|
68
|
+
*/
|
|
69
|
+
vertexData: VertexArrayBuffer | undefined;
|
|
50
70
|
/**
|
|
51
71
|
* Reset compositor internal state
|
|
52
72
|
* @ignore
|
|
53
73
|
*/
|
|
54
74
|
reset(): void;
|
|
75
|
+
/**
|
|
76
|
+
* @ignore
|
|
77
|
+
* called by the WebGL renderer when a compositor become the current one
|
|
78
|
+
*/
|
|
79
|
+
bind(): void;
|
|
80
|
+
/**
|
|
81
|
+
* Select the shader to use for compositing
|
|
82
|
+
* @see GLShader
|
|
83
|
+
* @param {GLShader} shader - a reference to a GLShader instance
|
|
84
|
+
*/
|
|
85
|
+
useShader(shader: GLShader): void;
|
|
55
86
|
/**
|
|
56
87
|
* add vertex attribute property definition to the compositor
|
|
57
88
|
* @param {string} name - name of the attribute in the vertex shader
|
|
@@ -61,41 +92,16 @@ export default class Compositor {
|
|
|
61
92
|
* @param {number} offset - offset in bytes of the first component in the vertex attribute array
|
|
62
93
|
*/
|
|
63
94
|
addAttribute(name: string, size: number, type: GLenum, normalized: boolean, offset: number): void;
|
|
64
|
-
/**
|
|
65
|
-
* Sets the viewport
|
|
66
|
-
* @param {number} x - x position of viewport
|
|
67
|
-
* @param {number} y - y position of viewport
|
|
68
|
-
* @param {number} w - width of viewport
|
|
69
|
-
* @param {number} h - height of viewport
|
|
70
|
-
*/
|
|
71
|
-
setViewport(x: number, y: number, w: number, h: number): void;
|
|
72
95
|
/**
|
|
73
96
|
* set/change the current projection matrix
|
|
74
97
|
* @param {Matrix3d} matrix
|
|
75
98
|
*/
|
|
76
99
|
setProjection(matrix: Matrix3d): void;
|
|
77
100
|
/**
|
|
78
|
-
*
|
|
79
|
-
* @see GLShader
|
|
80
|
-
* @param {GLShader} shader - a reference to a GLShader instance
|
|
81
|
-
*/
|
|
82
|
-
useShader(shader: GLShader): void;
|
|
83
|
-
/**
|
|
84
|
-
* Flush batched texture operations to the GPU
|
|
101
|
+
* Flush batched vertex data to the GPU
|
|
85
102
|
* @param {number} [mode=gl.TRIANGLES] - the GL drawing mode
|
|
86
103
|
*/
|
|
87
104
|
flush(mode?: number | undefined): void;
|
|
88
|
-
/**
|
|
89
|
-
* Clear the frame buffer
|
|
90
|
-
* @param {number} [alpha = 0.0] - the alpha value used when clearing the framebuffer
|
|
91
|
-
*/
|
|
92
|
-
clear(alpha?: number | undefined): void;
|
|
93
|
-
/**
|
|
94
|
-
* Specify the color values used when clearing color buffers. The values are clamped between 0 and 1.
|
|
95
|
-
* @param {number} [r = 0] - the red color value used when the color buffers are cleared
|
|
96
|
-
* @param {number} [g = 0] - the green color value used when the color buffers are cleared
|
|
97
|
-
* @param {number} [b = 0] - the blue color value used when the color buffers are cleared
|
|
98
|
-
* @param {number} [a = 0] - the alpha color value used when the color buffers are cleared
|
|
99
|
-
*/
|
|
100
|
-
clearColor(r?: number | undefined, g?: number | undefined, b?: number | undefined, a?: number | undefined): void;
|
|
101
105
|
}
|
|
106
|
+
import GLShader from "../glshader.js";
|
|
107
|
+
import VertexArrayBuffer from "../buffer/vertex.js";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @classdesc
|
|
3
|
+
* A WebGL Compositor object. This class handles all of the WebGL state<br>
|
|
4
|
+
* Pushes texture regions or shape geometry into WebGL buffers, automatically flushes to GPU
|
|
5
|
+
* @augments Compositor
|
|
6
|
+
*/
|
|
7
|
+
export default class PrimitiveCompositor extends Compositor {
|
|
8
|
+
/**
|
|
9
|
+
* Initialize the compositor
|
|
10
|
+
* @ignore
|
|
11
|
+
*/
|
|
12
|
+
init(renderer: any): void;
|
|
13
|
+
/**
|
|
14
|
+
* Draw an array of vertices
|
|
15
|
+
* @param {GLenum} mode - primitive type to render (gl.POINTS, gl.LINE_STRIP, gl.LINE_LOOP, gl.LINES, gl.TRIANGLE_STRIP, gl.TRIANGLE_FAN, gl.TRIANGLES)
|
|
16
|
+
* @param {Point[]} verts - an array of vertices
|
|
17
|
+
* @param {number} [vertexCount=verts.length] - amount of points defined in the points array
|
|
18
|
+
*/
|
|
19
|
+
drawVertices(mode: GLenum, verts: Point[], vertexCount?: number | undefined): void;
|
|
20
|
+
mode: any;
|
|
21
|
+
}
|
|
22
|
+
import Compositor from "./compositor.js";
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @classdesc
|
|
3
|
+
* A WebGL Compositor object. This class handles all of the WebGL state<br>
|
|
4
|
+
* Pushes texture regions or shape geometry into WebGL buffers, automatically flushes to GPU
|
|
5
|
+
* @augments Compositor
|
|
6
|
+
*/
|
|
7
|
+
export default class QuadCompositor extends Compositor {
|
|
8
|
+
/**
|
|
9
|
+
* Initialize the compositor
|
|
10
|
+
* @ignore
|
|
11
|
+
*/
|
|
12
|
+
init(renderer: any): void;
|
|
13
|
+
currentTextureUnit: any;
|
|
14
|
+
boundTextures: any[] | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Create a WebGL texture from an image
|
|
17
|
+
* @param {number} unit - Destination texture unit
|
|
18
|
+
* @param {Image|HTMLCanvasElement|ImageData|Uint8Array[]|Float32Array[]} [pixels=null] - Source image
|
|
19
|
+
* @param {number} filter - gl.LINEAR or gl.NEAREST
|
|
20
|
+
* @param {string} [repeat="no-repeat"] - Image repeat behavior (see {@link ImageLayer#repeat})
|
|
21
|
+
* @param {number} [w=pixels.width] - Source image width (Only use with UInt8Array[] or Float32Array[] source image)
|
|
22
|
+
* @param {number} [h=pixels.height] - Source image height (Only use with UInt8Array[] or Float32Array[] source image)
|
|
23
|
+
* @param {boolean} [premultipliedAlpha=true] - Multiplies the alpha channel into the other color channels
|
|
24
|
+
* @param {boolean} [mipmap=true] - Whether mipmap levels should be generated for this texture
|
|
25
|
+
* @returns {WebGLTexture} a WebGL texture
|
|
26
|
+
*/
|
|
27
|
+
createTexture2D(unit: number, pixels?: HTMLCanvasElement | ImageData | (new (width?: number | undefined, height?: number | undefined) => HTMLImageElement) | Uint8Array[] | Float32Array[] | undefined, filter: number, repeat?: string | undefined, w?: number | undefined, h?: number | undefined, premultipliedAlpha?: boolean | undefined, mipmap?: boolean | undefined): WebGLTexture;
|
|
28
|
+
/**
|
|
29
|
+
* delete the given WebGL texture
|
|
30
|
+
* @param {WebGLTexture} [texture] - a WebGL texture to delete
|
|
31
|
+
* @param {number} [unit] - Texture unit to delete
|
|
32
|
+
*/
|
|
33
|
+
deleteTexture2D(texture?: WebGLTexture | undefined): void;
|
|
34
|
+
/**
|
|
35
|
+
* returns the WebGL texture associated to the given texture unit
|
|
36
|
+
* @param {number} unit - Texture unit to which a texture is bound
|
|
37
|
+
* @returns {WebGLTexture} texture a WebGL texture
|
|
38
|
+
*/
|
|
39
|
+
getTexture2D(unit: number): WebGLTexture;
|
|
40
|
+
/**
|
|
41
|
+
* assign the given WebGL texture to the current batch
|
|
42
|
+
* @param {WebGLTexture} texture - a WebGL texture
|
|
43
|
+
* @param {number} unit - Texture unit to which the given texture is bound
|
|
44
|
+
*/
|
|
45
|
+
bindTexture2D(texture: WebGLTexture, unit: number): void;
|
|
46
|
+
/**
|
|
47
|
+
* unbind the given WebGL texture, forcing it to be reuploaded
|
|
48
|
+
* @param {WebGLTexture} [texture] - a WebGL texture
|
|
49
|
+
* @param {number} [unit] - a WebGL texture
|
|
50
|
+
* @returns {number} unit the unit number that was associated with the given texture
|
|
51
|
+
*/
|
|
52
|
+
unbindTexture2D(texture?: WebGLTexture | undefined, unit?: number | undefined): number;
|
|
53
|
+
/**
|
|
54
|
+
* @ignore
|
|
55
|
+
*/
|
|
56
|
+
uploadTexture(texture: any, w: any, h: any, force?: boolean): any;
|
|
57
|
+
/**
|
|
58
|
+
* Add a textured quad
|
|
59
|
+
* @param {TextureAtlas} texture - Source texture atlas
|
|
60
|
+
* @param {number} x - Destination x-coordinate
|
|
61
|
+
* @param {number} y - Destination y-coordinate
|
|
62
|
+
* @param {number} w - Destination width
|
|
63
|
+
* @param {number} h - Destination height
|
|
64
|
+
* @param {number} u0 - Texture UV (u0) value.
|
|
65
|
+
* @param {number} v0 - Texture UV (v0) value.
|
|
66
|
+
* @param {number} u1 - Texture UV (u1) value.
|
|
67
|
+
* @param {number} v1 - Texture UV (v1) value.
|
|
68
|
+
* @param {number} tint - tint color to be applied to the texture in UINT32 (argb) format
|
|
69
|
+
*/
|
|
70
|
+
addQuad(texture: TextureAtlas, x: number, y: number, w: number, h: number, u0: number, v0: number, u1: number, v1: number, tint: number): void;
|
|
71
|
+
}
|
|
72
|
+
import Compositor from "./compositor.js";
|
|
@@ -18,7 +18,7 @@ export default class WebGLRenderer extends Renderer {
|
|
|
18
18
|
* @param {string} [options.powerPreference="default"] - a hint to the user agent indicating what configuration of GPU is suitable for the WebGL context ("default", "high-performance", "low-power"). To be noted that Safari and Chrome (since version 80) both default to "low-power" to save battery life and improve the user experience on these dual-GPU machines.
|
|
19
19
|
* @param {number} [options.zoomX=width] - The actual width of the canvas with scaling applied
|
|
20
20
|
* @param {number} [options.zoomY=height] - The actual height of the canvas with scaling applied
|
|
21
|
-
* @param {
|
|
21
|
+
* @param {Compositor} [options.compositor] - A class that implements the compositor API for sprite rendering
|
|
22
22
|
*/
|
|
23
23
|
constructor(options: {
|
|
24
24
|
width: number;
|
|
@@ -33,7 +33,7 @@ export default class WebGLRenderer extends Renderer {
|
|
|
33
33
|
powerPreference?: string | undefined;
|
|
34
34
|
zoomX?: number | undefined;
|
|
35
35
|
zoomY?: number | undefined;
|
|
36
|
-
compositor?:
|
|
36
|
+
compositor?: any;
|
|
37
37
|
});
|
|
38
38
|
/**
|
|
39
39
|
* The WebGL version used by this renderer (1 or 2)
|
|
@@ -45,14 +45,14 @@ export default class WebGLRenderer extends Renderer {
|
|
|
45
45
|
/**
|
|
46
46
|
* The vendor string of the underlying graphics driver.
|
|
47
47
|
* @type {string}
|
|
48
|
-
* @default
|
|
48
|
+
* @default undefined
|
|
49
49
|
* @readonly
|
|
50
50
|
*/
|
|
51
51
|
readonly GPUVendor: string;
|
|
52
52
|
/**
|
|
53
53
|
* The renderer string of the underlying graphics driver.
|
|
54
54
|
* @type {string}
|
|
55
|
-
* @default
|
|
55
|
+
* @default undefined
|
|
56
56
|
* @readonly
|
|
57
57
|
*/
|
|
58
58
|
readonly GPURenderer: string;
|
|
@@ -63,6 +63,11 @@ export default class WebGLRenderer extends Renderer {
|
|
|
63
63
|
*/
|
|
64
64
|
context: WebGLRenderingContext;
|
|
65
65
|
gl: WebGLRenderingContext;
|
|
66
|
+
/**
|
|
67
|
+
* the vertex buffer used by this WebGL Renderer
|
|
68
|
+
* @type {WebGLBuffer}
|
|
69
|
+
*/
|
|
70
|
+
vertexBuffer: WebGLBuffer;
|
|
66
71
|
/**
|
|
67
72
|
* Maximum number of texture unit supported under the current context
|
|
68
73
|
* @type {number}
|
|
@@ -95,33 +100,36 @@ export default class WebGLRenderer extends Renderer {
|
|
|
95
100
|
* @type {WebGLCompositor}
|
|
96
101
|
*/
|
|
97
102
|
currentCompositor: WebGLCompositor;
|
|
103
|
+
/**
|
|
104
|
+
* a reference to the current shader program used by the renderer
|
|
105
|
+
* @type {WebGLProgram}
|
|
106
|
+
*/
|
|
107
|
+
currentProgram: WebGLProgram;
|
|
98
108
|
/**
|
|
99
109
|
* The list of active compositors
|
|
100
110
|
* @type {Map<WebGLCompositor>}
|
|
101
111
|
*/
|
|
102
112
|
compositors: Map<WebGLCompositor, any>;
|
|
113
|
+
customShader: any;
|
|
103
114
|
cache: TextureCache;
|
|
115
|
+
/**
|
|
116
|
+
* add a new compositor to this renderer
|
|
117
|
+
* @param {Compositor} compositor - a compositor instance
|
|
118
|
+
* @param {String} name - a name uniquely identifying this compositor
|
|
119
|
+
* @param {Boolean} [activate=false] - true if the given compositor should be set as the active one
|
|
120
|
+
*/
|
|
121
|
+
addCompositor(compositor: Compositor, name?: string, activate?: boolean | undefined): void;
|
|
104
122
|
/**
|
|
105
123
|
* set the active compositor for this renderer
|
|
106
|
-
* @param {
|
|
124
|
+
* @param {String} name - a compositor name
|
|
125
|
+
* @param {GLShader} [shader] - an optional shader program to be used, instead of the default one, when activating the compositor
|
|
126
|
+
* @return {Compositor} an instance to the current active compositor
|
|
107
127
|
*/
|
|
108
|
-
setCompositor(
|
|
128
|
+
setCompositor(name?: string, shader?: any): Compositor;
|
|
109
129
|
/**
|
|
110
130
|
* Reset the gl transform to identity
|
|
111
131
|
*/
|
|
112
132
|
resetTransform(): void;
|
|
113
|
-
/**
|
|
114
|
-
* @ignore
|
|
115
|
-
*/
|
|
116
|
-
createFontTexture(cache: any): void;
|
|
117
|
-
/**
|
|
118
|
-
* @ignore
|
|
119
|
-
*/
|
|
120
|
-
fontContext2D: CanvasRenderingContext2D | undefined;
|
|
121
|
-
/**
|
|
122
|
-
* @ignore
|
|
123
|
-
*/
|
|
124
|
-
fontTexture: TextureAtlas | undefined;
|
|
125
133
|
/**
|
|
126
134
|
* Create a pattern with the specified repetition
|
|
127
135
|
* @param {Image} image - Source image
|
|
@@ -140,6 +148,14 @@ export default class WebGLRenderer extends Renderer {
|
|
|
140
148
|
* @param {Matrix3d} matrix
|
|
141
149
|
*/
|
|
142
150
|
setProjection(matrix: Matrix3d): void;
|
|
151
|
+
/**
|
|
152
|
+
* Sets the WebGL viewport, which specifies the affine transformation of x and y from normalized device coordinates to window coordinates
|
|
153
|
+
* @param {number} [x = 0] - x the horizontal coordinate for the lower left corner of the viewport origin
|
|
154
|
+
* @param {number} [y = 0] - y the vertical coordinate for the lower left corner of the viewport origin
|
|
155
|
+
* @param {number} [w = width of the canvas] - the width of viewport
|
|
156
|
+
* @param {number} [h = height of the canvas] - the height of viewport
|
|
157
|
+
*/
|
|
158
|
+
setViewport(x?: number | undefined, y?: number | undefined, w?: number | undefined, h?: number | undefined): void;
|
|
143
159
|
/**
|
|
144
160
|
* Clears the gl context with the given color.
|
|
145
161
|
* @param {Color|string} [color="#000000"] - CSS color.
|
|
@@ -154,10 +170,6 @@ export default class WebGLRenderer extends Renderer {
|
|
|
154
170
|
* @param {number} height - The rectangle's height.
|
|
155
171
|
*/
|
|
156
172
|
clearRect(x: number, y: number, width: number, height: number): void;
|
|
157
|
-
/**
|
|
158
|
-
* @ignore
|
|
159
|
-
*/
|
|
160
|
-
drawFont(bounds: any): void;
|
|
161
173
|
/**
|
|
162
174
|
* Draw an image to the gl context
|
|
163
175
|
* @param {Image} image - An element to draw into the context. The specification permits any canvas image source (CanvasImageSource), specifically, a CSSImageValue, an HTMLImageElement, an SVGImageElement, an HTMLVideoElement, an HTMLCanvasElement, an ImageBitmap, or an OffscreenCanvas.
|
|
@@ -218,11 +230,6 @@ export default class WebGLRenderer extends Renderer {
|
|
|
218
230
|
*/
|
|
219
231
|
setBlendMode(mode?: string | undefined, gl?: WebGLRenderingContext | undefined): void;
|
|
220
232
|
currentBlendMode: any;
|
|
221
|
-
/**
|
|
222
|
-
* return a reference to the font 2d Context
|
|
223
|
-
* @ignore
|
|
224
|
-
*/
|
|
225
|
-
getFontContext(): CanvasRenderingContext2D | undefined;
|
|
226
233
|
/**
|
|
227
234
|
* restores the canvas context
|
|
228
235
|
*/
|
|
@@ -423,7 +430,6 @@ export default class WebGLRenderer extends Renderer {
|
|
|
423
430
|
}
|
|
424
431
|
import Renderer from "./../renderer.js";
|
|
425
432
|
import Matrix2d from "./../../math/matrix2.js";
|
|
426
|
-
import WebGLCompositor from "./compositors/webgl_compositor.js";
|
|
427
433
|
import TextureCache from "./../texture/cache.js";
|
|
428
434
|
import { TextureAtlas } from "./../texture/atlas.js";
|
|
429
435
|
import Color from "./../../math/color.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "melonjs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "15.0.0",
|
|
4
4
|
"description": "melonJS Game Engine",
|
|
5
5
|
"homepage": "http://www.melonjs.org/",
|
|
6
6
|
"type": "module",
|
|
@@ -53,13 +53,13 @@
|
|
|
53
53
|
],
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@teppeis/multimaps": "^2.0.0",
|
|
56
|
-
"core-js": "^3.
|
|
56
|
+
"core-js": "^3.29.1",
|
|
57
57
|
"earcut": "2.2.4",
|
|
58
58
|
"eventemitter3": "^5.0.0",
|
|
59
59
|
"howler": "2.2.3"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@babel/eslint-parser": "^7.
|
|
62
|
+
"@babel/eslint-parser": "^7.21.3",
|
|
63
63
|
"@babel/plugin-syntax-import-assertions": "^7.20.0",
|
|
64
64
|
"@fastify/static": "^6.9.0",
|
|
65
65
|
"@melonjs/webdoc-theme": "^1.1.1",
|
|
@@ -67,24 +67,23 @@
|
|
|
67
67
|
"@rollup/plugin-image": "^3.0.2",
|
|
68
68
|
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
69
69
|
"@rollup/plugin-replace": "^5.0.2",
|
|
70
|
-
"@types/offscreencanvas": "^2019.7.0",
|
|
71
70
|
"@webdoc/cli": "^2.2.0",
|
|
72
|
-
"chromedriver": "^
|
|
71
|
+
"chromedriver": "^111.0.0",
|
|
73
72
|
"cross-env": "^7.0.3",
|
|
74
73
|
"del-cli": "^5.0.0",
|
|
75
|
-
"eslint": "^8.
|
|
76
|
-
"eslint-plugin-jsdoc": "^40.0.
|
|
77
|
-
"expect": "^29.
|
|
78
|
-
"expect-mocha-image-snapshot": "^3.0.
|
|
79
|
-
"fastify": "^4.
|
|
74
|
+
"eslint": "^8.36.0",
|
|
75
|
+
"eslint-plugin-jsdoc": "^40.0.3",
|
|
76
|
+
"expect": "^29.5.0",
|
|
77
|
+
"expect-mocha-image-snapshot": "^3.0.3",
|
|
78
|
+
"fastify": "^4.14.1",
|
|
80
79
|
"mocha": "^10.2.0",
|
|
81
80
|
"npm-self-link": "^1.1.7",
|
|
82
|
-
"puppeteer": "^19.
|
|
83
|
-
"rollup": "^3.
|
|
81
|
+
"puppeteer": "^19.7.5",
|
|
82
|
+
"rollup": "^3.19.1",
|
|
84
83
|
"rollup-plugin-bundle-size": "^1.0.3",
|
|
85
84
|
"rollup-plugin-string": "^3.0.0",
|
|
86
|
-
"terser": "^5.16.
|
|
87
|
-
"typescript": "^
|
|
85
|
+
"terser": "^5.16.6",
|
|
86
|
+
"typescript": "^5.0.2"
|
|
88
87
|
},
|
|
89
88
|
"scripts": {
|
|
90
89
|
"build": "npm run lint && rollup -c --silent",
|
package/src/audio/audio.js
CHANGED
|
@@ -455,9 +455,7 @@ export function getVolume() {
|
|
|
455
455
|
* // mute the background music
|
|
456
456
|
* me.audio.mute("awesome_music");
|
|
457
457
|
*/
|
|
458
|
-
export function mute(sound_name, id, mute) {
|
|
459
|
-
// if not defined : true
|
|
460
|
-
mute = (typeof(mute) === "undefined" ? true : !!mute);
|
|
458
|
+
export function mute(sound_name, id, mute = true) {
|
|
461
459
|
var sound = audioTracks[sound_name];
|
|
462
460
|
if (sound && typeof(sound) !== "undefined") {
|
|
463
461
|
sound.mute(mute, id);
|
package/src/geometries/path2d.js
CHANGED
|
@@ -242,9 +242,6 @@ import earcut from "earcut";
|
|
|
242
242
|
points.push(pool.pull("Point", _x2, _y2));
|
|
243
243
|
angle += direction * dangle;
|
|
244
244
|
}
|
|
245
|
-
//var x1 = radiusX * Math.cos(endAngle);
|
|
246
|
-
//var y1 = radiusY * Math.sin(endAngle);
|
|
247
|
-
//points.push(pool.pull("Point", x + x1 * cos_rotation - y1 * sin_rotation, y + x1 * sin_rotation + y1 * cos_rotation));
|
|
248
245
|
}
|
|
249
246
|
|
|
250
247
|
/**
|
|
@@ -257,8 +254,11 @@ import earcut from "earcut";
|
|
|
257
254
|
rect(x, y, width, height) {
|
|
258
255
|
this.moveTo(x, y);
|
|
259
256
|
this.lineTo(x + width, y);
|
|
257
|
+
this.moveTo(x + width, y);
|
|
260
258
|
this.lineTo(x + width, y + height);
|
|
259
|
+
this.moveTo(x + width, y + height);
|
|
261
260
|
this.lineTo(x, y + height);
|
|
261
|
+
this.moveTo(x, y + height);
|
|
262
262
|
this.lineTo(x, y);
|
|
263
263
|
}
|
|
264
264
|
|
package/src/index.js
CHANGED
|
@@ -20,7 +20,9 @@ import Body from "./physics/body.js";
|
|
|
20
20
|
import Bounds from "./physics/bounds.js";
|
|
21
21
|
import Tween from "./tweens/tween.js";
|
|
22
22
|
import GLShader from "./video/webgl/glshader.js";
|
|
23
|
-
import
|
|
23
|
+
import Compositor from "./video/webgl/compositors/compositor.js";
|
|
24
|
+
import PrimitiveCompositor from "./video/webgl/compositors/primitive_compositor.js";
|
|
25
|
+
import QuadCompositor from "./video/webgl/compositors/quad_compositor.js";
|
|
24
26
|
import Renderer from "./video/renderer.js";
|
|
25
27
|
import WebGLRenderer from "./video/webgl/webgl_renderer.js";
|
|
26
28
|
import CanvasRenderer from "./video/canvas/canvas_renderer.js";
|
|
@@ -127,7 +129,9 @@ export {
|
|
|
127
129
|
Tween,
|
|
128
130
|
QuadTree,
|
|
129
131
|
GLShader,
|
|
130
|
-
|
|
132
|
+
Compositor,
|
|
133
|
+
PrimitiveCompositor,
|
|
134
|
+
QuadCompositor,
|
|
131
135
|
Renderer,
|
|
132
136
|
WebGLRenderer,
|
|
133
137
|
CanvasRenderer,
|