melonjs 15.1.4 → 15.1.6
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 +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 +1 -1
- package/dist/melonjs.mjs/camera/camera2d.js +3 -3
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/entity/entity.js +3 -6
- 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 +5 -5
- 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 +4 -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 +10 -10
- package/dist/melonjs.mjs/lang/console.js +1 -1
- package/dist/melonjs.mjs/lang/deprecated.js +3 -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 +4 -4
- 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 +4 -4
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
- 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 +2 -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 +4 -3
- 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 +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/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 +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 +3 -3
- package/dist/melonjs.mjs/physics/bounds.js +2 -2
- package/dist/melonjs.mjs/physics/collision.js +1 -1
- package/dist/melonjs.mjs/physics/detector.js +5 -5
- package/dist/melonjs.mjs/physics/quadtree.js +2 -2
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +13 -12
- 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 +48 -38
- package/dist/melonjs.mjs/renderable/draggable.js +121 -0
- package/dist/melonjs.mjs/renderable/dragndrop.js +3 -113
- 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 +7 -10
- package/dist/melonjs.mjs/renderable/sprite.js +1 -1
- package/dist/melonjs.mjs/renderable/trigger.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +7 -4
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +8 -2
- 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 +1 -1
- 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 +3 -3
- 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 +2 -2
- 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 +1 -1
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +3 -6
- package/dist/melonjs.mjs/video/renderer.js +1 -1
- 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 +2 -2
- 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 +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/quad_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 +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_renderer.js +1 -1
- package/dist/melonjs.module.js +153 -135
- package/dist/types/camera/camera2d.d.ts +4 -4
- package/dist/types/index.d.ts +1 -1
- package/dist/types/loader/loader.d.ts +9 -4
- package/dist/types/physics/body.d.ts +4 -4
- package/dist/types/physics/detector.d.ts +5 -5
- package/dist/types/physics/sat.d.ts +12 -12
- package/dist/types/renderable/container.d.ts +25 -25
- package/dist/types/renderable/draggable.d.ts +53 -0
- package/dist/types/renderable/dragndrop.d.ts +0 -52
- package/dist/types/renderable/renderable.d.ts +3 -3
- package/package.json +11 -11
- package/src/camera/camera2d.js +2 -2
- package/src/entity/entity.js +2 -5
- package/src/geometries/path2d.js +4 -4
- package/src/geometries/poly.js +2 -2
- package/src/index.js +2 -1
- package/src/input/pointerevent.js +9 -9
- package/src/lang/deprecated.js +2 -1
- package/src/level/tiled/TMXLayer.js +3 -3
- package/src/level/tiled/TMXUtils.js +3 -3
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
- package/src/loader/loader.js +3 -2
- package/src/physics/body.js +2 -2
- package/src/physics/bounds.js +1 -1
- package/src/physics/detector.js +4 -4
- package/src/physics/quadtree.js +1 -1
- package/src/physics/sat.js +11 -11
- package/src/renderable/container.js +47 -37
- package/src/renderable/draggable.js +114 -0
- package/src/renderable/dragndrop.js +0 -109
- package/src/renderable/renderable.js +6 -9
- package/src/renderable/trigger.js +1 -1
- package/src/renderable/ui/uibaseelement.js +6 -3
- package/src/renderable/ui/uispriteelement.js +7 -1
- package/src/text/bitmaptext.js +2 -2
- package/src/text/text.js +1 -1
- package/src/video/canvas/canvas_renderer.js +2 -5
- package/src/video/texture/canvas_texture.js +1 -1
|
@@ -1,115 +1,6 @@
|
|
|
1
|
-
import Vector2d from "./../math/vector2.js";
|
|
2
|
-
import * as input from "./../input/input.js";
|
|
3
1
|
import * as event from "./../system/event.js";
|
|
4
2
|
import Renderable from "./../renderable/renderable.js";
|
|
5
3
|
|
|
6
|
-
/**
|
|
7
|
-
* @classdesc
|
|
8
|
-
* A Draggable base object
|
|
9
|
-
* @see DropTarget
|
|
10
|
-
* @augments Renderable
|
|
11
|
-
*/
|
|
12
|
-
export class Draggable extends Renderable {
|
|
13
|
-
/**
|
|
14
|
-
* @param {number} x - the x coordinates of the draggable object
|
|
15
|
-
* @param {number} y - the y coordinates of the draggable object
|
|
16
|
-
* @param {number} width - draggable object width
|
|
17
|
-
* @param {number} height - draggable object height
|
|
18
|
-
*/
|
|
19
|
-
constructor(x, y, width, height) {
|
|
20
|
-
super(x, y, width, height);
|
|
21
|
-
this.isKinematic = false;
|
|
22
|
-
this.dragging = false;
|
|
23
|
-
this.dragId = null;
|
|
24
|
-
this.grabOffset = new Vector2d(0, 0);
|
|
25
|
-
this.initEvents();
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Initializes the events the modules needs to listen to
|
|
30
|
-
* It translates the pointer events to me.events
|
|
31
|
-
* in order to make them pass through the system and to make
|
|
32
|
-
* this module testable. Then we subscribe this module to the
|
|
33
|
-
* transformed events.
|
|
34
|
-
* @name initEvents
|
|
35
|
-
* @memberof Draggable
|
|
36
|
-
* @private
|
|
37
|
-
*/
|
|
38
|
-
initEvents() {
|
|
39
|
-
input.registerPointerEvent("pointerdown", this, (e) => event.emit(event.DRAGSTART, e, this));
|
|
40
|
-
input.registerPointerEvent("pointerup", this, (e) => event.emit(event.DRAGEND, e, this));
|
|
41
|
-
input.registerPointerEvent("pointercancel", this, (e) => event.emit(event.DRAGEND, e, this));
|
|
42
|
-
event.on(event.POINTERMOVE, (e) => this.dragMove(e));
|
|
43
|
-
event.on(event.DRAGSTART, (e, draggable) => {
|
|
44
|
-
if (draggable === this) {
|
|
45
|
-
this.dragStart(e);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
event.on(event.DRAGEND, (e, draggable) => {
|
|
49
|
-
if (draggable === this) {
|
|
50
|
-
this.dragEnd(e);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Gets called when the user starts dragging the entity
|
|
57
|
-
* @name dragStart
|
|
58
|
-
* @memberof Draggable
|
|
59
|
-
* @param {object} e - the pointer event
|
|
60
|
-
* @returns {boolean} false if the object is being dragged
|
|
61
|
-
*/
|
|
62
|
-
dragStart(e) {
|
|
63
|
-
if (this.dragging === false) {
|
|
64
|
-
this.dragging = true;
|
|
65
|
-
this.grabOffset.set(e.gameX, e.gameY);
|
|
66
|
-
this.grabOffset.sub(this.pos);
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Gets called when the user drags this entity around
|
|
73
|
-
* @name dragMove
|
|
74
|
-
* @memberof Draggable
|
|
75
|
-
* @param {object} e - the pointer event
|
|
76
|
-
*/
|
|
77
|
-
dragMove(e) {
|
|
78
|
-
if (this.dragging === true) {
|
|
79
|
-
this.pos.set(e.gameX, e.gameY, this.pos.z); //TODO : z ?
|
|
80
|
-
this.pos.sub(this.grabOffset);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Gets called when the user stops dragging the entity
|
|
86
|
-
* @name dragEnd
|
|
87
|
-
* @memberof Draggable
|
|
88
|
-
* @returns {boolean} false if the object stopped being dragged
|
|
89
|
-
*/
|
|
90
|
-
dragEnd() {
|
|
91
|
-
if (this.dragging === true) {
|
|
92
|
-
this.dragging = false;
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Destructor
|
|
99
|
-
* @name destroy
|
|
100
|
-
* @memberof Draggable
|
|
101
|
-
* @ignore
|
|
102
|
-
*/
|
|
103
|
-
destroy() {
|
|
104
|
-
event.off(event.POINTERMOVE, this.dragMove);
|
|
105
|
-
event.off(event.DRAGSTART, this.dragStart);
|
|
106
|
-
event.off(event.DRAGEND, this.dragEnd);
|
|
107
|
-
input.releasePointerEvent("pointerdown", this);
|
|
108
|
-
input.releasePointerEvent("pointerup", this);
|
|
109
|
-
input.releasePointerEvent("pointercancel", this);
|
|
110
|
-
super.destroy();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
4
|
|
|
114
5
|
/**
|
|
115
6
|
* @classdesc
|
|
@@ -263,12 +263,12 @@ import Color from "./../math/color.js";
|
|
|
263
263
|
}
|
|
264
264
|
|
|
265
265
|
/**
|
|
266
|
-
* Whether the renderable object is floating, or contained in a floating container
|
|
266
|
+
* Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container
|
|
267
267
|
* @see Renderable#floating
|
|
268
268
|
* @type {boolean}
|
|
269
269
|
*/
|
|
270
270
|
get isFloating() {
|
|
271
|
-
return this.floating === true || (typeof this.ancestor !== "undefined" && this.ancestor.
|
|
271
|
+
return this.floating === true || (typeof this.ancestor !== "undefined" && this.ancestor.isFloating === true);
|
|
272
272
|
}
|
|
273
273
|
|
|
274
274
|
/**
|
|
@@ -577,11 +577,8 @@ import Color from "./../math/color.js";
|
|
|
577
577
|
}
|
|
578
578
|
|
|
579
579
|
if (absolute === true) {
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
bounds.translate(this.ancestor.getAbsolutePosition());
|
|
583
|
-
}
|
|
584
|
-
|
|
580
|
+
var absPos = this.getAbsolutePosition();
|
|
581
|
+
bounds.centerOn(absPos.x + bounds.x + bounds.width / 2, absPos.y + bounds.y + bounds.height / 2);
|
|
585
582
|
}
|
|
586
583
|
return bounds;
|
|
587
584
|
|
|
@@ -610,7 +607,7 @@ import Color from "./../math/color.js";
|
|
|
610
607
|
}
|
|
611
608
|
// XXX Cache me or something
|
|
612
609
|
this._absPos.set(this.pos.x, this.pos.y);
|
|
613
|
-
if (typeof this.ancestor !== "undefined" && typeof this.ancestor.
|
|
610
|
+
if (typeof this.ancestor !== "undefined" && typeof this.ancestor.getAbsolutePosition === "function" && this.floating !== true) {
|
|
614
611
|
this._absPos.add(this.ancestor.getAbsolutePosition());
|
|
615
612
|
}
|
|
616
613
|
return this._absPos;
|
|
@@ -728,7 +725,7 @@ import Color from "./../math/color.js";
|
|
|
728
725
|
* onCollision callback, triggered in case of collision,
|
|
729
726
|
* when this renderable body is colliding with another one
|
|
730
727
|
* @param {ResponseObject} response - the collision response object
|
|
731
|
-
* @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
728
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
732
729
|
* @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
|
|
733
730
|
* @example
|
|
734
731
|
* // colision handler
|
|
@@ -136,7 +136,7 @@ import pool from "./../system/pooling.js";
|
|
|
136
136
|
* @name onCollision
|
|
137
137
|
* @memberof Trigger
|
|
138
138
|
* @param {ResponseObject} response - the collision response object
|
|
139
|
-
* @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
139
|
+
* @param {Renderable|Container|Entity|Sprite|NineSliceSprite} other - the other renderable touching this one (a reference to response.a or response.b)
|
|
140
140
|
* @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
|
|
141
141
|
*/
|
|
142
142
|
onCollision(response, other) { // eslint-disable-line no-unused-vars
|
|
@@ -64,7 +64,7 @@ import pool from "../../system/pooling.js";
|
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
66
|
* UI base elements use screen coordinates by default
|
|
67
|
-
* (Note: any child elements added to a UIBaseElement should
|
|
67
|
+
* (Note: any child elements added to a UIBaseElement should have their floating property to false)
|
|
68
68
|
* @see Renderable.floating
|
|
69
69
|
* @type {boolean}
|
|
70
70
|
* @default true
|
|
@@ -76,6 +76,9 @@ import pool from "../../system/pooling.js";
|
|
|
76
76
|
|
|
77
77
|
// enable event detection
|
|
78
78
|
this.isKinematic = false;
|
|
79
|
+
|
|
80
|
+
// update container and children bounds automatically
|
|
81
|
+
this.enableChildBoundsUpdate = true;
|
|
79
82
|
}
|
|
80
83
|
|
|
81
84
|
/**
|
|
@@ -110,7 +113,7 @@ import pool from "../../system/pooling.js";
|
|
|
110
113
|
* @returns {boolean} return false if we need to stop propagating the event
|
|
111
114
|
*/
|
|
112
115
|
onClick(event) { // eslint-disable-line no-unused-vars
|
|
113
|
-
return
|
|
116
|
+
return true;
|
|
114
117
|
}
|
|
115
118
|
|
|
116
119
|
/**
|
|
@@ -203,7 +206,7 @@ import pool from "../../system/pooling.js";
|
|
|
203
206
|
* @returns {boolean} return false if we need to stop propagating the event
|
|
204
207
|
*/
|
|
205
208
|
onRelease() {
|
|
206
|
-
return
|
|
209
|
+
return true;
|
|
207
210
|
}
|
|
208
211
|
|
|
209
212
|
/**
|
|
@@ -73,7 +73,13 @@ import { registerPointerEvent, releasePointerEvent} from "./../../input/input.js
|
|
|
73
73
|
this.holdTimeout = -1;
|
|
74
74
|
this.released = true;
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
/**
|
|
77
|
+
* if this UISpriteElement should use screen coordinates or local coordinates
|
|
78
|
+
* (Note: any UISpriteElement elements added to a floating parent container should have their floating property to false)
|
|
79
|
+
* @see Renderable.floating
|
|
80
|
+
* @type {boolean}
|
|
81
|
+
* @default true
|
|
82
|
+
*/
|
|
77
83
|
this.floating = true;
|
|
78
84
|
|
|
79
85
|
// enable event detection
|
package/src/text/bitmaptext.js
CHANGED
|
@@ -232,7 +232,7 @@ import TextMetrics from "./textmetrics.js";
|
|
|
232
232
|
}
|
|
233
233
|
|
|
234
234
|
if (absolute === true) {
|
|
235
|
-
if (typeof this.ancestor !== "undefined" && typeof this.ancestor.
|
|
235
|
+
if (typeof this.ancestor !== "undefined" && typeof this.ancestor.getAbsolutePosition === "function" && this.floating !== true) {
|
|
236
236
|
bounds.translate(this.ancestor.getAbsolutePosition());
|
|
237
237
|
}
|
|
238
238
|
}
|
|
@@ -311,7 +311,7 @@ import TextMetrics from "./textmetrics.js";
|
|
|
311
311
|
|
|
312
312
|
for (let i = 0; i < this._text.length; i++) {
|
|
313
313
|
x = lX;
|
|
314
|
-
|
|
314
|
+
const string = this._text[i].trimEnd();
|
|
315
315
|
// adjust x pos based on alignment value
|
|
316
316
|
let stringWidth = this.metrics.lineWidth(string);
|
|
317
317
|
switch (this.textAlign) {
|
package/src/text/text.js
CHANGED
|
@@ -375,7 +375,7 @@ const toPX = [12, 24, 0.75, 1];
|
|
|
375
375
|
setContextStyle(context, this);
|
|
376
376
|
|
|
377
377
|
for (let i = 0; i < text.length; i++) {
|
|
378
|
-
|
|
378
|
+
const string = text[i].trimEnd();
|
|
379
379
|
// draw the string
|
|
380
380
|
if (this.fillStyle.alpha > 0) {
|
|
381
381
|
context.fillText(string, x, y);
|
|
@@ -392,9 +392,8 @@ import * as event from "./../../system/event.js";
|
|
|
392
392
|
this.translate(poly.pos.x, poly.pos.y);
|
|
393
393
|
context.beginPath();
|
|
394
394
|
context.moveTo(poly.points[0].x, poly.points[0].y);
|
|
395
|
-
let point;
|
|
396
395
|
for (let i = 1; i < poly.points.length; i++) {
|
|
397
|
-
point = poly.points[i];
|
|
396
|
+
const point = poly.points[i];
|
|
398
397
|
context.lineTo(point.x, point.y);
|
|
399
398
|
}
|
|
400
399
|
context.lineTo(poly.points[0].x, poly.points[0].y);
|
|
@@ -689,11 +688,9 @@ import * as event from "./../../system/event.js";
|
|
|
689
688
|
} else {
|
|
690
689
|
// polygon
|
|
691
690
|
const _x = mask.pos.x, _y = mask.pos.y;
|
|
692
|
-
let point;
|
|
693
|
-
|
|
694
691
|
context.moveTo(_x + mask.points[0].x, _y + mask.points[0].y);
|
|
695
692
|
for (let i = 1; i < mask.points.length; i++) {
|
|
696
|
-
point = mask.points[i];
|
|
693
|
+
const point = mask.points[i];
|
|
697
694
|
context.lineTo(_x + point.x, _y + point.y);
|
|
698
695
|
}
|
|
699
696
|
}
|
|
@@ -38,7 +38,7 @@ class CanvasTexture {
|
|
|
38
38
|
* the rendering context of this CanvasTexture
|
|
39
39
|
* @type {CanvasRenderingContext2D}
|
|
40
40
|
*/
|
|
41
|
-
this.context = this.canvas.getContext(
|
|
41
|
+
this.context = this.canvas.getContext(attributes.context, { willReadFrequently: attributes.willReadFrequently });
|
|
42
42
|
|
|
43
43
|
// enable or disable antiAlias if specified
|
|
44
44
|
this.setAntiAlias(attributes.antiAlias);
|