melonjs 15.3.0 → 15.4.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/melonjs.mjs/_virtual/_commonjsHelpers.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/application/application.js +53 -5
- package/dist/melonjs.mjs/application/header.js +2 -2
- package/dist/melonjs.mjs/application/resize.js +4 -8
- package/dist/melonjs.mjs/application/settings.js +5 -5
- package/dist/melonjs.mjs/audio/audio.js +4 -6
- package/dist/melonjs.mjs/camera/camera2d.js +12 -14
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/entity/entity.js +3 -4
- package/dist/melonjs.mjs/geometries/ellipse.js +26 -59
- package/dist/melonjs.mjs/geometries/line.js +18 -25
- package/dist/melonjs.mjs/geometries/path2d.js +16 -13
- package/dist/melonjs.mjs/geometries/point.js +8 -16
- package/dist/melonjs.mjs/geometries/poly.js +40 -97
- package/dist/melonjs.mjs/geometries/rectangle.js +37 -91
- package/dist/melonjs.mjs/geometries/roundrect.js +26 -35
- package/dist/melonjs.mjs/index.js +6 -6
- 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 +3 -3
- package/dist/melonjs.mjs/input/pointer.js +4 -4
- package/dist/melonjs.mjs/input/pointerevent.js +6 -7
- package/dist/melonjs.mjs/lang/console.js +1 -1
- package/dist/melonjs.mjs/lang/deprecated.js +2 -2
- 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 +16 -33
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +3 -4
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +4 -4
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +3 -3
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +4 -7
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +26 -29
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +3 -3
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
- 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 +4 -5
- package/dist/melonjs.mjs/loader/settings.js +1 -1
- package/dist/melonjs.mjs/math/color.js +2 -2
- package/dist/melonjs.mjs/math/math.js +1 -1
- package/dist/melonjs.mjs/math/matrix2.js +5 -59
- package/dist/melonjs.mjs/math/matrix3.js +82 -141
- package/dist/melonjs.mjs/math/observable_vector2.js +7 -7
- package/dist/melonjs.mjs/math/observable_vector3.js +5 -5
- package/dist/melonjs.mjs/math/vector2.js +7 -91
- package/dist/melonjs.mjs/math/vector3.js +6 -90
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.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 +2 -2
- package/dist/melonjs.mjs/particles/particle.js +2 -2
- package/dist/melonjs.mjs/particles/settings.js +1 -1
- package/dist/melonjs.mjs/physics/body.js +22 -20
- package/dist/melonjs.mjs/physics/bounds.js +27 -33
- package/dist/melonjs.mjs/physics/collision.js +5 -5
- package/dist/melonjs.mjs/physics/detector.js +10 -10
- package/dist/melonjs.mjs/physics/quadtree.js +5 -5
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +3 -4
- package/dist/melonjs.mjs/physics/world.js +6 -9
- package/dist/melonjs.mjs/plugin/plugin.js +3 -3
- package/dist/melonjs.mjs/renderable/collectable.js +2 -2
- package/dist/melonjs.mjs/renderable/colorlayer.js +4 -4
- package/dist/melonjs.mjs/renderable/container.js +25 -25
- package/dist/melonjs.mjs/renderable/draggable.js +1 -1
- package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
- package/dist/melonjs.mjs/renderable/imagelayer.js +4 -4
- package/dist/melonjs.mjs/renderable/light2d.js +3 -3
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
- package/dist/melonjs.mjs/renderable/renderable.js +26 -26
- package/dist/melonjs.mjs/renderable/sprite.js +3 -3
- package/dist/melonjs.mjs/renderable/text/bitmaptext.js +421 -0
- package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +195 -0
- package/dist/melonjs.mjs/renderable/text/glyph.js +65 -0
- package/dist/melonjs.mjs/renderable/text/text.js +422 -0
- package/dist/melonjs.mjs/renderable/text/textmetrics.js +175 -0
- package/dist/melonjs.mjs/renderable/text/textstyle.js +21 -0
- package/dist/melonjs.mjs/renderable/trigger.js +10 -10
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +7 -7
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +7 -7
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +3 -3
- package/dist/melonjs.mjs/state/stage.js +2 -2
- package/dist/melonjs.mjs/state/state.js +1 -38
- package/dist/melonjs.mjs/system/device.js +49 -10
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +24 -2
- package/dist/melonjs.mjs/system/platform.js +18 -18
- package/dist/melonjs.mjs/system/pooling.js +10 -10
- 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 +3 -6
- 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 +2 -2
- 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 +2 -3
- 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 +3 -7
- package/dist/melonjs.mjs/video/renderer.js +16 -16
- package/dist/melonjs.mjs/video/texture/atlas.js +13 -13
- package/dist/melonjs.mjs/video/texture/cache.js +1 -1
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +15 -15
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +4 -4
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +13 -14
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +2 -3
- package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
- 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 +4 -4
- 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 +50 -52
- package/dist/melonjs.module.js +1137 -1576
- package/dist/types/application/application.d.ts +28 -4
- package/dist/types/application/header.d.ts +2 -2
- package/dist/types/application/settings.d.ts +23 -23
- package/dist/types/audio/audio.d.ts +4 -6
- package/dist/types/camera/camera2d.d.ts +13 -16
- package/dist/types/entity/entity.d.ts +0 -1
- package/dist/types/geometries/ellipse.d.ts +18 -50
- package/dist/types/geometries/path2d.d.ts +1 -1
- package/dist/types/geometries/point.d.ts +5 -13
- package/dist/types/geometries/poly.d.ts +26 -75
- package/dist/types/geometries/rectangle.d.ts +12 -58
- package/dist/types/geometries/roundrect.d.ts +2 -11
- package/dist/types/index.d.ts +3 -3
- package/dist/types/input/gamepad.d.ts +31 -31
- package/dist/types/input/keyboard.d.ts +105 -105
- package/dist/types/input/pointer.d.ts +21 -21
- package/dist/types/input/pointerevent.d.ts +6 -6
- package/dist/types/level/tiled/TMXLayer.d.ts +1 -1
- package/dist/types/math/matrix2.d.ts +9 -63
- package/dist/types/math/matrix3.d.ts +9 -68
- package/dist/types/math/observable_vector2.d.ts +2 -2
- package/dist/types/math/observable_vector3.d.ts +2 -2
- package/dist/types/math/vector2.d.ts +8 -92
- package/dist/types/math/vector3.d.ts +8 -92
- package/dist/types/particles/settings.d.ts +29 -29
- package/dist/types/physics/body.d.ts +10 -8
- package/dist/types/physics/bounds.d.ts +24 -30
- package/dist/types/physics/collision.d.ts +12 -12
- package/dist/types/physics/detector.d.ts +1 -1
- package/dist/types/physics/world.d.ts +4 -7
- package/dist/types/renderable/container.d.ts +19 -19
- package/dist/types/renderable/imagelayer.d.ts +6 -6
- package/dist/types/renderable/light2d.d.ts +7 -7
- package/dist/types/renderable/renderable.d.ts +9 -16
- package/dist/types/renderable/text/bitmaptext.d.ts +151 -0
- package/dist/types/renderable/text/bitmaptextdata.d.ts +35 -0
- package/dist/types/renderable/text/glyph.d.ts +28 -0
- package/dist/types/renderable/text/text.d.ts +159 -0
- package/dist/types/renderable/text/textmetrics.d.ts +47 -0
- package/dist/types/renderable/text/textstyle.d.ts +5 -0
- package/dist/types/renderable/ui/uibaseelement.d.ts +0 -1
- package/dist/types/renderable/ui/uispriteelement.d.ts +0 -1
- package/dist/types/renderable/ui/uitextbutton.d.ts +2 -7
- package/dist/types/state/state.d.ts +11 -11
- package/dist/types/system/device.d.ts +15 -9
- package/dist/types/system/event.d.ts +20 -0
- package/dist/types/system/platform.d.ts +17 -17
- package/dist/types/utils/function.d.ts +1 -2
- package/dist/types/video/renderer.d.ts +13 -13
- package/dist/types/video/texture/canvas_texture.d.ts +14 -14
- package/dist/types/video/video.d.ts +2 -2
- package/dist/types/video/webgl/buffer/vertex.d.ts +2 -2
- package/dist/types/video/webgl/compositors/compositor.d.ts +24 -13
- package/dist/types/video/webgl/compositors/primitive_compositor.d.ts +0 -1
- package/dist/types/video/webgl/compositors/quad_compositor.d.ts +0 -1
- package/dist/types/video/webgl/utils/precision.d.ts +1 -1
- package/dist/types/video/webgl/webgl_renderer.d.ts +47 -50
- package/package.json +15 -15
- package/src/application/application.js +51 -3
- package/src/application/header.js +1 -1
- package/src/application/resize.js +3 -7
- package/src/application/settings.js +4 -4
- package/src/audio/audio.js +3 -5
- package/src/camera/camera2d.js +11 -13
- package/src/entity/entity.js +2 -3
- package/src/geometries/ellipse.js +25 -58
- package/src/geometries/line.js +17 -24
- package/src/geometries/path2d.js +15 -12
- package/src/geometries/point.js +7 -15
- package/src/geometries/poly.js +39 -96
- package/src/geometries/rectangle.js +36 -90
- package/src/geometries/roundrect.js +25 -34
- package/src/index.js +4 -4
- package/src/input/keyboard.js +2 -2
- package/src/input/pointer.js +3 -3
- package/src/input/pointerevent.js +5 -6
- package/src/lang/deprecated.js +1 -1
- package/src/level/tiled/TMXLayer.js +15 -32
- package/src/level/tiled/TMXObject.js +2 -3
- package/src/level/tiled/TMXTile.js +3 -3
- package/src/level/tiled/TMXTileMap.js +2 -2
- package/src/level/tiled/TMXTileset.js +3 -6
- package/src/level/tiled/TMXTilesetGroup.js +1 -1
- package/src/level/tiled/TMXUtils.js +25 -28
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
- package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
- package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
- package/src/level/tiled/renderer/TMXRenderer.js +1 -1
- package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
- package/src/loader/parser.js +3 -4
- package/src/math/color.js +1 -1
- package/src/math/matrix2.js +4 -58
- package/src/math/matrix3.js +81 -140
- package/src/math/observable_vector2.js +6 -6
- package/src/math/observable_vector3.js +4 -4
- package/src/math/vector2.js +6 -90
- package/src/math/vector3.js +5 -89
- package/src/particles/emitter.js +1 -1
- package/src/particles/particle.js +1 -1
- package/src/physics/body.js +21 -19
- package/src/physics/bounds.js +26 -32
- package/src/physics/collision.js +4 -4
- package/src/physics/detector.js +9 -9
- package/src/physics/quadtree.js +4 -4
- package/src/physics/sat.js +2 -3
- package/src/physics/world.js +5 -8
- package/src/polyfill/roundrect.js +163 -163
- package/src/renderable/collectable.js +1 -1
- package/src/renderable/colorlayer.js +3 -3
- package/src/renderable/container.js +24 -24
- package/src/renderable/imagelayer.js +3 -3
- package/src/renderable/light2d.js +2 -2
- package/src/renderable/nineslicesprite.js +1 -1
- package/src/renderable/renderable.js +25 -25
- package/src/renderable/sprite.js +2 -2
- package/src/{text → renderable/text}/bitmaptext.js +8 -8
- package/src/{text → renderable/text}/bitmaptextdata.js +4 -7
- package/src/{text → renderable/text}/glyph.js +1 -1
- package/src/{text → renderable/text}/text.js +16 -17
- package/src/{text → renderable/text}/textmetrics.js +2 -2
- package/src/renderable/trigger.js +9 -9
- package/src/renderable/ui/uibaseelement.js +6 -6
- package/src/renderable/ui/uispriteelement.js +6 -6
- package/src/renderable/ui/uitextbutton.js +2 -2
- package/src/state/stage.js +1 -1
- package/src/state/state.js +0 -49
- package/src/system/device.js +48 -9
- package/src/system/event.js +22 -0
- package/src/system/platform.js +18 -18
- package/src/system/pooling.js +9 -9
- package/src/tweens/tween.js +1 -1
- package/src/utils/function.js +1 -2
- package/src/video/canvas/canvas_renderer.js +2 -6
- package/src/video/renderer.js +15 -15
- package/src/video/texture/atlas.js +12 -12
- package/src/video/texture/canvas_texture.js +14 -14
- package/src/video/video.js +3 -3
- package/src/video/webgl/buffer/vertex.js +2 -2
- package/src/video/webgl/compositors/compositor.js +12 -13
- package/src/video/webgl/compositors/primitive_compositor.js +4 -4
- package/src/video/webgl/compositors/quad_compositor.js +1 -2
- package/src/video/webgl/glshader.js +1 -1
- package/src/video/webgl/utils/precision.js +3 -3
- package/src/video/webgl/webgl_renderer.js +49 -51
- /package/src/{text → renderable/text}/textstyle.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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
|
|
@@ -22,7 +22,7 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
22
22
|
* a WebGL renderer object
|
|
23
23
|
* @augments Renderer
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
class WebGLRenderer extends Renderer {
|
|
26
26
|
/**
|
|
27
27
|
* @param {Application.Settings} [options] - optional parameters for the renderer
|
|
28
28
|
*/
|
|
@@ -238,8 +238,8 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
238
238
|
/**
|
|
239
239
|
* add a new compositor to this renderer
|
|
240
240
|
* @param {Compositor} compositor - a compositor instance
|
|
241
|
-
* @param {
|
|
242
|
-
* @param {
|
|
241
|
+
* @param {string} name - a name uniquely identifying this compositor
|
|
242
|
+
* @param {boolean} [activate=false] - true if the given compositor should be set as the active one
|
|
243
243
|
*/
|
|
244
244
|
addCompositor(compositor, name = "default", activate = false) {
|
|
245
245
|
// make sure there is no existing compositor with the same name
|
|
@@ -258,9 +258,9 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
258
258
|
|
|
259
259
|
/**
|
|
260
260
|
* set the active compositor for this renderer
|
|
261
|
-
* @param {
|
|
261
|
+
* @param {string} name - a compositor name
|
|
262
262
|
* @param {GLShader} [shader] - an optional shader program to be used, instead of the default one, when activating the compositor
|
|
263
|
-
* @
|
|
263
|
+
* @returns {Compositor} an instance to the current active compositor
|
|
264
264
|
*/
|
|
265
265
|
setCompositor(name = "default", shader = this.customShader) {
|
|
266
266
|
let compositor = this.compositors.get(name);
|
|
@@ -299,7 +299,7 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
299
299
|
* Create a pattern with the specified repetition
|
|
300
300
|
* @param {HTMLImageElement|SVGImageElement|HTMLVideoElement|HTMLCanvasElement|ImageBitmap|OffscreenCanvas|VideoFrame} image - Source image to be used as the pattern's image
|
|
301
301
|
* @param {string} repeat - Define how the pattern should be repeated
|
|
302
|
-
* @returns {TextureAtlas}
|
|
302
|
+
* @returns {TextureAtlas} the patterned texture created
|
|
303
303
|
* @see ImageLayer#repeat
|
|
304
304
|
* @example
|
|
305
305
|
* let tileable = renderer.createPattern(image, "repeat");
|
|
@@ -336,7 +336,7 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
336
336
|
|
|
337
337
|
/**
|
|
338
338
|
* set/change the current projection matrix (WebGL only)
|
|
339
|
-
* @param {Matrix3d} matrix
|
|
339
|
+
* @param {Matrix3d} matrix - the new projection matrix
|
|
340
340
|
*/
|
|
341
341
|
setProjection(matrix) {
|
|
342
342
|
super.setProjection(matrix);
|
|
@@ -459,10 +459,10 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
459
459
|
/**
|
|
460
460
|
* Draw a pattern within the given rectangle.
|
|
461
461
|
* @param {TextureAtlas} pattern - Pattern object
|
|
462
|
-
* @param {number} x
|
|
463
|
-
* @param {number} y
|
|
464
|
-
* @param {number} width
|
|
465
|
-
* @param {number} height
|
|
462
|
+
* @param {number} x - x position where to draw the pattern
|
|
463
|
+
* @param {number} y - y position where to draw the pattern
|
|
464
|
+
* @param {number} width - width of the pattern
|
|
465
|
+
* @param {number} height - height of the pattern
|
|
466
466
|
* @see WebGLRenderer#createPattern
|
|
467
467
|
*/
|
|
468
468
|
drawPattern(pattern, x, y, width, height) {
|
|
@@ -473,10 +473,10 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
473
473
|
|
|
474
474
|
/**
|
|
475
475
|
* Returns the WebGL Context object of the given canvas element
|
|
476
|
-
* @param {HTMLCanvasElement} canvas
|
|
476
|
+
* @param {HTMLCanvasElement} canvas - the canvas element
|
|
477
477
|
* @param {boolean} [transparent=false] - use true to enable transparency
|
|
478
478
|
* @param {boolean} [depth=false] - use true to enable depth buffer testing
|
|
479
|
-
* @returns {WebGLRenderingContext}
|
|
479
|
+
* @returns {WebGLRenderingContext} the WebGL Context object
|
|
480
480
|
*/
|
|
481
481
|
getContextGL(canvas, transparent = false, depth = false) {
|
|
482
482
|
if (typeof canvas === "undefined" || canvas === null) {
|
|
@@ -525,7 +525,7 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
525
525
|
/**
|
|
526
526
|
* Returns the WebGLContext instance for the renderer
|
|
527
527
|
* return a reference to the system 2d Context
|
|
528
|
-
* @returns {WebGLRenderingContext}
|
|
528
|
+
* @returns {WebGLRenderingContext} the current WebGL context
|
|
529
529
|
*/
|
|
530
530
|
getContext() {
|
|
531
531
|
return this.gl;
|
|
@@ -544,7 +544,7 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
544
544
|
* <img src="images/screen-blendmode.png" width="510"/> <br>
|
|
545
545
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
|
|
546
546
|
* @param {string} [mode="normal"] - blend mode : "normal", "multiply", "lighter", "additive", "screen"
|
|
547
|
-
* @param {WebGLRenderingContext} [gl]
|
|
547
|
+
* @param {WebGLRenderingContext} [gl] - a WebGL context
|
|
548
548
|
*/
|
|
549
549
|
setBlendMode(mode = "normal", gl = this.gl) {
|
|
550
550
|
|
|
@@ -633,8 +633,8 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
633
633
|
|
|
634
634
|
/**
|
|
635
635
|
* scales the uniform matrix
|
|
636
|
-
* @param {number} x
|
|
637
|
-
* @param {number} y
|
|
636
|
+
* @param {number} x - x-axis scale
|
|
637
|
+
* @param {number} y - y-axis scale
|
|
638
638
|
*/
|
|
639
639
|
scale(x, y) {
|
|
640
640
|
this.currentTransform.scale(x, y);
|
|
@@ -688,11 +688,11 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
688
688
|
* Stroke an arc at the specified coordinates with given radius, start and end points
|
|
689
689
|
* @param {number} x - arc center point x-axis
|
|
690
690
|
* @param {number} y - arc center point y-axis
|
|
691
|
-
* @param {number} radius
|
|
691
|
+
* @param {number} radius - arc radius
|
|
692
692
|
* @param {number} start - start angle in radians
|
|
693
693
|
* @param {number} end - end angle in radians
|
|
694
694
|
* @param {boolean} [antiClockwise=false] - draw arc anti-clockwise
|
|
695
|
-
* @param {boolean} [fill=false]
|
|
695
|
+
* @param {boolean} [fill=false] - also fill the shape with the current color if true
|
|
696
696
|
*/
|
|
697
697
|
strokeArc(x, y, radius, start, end, antiClockwise = false, fill = false) {
|
|
698
698
|
this.setCompositor("primitive");
|
|
@@ -710,7 +710,7 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
710
710
|
* Fill an arc at the specified coordinates with given radius, start and end points
|
|
711
711
|
* @param {number} x - arc center point x-axis
|
|
712
712
|
* @param {number} y - arc center point y-axis
|
|
713
|
-
* @param {number} radius
|
|
713
|
+
* @param {number} radius - arc radius
|
|
714
714
|
* @param {number} start - start angle in radians
|
|
715
715
|
* @param {number} end - end angle in radians
|
|
716
716
|
* @param {boolean} [antiClockwise=false] - draw arc anti-clockwise
|
|
@@ -813,10 +813,10 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
813
813
|
|
|
814
814
|
/**
|
|
815
815
|
* Draw a stroke rectangle at the specified coordinates
|
|
816
|
-
* @param {number} x
|
|
817
|
-
* @param {number} y
|
|
818
|
-
* @param {number} width
|
|
819
|
-
* @param {number} height
|
|
816
|
+
* @param {number} x - x axis of the coordinate for the rectangle starting point.
|
|
817
|
+
* @param {number} y - y axis of the coordinate for the rectangle starting point.
|
|
818
|
+
* @param {number} width - The rectangle's width.
|
|
819
|
+
* @param {number} height - The rectangle's height.
|
|
820
820
|
* @param {boolean} [fill=false] - also fill the shape with the current color if true
|
|
821
821
|
*/
|
|
822
822
|
strokeRect(x, y, width, height, fill = false) {
|
|
@@ -832,10 +832,10 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
832
832
|
|
|
833
833
|
/**
|
|
834
834
|
* Draw a filled rectangle at the specified coordinates
|
|
835
|
-
* @param {number} x
|
|
836
|
-
* @param {number} y
|
|
837
|
-
* @param {number} width
|
|
838
|
-
* @param {number} height
|
|
835
|
+
* @param {number} x - x axis of the coordinate for the rectangle starting point.
|
|
836
|
+
* @param {number} y - y axis of the coordinate for the rectangle starting point.
|
|
837
|
+
* @param {number} width - The rectangle's width.
|
|
838
|
+
* @param {number} height - The rectangle's height.
|
|
839
839
|
*/
|
|
840
840
|
fillRect(x, y, width, height) {
|
|
841
841
|
this.strokeRect(x, y, width, height, true);
|
|
@@ -843,11 +843,11 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
843
843
|
|
|
844
844
|
/**
|
|
845
845
|
* Stroke a rounded rectangle at the specified coordinates
|
|
846
|
-
* @param {number} x
|
|
847
|
-
* @param {number} y
|
|
848
|
-
* @param {number} width
|
|
849
|
-
* @param {number} height
|
|
850
|
-
* @param {number} radius
|
|
846
|
+
* @param {number} x - x axis of the coordinate for the rounded rectangle starting point.
|
|
847
|
+
* @param {number} y - y axis of the coordinate for the rounded rectangle starting point.
|
|
848
|
+
* @param {number} width - The rounded rectangle's width.
|
|
849
|
+
* @param {number} height - The rounded rectangle's height.
|
|
850
|
+
* @param {number} radius - The rounded corner's radius.
|
|
851
851
|
* @param {boolean} [fill=false] - also fill the shape with the current color if true
|
|
852
852
|
*/
|
|
853
853
|
strokeRoundRect(x, y, width, height, radius, fill = false) {
|
|
@@ -864,11 +864,11 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
864
864
|
|
|
865
865
|
/**
|
|
866
866
|
* Draw a rounded filled rectangle at the specified coordinates
|
|
867
|
-
* @param {number} x
|
|
868
|
-
* @param {number} y
|
|
869
|
-
* @param {number} width
|
|
870
|
-
* @param {number} height
|
|
871
|
-
* @param {number} radius
|
|
867
|
+
* @param {number} x - x axis of the coordinate for the rounded rectangle starting point.
|
|
868
|
+
* @param {number} y - y axis of the coordinate for the rounded rectangle starting point.
|
|
869
|
+
* @param {number} width - The rounded rectangle's width.
|
|
870
|
+
* @param {number} height - The rounded rectangle's height.
|
|
871
|
+
* @param {number} radius - The rounded corner's radius.
|
|
872
872
|
*/
|
|
873
873
|
fillRoundRect(x, y, width, height, radius) {
|
|
874
874
|
this.strokeRoundRect(x, y, width, height, radius, true);
|
|
@@ -876,8 +876,8 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
876
876
|
|
|
877
877
|
/**
|
|
878
878
|
* Stroke a Point at the specified coordinates
|
|
879
|
-
* @param {number} x
|
|
880
|
-
* @param {number} y
|
|
879
|
+
* @param {number} x - x axis of the coordinate for the point.
|
|
880
|
+
* @param {number} y - y axis of the coordinate for the point.
|
|
881
881
|
*/
|
|
882
882
|
strokePoint(x, y) {
|
|
883
883
|
this.strokeLine(x, y, x + 1, y + 1);
|
|
@@ -885,10 +885,8 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
885
885
|
|
|
886
886
|
/**
|
|
887
887
|
* Draw a a point at the specified coordinates
|
|
888
|
-
* @param {number} x
|
|
889
|
-
* @param {number} y
|
|
890
|
-
* @param {number} width
|
|
891
|
-
* @param {number} height
|
|
888
|
+
* @param {number} x - x axis of the coordinate for the point.
|
|
889
|
+
* @param {number} y - y axis of the coordinate for the point.
|
|
892
890
|
*/
|
|
893
891
|
fillPoint(x, y) {
|
|
894
892
|
this.strokePoint(x, y);
|
|
@@ -921,8 +919,8 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
921
919
|
|
|
922
920
|
/**
|
|
923
921
|
* Translates the uniform matrix by the given coordinates
|
|
924
|
-
* @param {number} x
|
|
925
|
-
* @param {number} y
|
|
922
|
+
* @param {number} x - x axis of the coordinate for the translation.
|
|
923
|
+
* @param {number} y - y axis of the coordinate for the translation.
|
|
926
924
|
*/
|
|
927
925
|
translate(x, y) {
|
|
928
926
|
let currentTransform = this.currentTransform;
|
|
@@ -941,10 +939,10 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
941
939
|
* You can however save the current region using the save(),
|
|
942
940
|
* and restore it (with the restore() method) any time in the future.
|
|
943
941
|
* (<u>this is an experimental feature !</u>)
|
|
944
|
-
* @param {number} x
|
|
945
|
-
* @param {number} y
|
|
946
|
-
* @param {number} width
|
|
947
|
-
* @param {number} height
|
|
942
|
+
* @param {number} x - x axis of the coordinate for the upper-left corner of the rectangle to start clipping from.
|
|
943
|
+
* @param {number} y - y axis of the coordinate for the upper-left corner of the rectangle to start clipping from.
|
|
944
|
+
* @param {number} width - the width of the rectangle to start clipping from.
|
|
945
|
+
* @param {number} height - the height of the rectangle to start clipping from.
|
|
948
946
|
*/
|
|
949
947
|
clipRect(x, y, width, height) {
|
|
950
948
|
let canvas = this.getCanvas();
|
|
@@ -956,7 +954,7 @@ import { isPowerOfTwo } from '../../math/math.js';
|
|
|
956
954
|
// if same as the current scissor box do nothing
|
|
957
955
|
if (currentScissor[0] === x && currentScissor[1] === y &&
|
|
958
956
|
currentScissor[2] === width && currentScissor[3] === height) {
|
|
959
|
-
|
|
957
|
+
return;
|
|
960
958
|
}
|
|
961
959
|
}
|
|
962
960
|
// flush the compositor
|