@wcardinal/wcardinal-ui 0.403.0 → 0.405.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/wcardinal/ui/d-base-overflow-mask-simple.d.ts +3 -0
- package/dist/types/wcardinal/ui/d-base-overflow-mask.d.ts +6 -0
- package/dist/types/wcardinal/ui/shape/e-shape-buffer.d.ts +0 -3
- package/dist/types/wcardinal/ui/shape/e-shape-points-formatted.d.ts +2 -0
- package/dist/types/wcardinal/ui/shape/e-shape-points.d.ts +2 -0
- package/dist/types/wcardinal/ui/shape/e-shape-text.d.ts +3 -0
- package/dist/types/wcardinal/ui/shape/e-shape-uploaded.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/build-line.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-bar.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-base.d.ts +9 -7
- package/dist/types/wcardinal/ui/shape/variant/builder-circle.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-image-sdf.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-label.d.ts +10 -9
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-any.d.ts +4 -1
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-circles.d.ts +2 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangles.d.ts +2 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangles.d.ts +2 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +4 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-circle.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-rectangle.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-triangle.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-null.d.ts +10 -9
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-pivoted.d.ts +3 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-rounded.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle.d.ts +3 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-semicircle.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +9 -7
- package/dist/types/wcardinal/ui/shape/variant/builder-triangle-rounded.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-triangle.d.ts +3 -2
- package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +5 -2
- package/dist/types/wcardinal/ui/shape/variant/create-line-of-any-uploaded.d.ts +2 -2
- package/dist/types/wcardinal/ui/shape/variant/e-shape-bar-points.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/e-shape-group-points.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/e-shape-line-of-any-points-impl.d.ts +3 -0
- package/dist/types/wcardinal/ui/shape/variant/e-shape-line-points.d.ts +3 -0
- package/dist/types/wcardinal/ui/shape/variant/e-shape-text-impl.d.ts +5 -0
- package/dist/wcardinal/ui/d-base-overflow-mask-simple.js +9 -0
- package/dist/wcardinal/ui/d-base-overflow-mask-simple.js.map +1 -1
- package/dist/wcardinal/ui/d-base-overflow-mask.js +19 -2
- package/dist/wcardinal/ui/d-base-overflow-mask.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-buffer.js +11 -27
- package/dist/wcardinal/ui/shape/e-shape-buffer.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-points-formatted.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-points.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-uploaded.js +22 -8
- package/dist/wcardinal/ui/shape/e-shape-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-line-of-any.js +1 -1
- package/dist/wcardinal/ui/shape/variant/build-line-of-any.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-line.js +6 -5
- package/dist/wcardinal/ui/shape/variant/build-line.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-text.js +1 -1
- package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-bar.js +6 -4
- package/dist/wcardinal/ui/shape/variant/builder-bar.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-base.js +22 -1
- package/dist/wcardinal/ui/shape/variant/builder-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-circle.js +6 -4
- package/dist/wcardinal/ui/shape/variant/builder-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js +6 -4
- package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-label.js +13 -6
- package/dist/wcardinal/ui/shape/variant/builder-label.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js +36 -5
- package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js +4 -2
- package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js +6 -4
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js +4 -2
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js +6 -4
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js +4 -2
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line.js +34 -5
- package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js +6 -4
- package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js +6 -4
- package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js +6 -4
- package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-null.js +11 -4
- package/dist/wcardinal/ui/shape/variant/builder-null.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js +7 -5
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js +7 -5
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle.js +7 -5
- package/dist/wcardinal/ui/shape/variant/builder-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-semicircle.js +6 -4
- package/dist/wcardinal/ui/shape/variant/builder-semicircle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-text.js +36 -4
- package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js +7 -5
- package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-triangle.js +7 -5
- package/dist/wcardinal/ui/shape/variant/builder-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-bar-uploaded.js +2 -2
- package/dist/wcardinal/ui/shape/variant/create-bar-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-circle-uploaded.js +2 -2
- package/dist/wcardinal/ui/shape/variant/create-circle-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-group-uploaded.js +1 -1
- package/dist/wcardinal/ui/shape/variant/create-group-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-image-sdf-uploaded.js +2 -2
- package/dist/wcardinal/ui/shape/variant/create-image-sdf-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-label-uploaded.js +2 -2
- package/dist/wcardinal/ui/shape/variant/create-label-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js +4 -4
- package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-line-uploaded.js +16 -16
- package/dist/wcardinal/ui/shape/variant/create-line-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-null-uploaded.js +1 -1
- package/dist/wcardinal/ui/shape/variant/create-null-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-rectangle-pivoted-uploaded.js +2 -2
- package/dist/wcardinal/ui/shape/variant/create-rectangle-pivoted-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-rectangle-rounded-uploaded.js +2 -2
- package/dist/wcardinal/ui/shape/variant/create-rectangle-rounded-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-rectangle-uploaded.js +2 -2
- package/dist/wcardinal/ui/shape/variant/create-rectangle-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-semicircle-uploaded.js +2 -2
- package/dist/wcardinal/ui/shape/variant/create-semicircle-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-triangle-rounded-uploaded.js +2 -2
- package/dist/wcardinal/ui/shape/variant/create-triangle-rounded-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-triangle-uploaded.js +2 -2
- package/dist/wcardinal/ui/shape/variant/create-triangle-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-bar-points.js +7 -0
- package/dist/wcardinal/ui/shape/variant/e-shape-bar-points.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-group-points.js +14 -0
- package/dist/wcardinal/ui/shape/variant/e-shape-group-points.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-line-of-any-points-impl.js +15 -2
- package/dist/wcardinal/ui/shape/variant/e-shape-line-of-any-points-impl.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js +19 -3
- package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-text-impl.js +57 -24
- package/dist/wcardinal/ui/shape/variant/e-shape-text-impl.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
- package/dist/wcardinal-ui-theme-dark.js +1 -1
- package/dist/wcardinal-ui-theme-dark.min.js +1 -1
- package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
- package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
- package/dist/wcardinal-ui-theme-white.js +1 -1
- package/dist/wcardinal-ui-theme-white.min.js +1 -1
- package/dist/wcardinal-ui.cjs.js +469 -200
- package/dist/wcardinal-ui.js +469 -200
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -22,6 +22,20 @@ var EShapeGroupPoints = /** @class */ (function () {
|
|
|
22
22
|
enumerable: false,
|
|
23
23
|
configurable: true
|
|
24
24
|
});
|
|
25
|
+
Object.defineProperty(EShapeGroupPoints.prototype, "plength", {
|
|
26
|
+
get: function () {
|
|
27
|
+
var children = this._parent.children;
|
|
28
|
+
if (0 < children.length) {
|
|
29
|
+
var points = children[children.length - 1].points;
|
|
30
|
+
if (points != null) {
|
|
31
|
+
return points.plength;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return 0;
|
|
35
|
+
},
|
|
36
|
+
enumerable: false,
|
|
37
|
+
configurable: true
|
|
38
|
+
});
|
|
25
39
|
Object.defineProperty(EShapeGroupPoints.prototype, "id", {
|
|
26
40
|
get: function () {
|
|
27
41
|
var children = this._parent.children;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-group-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-group-points.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix, Point } from \"pixi.js\";\nimport { EShape } from \"../e-shape\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapePointsFormatted } from \"../e-shape-points-formatted\";\nimport { EShapePointsFormatter } from \"../e-shape-points-formatter\";\nimport { EShapePointsMarkerContainer } from \"../e-shape-points-marker-container\";\nimport { EShapePointsMarkerContainerImplNoop } from \"../e-shape-points-marker-container-impl-noop\";\nimport { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeGroupPropertyParent } from \"./e-shape-group-property-parent\";\n\nexport class EShapeGroupPoints implements EShapePoints {\n\tprotected _parent: EShapeGroupPropertyParent;\n\n\tconstructor(parent: EShapeGroupPropertyParent) {\n\t\tthis._parent = parent;\n\t}\n\n\tget length(): number {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.length;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\tget id(): number {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.id;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\tget values(): number[] {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.values;\n\t\t\t}\n\t\t}\n\t\treturn [];\n\t}\n\n\tset values(values: number[]) {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\tpoints.values = values;\n\t\t\t}\n\t\t}\n\t}\n\n\tget segments(): number[] {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.segments;\n\t\t\t}\n\t\t}\n\t\treturn [];\n\t}\n\n\tset segments(segments: number[]) {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\tpoints.segments = segments;\n\t\t\t}\n\t\t}\n\t}\n\n\tget style(): EShapePointsStyle {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.style;\n\t\t\t}\n\t\t}\n\t\treturn EShapePointsStyle.NONE;\n\t}\n\n\tset style(style: EShapePointsStyle) {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\tpoints.style = style;\n\t\t\t}\n\t\t}\n\t}\n\n\tget marker(): EShapePointsMarkerContainer {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.marker;\n\t\t\t}\n\t\t}\n\t\treturn EShapePointsMarkerContainerImplNoop.getInstance();\n\t}\n\n\tgetMarker(): EShapePointsMarkerContainer | undefined {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.getMarker();\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tget formatter(): EShapePointsFormatter | null {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.formatter;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tset formatter(formatter: EShapePointsFormatter | null) {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\tpoints.formatter = formatter;\n\t\t\t}\n\t\t}\n\t}\n\n\tget formatted(): EShapePointsFormatted {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.formatted;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tonSizeChange(): void {\n\t\t// DO NOTHING\n\t}\n\n\tcopy(source: EShapePoints): this {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\tpoints.copy(source);\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tset(values?: number[], segments?: number[], style?: EShapePointsStyle): this {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\tpoints.set(values, segments, style);\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone(parent: EShape): EShapeGroupPoints {\n\t\treturn new EShapeGroupPoints(parent);\n\t}\n\n\ttoPoints(transform: Matrix): Point[] {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.toPoints(transform);\n\t\t\t}\n\t\t}\n\t\treturn [];\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.serialize(manager);\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"e-shape-group-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-group-points.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix, Point } from \"pixi.js\";\nimport { EShape } from \"../e-shape\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapePointsFormatted } from \"../e-shape-points-formatted\";\nimport { EShapePointsFormatter } from \"../e-shape-points-formatter\";\nimport { EShapePointsMarkerContainer } from \"../e-shape-points-marker-container\";\nimport { EShapePointsMarkerContainerImplNoop } from \"../e-shape-points-marker-container-impl-noop\";\nimport { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeGroupPropertyParent } from \"./e-shape-group-property-parent\";\n\nexport class EShapeGroupPoints implements EShapePoints {\n\tprotected _parent: EShapeGroupPropertyParent;\n\n\tconstructor(parent: EShapeGroupPropertyParent) {\n\t\tthis._parent = parent;\n\t}\n\n\tget length(): number {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.length;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\tget plength(): number {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.plength;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\tget id(): number {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.id;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\tget values(): number[] {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.values;\n\t\t\t}\n\t\t}\n\t\treturn [];\n\t}\n\n\tset values(values: number[]) {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\tpoints.values = values;\n\t\t\t}\n\t\t}\n\t}\n\n\tget segments(): number[] {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.segments;\n\t\t\t}\n\t\t}\n\t\treturn [];\n\t}\n\n\tset segments(segments: number[]) {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\tpoints.segments = segments;\n\t\t\t}\n\t\t}\n\t}\n\n\tget style(): EShapePointsStyle {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.style;\n\t\t\t}\n\t\t}\n\t\treturn EShapePointsStyle.NONE;\n\t}\n\n\tset style(style: EShapePointsStyle) {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\tpoints.style = style;\n\t\t\t}\n\t\t}\n\t}\n\n\tget marker(): EShapePointsMarkerContainer {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.marker;\n\t\t\t}\n\t\t}\n\t\treturn EShapePointsMarkerContainerImplNoop.getInstance();\n\t}\n\n\tgetMarker(): EShapePointsMarkerContainer | undefined {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.getMarker();\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tget formatter(): EShapePointsFormatter | null {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.formatter;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tset formatter(formatter: EShapePointsFormatter | null) {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\tpoints.formatter = formatter;\n\t\t\t}\n\t\t}\n\t}\n\n\tget formatted(): EShapePointsFormatted {\n\t\tconst children = this._parent.children;\n\t\tif (0 < children.length) {\n\t\t\tconst points = children[children.length - 1].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.formatted;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tonSizeChange(): void {\n\t\t// DO NOTHING\n\t}\n\n\tcopy(source: EShapePoints): this {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\tpoints.copy(source);\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tset(values?: number[], segments?: number[], style?: EShapePointsStyle): this {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\tpoints.set(values, segments, style);\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone(parent: EShape): EShapeGroupPoints {\n\t\treturn new EShapeGroupPoints(parent);\n\t}\n\n\ttoPoints(transform: Matrix): Point[] {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.toPoints(transform);\n\t\t\t}\n\t\t}\n\t\treturn [];\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst children = this._parent.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn points.serialize(manager);\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t}\n}\n"]}
|
|
@@ -15,6 +15,8 @@ var EShapeLineOfAnyPointsImpl = /** @class */ (function () {
|
|
|
15
15
|
this._values = [];
|
|
16
16
|
this._valuesLength = 0;
|
|
17
17
|
this._segments = [];
|
|
18
|
+
this._length = 0;
|
|
19
|
+
this._plength = 0;
|
|
18
20
|
this._size = new EShapeLineOfAnyPointsPointImpl(this, EShapeDefaults.SIZE_X, EShapeDefaults.SIZE_Y);
|
|
19
21
|
this._offset = new EShapeLineOfAnyPointsPointImpl(this, 0, 0);
|
|
20
22
|
this._fill = new EShapeLineOfAnyPointsFillImpl(parent);
|
|
@@ -23,7 +25,14 @@ var EShapeLineOfAnyPointsImpl = /** @class */ (function () {
|
|
|
23
25
|
}
|
|
24
26
|
Object.defineProperty(EShapeLineOfAnyPointsImpl.prototype, "length", {
|
|
25
27
|
get: function () {
|
|
26
|
-
return this.
|
|
28
|
+
return this._length;
|
|
29
|
+
},
|
|
30
|
+
enumerable: false,
|
|
31
|
+
configurable: true
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(EShapeLineOfAnyPointsImpl.prototype, "plength", {
|
|
34
|
+
get: function () {
|
|
35
|
+
return this._plength;
|
|
27
36
|
},
|
|
28
37
|
enumerable: false,
|
|
29
38
|
configurable: true
|
|
@@ -168,6 +177,11 @@ var EShapeLineOfAnyPointsImpl = /** @class */ (function () {
|
|
|
168
177
|
isUpdated = true;
|
|
169
178
|
}
|
|
170
179
|
}
|
|
180
|
+
var newLength = newValuesLength >> 1;
|
|
181
|
+
this._length = newLength;
|
|
182
|
+
if (this._plength < newLength) {
|
|
183
|
+
this._plength = newLength;
|
|
184
|
+
}
|
|
171
185
|
}
|
|
172
186
|
//
|
|
173
187
|
if (isDirty) {
|
|
@@ -179,7 +193,6 @@ var EShapeLineOfAnyPointsImpl = /** @class */ (function () {
|
|
|
179
193
|
parent_1.updateUploaded();
|
|
180
194
|
}
|
|
181
195
|
else {
|
|
182
|
-
parent_1.uploaded = undefined;
|
|
183
196
|
parent_1.toDirty();
|
|
184
197
|
}
|
|
185
198
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-line-of-any-points-impl.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-line-of-any-points-impl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAU,KAAK,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AAIvF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAEzF,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAE3F;IAcC,mCAAY,MAAc;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,8BAA8B,CAC9C,IAAI,EACJ,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,MAAM,CACrB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,8BAA8B,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,IAAI,6BAA6B,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,+BAA+B,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACd,CAAC;IAED,sBAAI,6CAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QACjC,CAAC;;;OAAA;IAED,sBAAI,yCAAE;aAAN;YACC,OAAO,IAAI,CAAC,GAAG,CAAC;QACjB,CAAC;;;OAAA;IAED,sBAAI,6CAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;aAED,UAAW,MAAgB;YAC1B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;;;OAJA;IAMD,sBAAI,+CAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;aAED,UAAa,QAAkB;YAC9B,aAAa;QACd,CAAC;;;OAJA;IAMD,sBAAI,4CAAK;aAAT;YACC,OAAO,iBAAiB,CAAC,IAAI,CAAC;QAC/B,CAAC;aAED,UAAU,KAAwB;YACjC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;;;OAJA;IAMD,sBAAI,6CAAM;aAAV;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,MAAM,GAAG,mCAAmC,CAAC,WAAW,EAAE,CAAC;gBAC3D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;aACtB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAED,6CAAS,GAAT;QACC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,sBAAI,2CAAI;aAAR;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IAED,sBAAI,6CAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,2CAAI;aAAR;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IAED,sBAAI,6CAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,gDAAS;aAAb;YACC,OAAO,IAAI,CAAC;QACb,CAAC;aAED,UAAc,SAAuC;YACpD,aAAa;QACd,CAAC;;;OAJA;IAMD,sBAAI,gDAAS;aAAb;YACC,OAAO,IAAI,CAAC;QACb,CAAC;;;OAAA;IAED,gDAAY,GAAZ;QACC,aAAa;IACd,CAAC;IAED,4CAAQ,GAAR,UAAS,CAAS,EAAE,CAAS;QAC5B,aAAa;IACd,CAAC;IAED,wCAAI,GAAJ,UAAK,MAAoB;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,uCAAG,GAAH,UAAI,SAAoB,EAAE,WAAsB,EAAE,QAA4B;QAC7E,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,SAAS;QACT,IAAI,SAAS,IAAI,IAAI,EAAE;YACtB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;YACzC,IAAI,MAAM,KAAK,SAAS,EAAE;gBACzB,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;gBAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC,EAAE;oBACjC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;iBACzB;gBAED,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,eAAe,EAAE,EAAE,CAAC,EAAE;oBAC/C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC1B;gBAED,IAAI,YAAY,KAAK,eAAe,EAAE;oBACrC,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC;oBAChC,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC;oBACrC,OAAO,GAAG,IAAI,CAAC;iBACf;qBAAM;oBACN,SAAS,GAAG,IAAI,CAAC;iBACjB;aACD;iBAAM;gBACN,IAAI,YAAY,KAAK,eAAe,EAAE;oBACrC,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC;oBACrC,OAAO,GAAG,IAAI,CAAC;iBACf;qBAAM;oBACN,SAAS,GAAG,IAAI,CAAC;iBACjB;aACD;SACD;QAED,EAAE;QACF,IAAI,OAAO,EAAE;YACZ,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACd,IAAM,QAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAM,QAAQ,GAAG,QAAM,CAAC,QAAQ,CAAC;YACjC,IAAI,QAAQ,EAAE;gBACb,IAAI,QAAQ,CAAC,YAAY,CAAC,QAAM,CAAC,EAAE;oBAClC,QAAM,CAAC,cAAc,EAAE,CAAC;iBACxB;qBAAM;oBACN,QAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAC5B,QAAM,CAAC,OAAO,EAAE,CAAC;iBACjB;aACD;iBAAM;gBACN,QAAM,CAAC,cAAc,EAAE,CAAC;aACxB;SACD;aAAM,IAAI,SAAS,EAAE;YACrB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;SAC9B;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,kDAAc,GAAd;QACC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED,yCAAK,GAAL,UAAM,MAAc;QACnB,OAAO,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,4CAAQ,GAAR,UAAS,SAAiB;QACzB,IAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;YACvD,IAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,6CAAS,GAAT,UAAU,OAA2C;QACpD,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,mDAAe,GAAf,UACC,CAAS,EACT,CAAS,EACT,EAAU,EACV,EAAU,EACV,EAAU,EACV,SAAiB,EACjB,OAAqD,EACrD,MAA8C,EAC9C,MAAc;QAEd,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;QACpC,IAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC;QACrC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,GAAG,UAAU,CAAC;QACtB,IAAI,OAAO,EAAE;YACZ,IAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;YAChC,IAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAM,IAAI,GAAG,yBAAyB,CAAC,UAAU,CAAC;YAClD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YACxD,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;SACf;QACD,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACtE,IAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAM,EAAE,GAAG,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC9B,IAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC9B,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE;gBAC3E,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IA3OgB,oCAAU,GAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IA4OxD,gCAAC;CAAA,AA7OD,IA6OC;SA7OY,yBAAyB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix, Point } from \"pixi.js\";\nimport { EShape } from \"../e-shape\";\nimport { EShapeDefaults } from \"../e-shape-defaults\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapePointsFormatter } from \"../e-shape-points-formatter\";\nimport { EShapePointsMarkerContainer } from \"../e-shape-points-marker-container\";\nimport { EShapePointsMarkerContainerImplNoop } from \"../e-shape-points-marker-container-impl-noop\";\nimport { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsFill } from \"./e-shape-line-of-any-points-fill\";\nimport { EShapeLineOfAnyPointsFillImpl } from \"./e-shape-line-of-any-points-fill-impl\";\nimport { EShapeLineOfAnyPointsHitTester } from \"./e-shape-line-of-any-points-hit-tester\";\nimport { EShapeLineOfAnyPointsHitTesterToRange } from \"./e-shape-line-of-any-points-hit-tester-to-range\";\nimport { EShapeLineOfAnyPointsPoint } from \"./e-shape-line-of-any-points-point\";\nimport { EShapeLineOfAnyPointsPointImpl } from \"./e-shape-line-of-any-points-point-impl\";\nimport { EShapeLineOfAnyPointsStroke } from \"./e-shape-line-of-any-points-stroke\";\nimport { EShapeLineOfAnyPointsStrokeImpl } from \"./e-shape-line-of-any-points-stroke-impl\";\n\nexport class EShapeLineOfAnyPointsImpl implements EShapeLineOfAnyPoints {\n\tprotected static WORK_RANGE: [number, number] = [0, 0];\n\n\tprotected _parent: EShape;\n\tprotected _values: number[];\n\tprotected _valuesLength: number;\n\tprotected _segments: number[];\n\tprotected _size: EShapeLineOfAnyPointsPoint;\n\tprotected _offset: EShapeLineOfAnyPointsPoint;\n\tprotected _fill: EShapeLineOfAnyPointsFill;\n\tprotected _stroke: EShapeLineOfAnyPointsStroke;\n\tprotected _id: number;\n\tprotected _marker?: EShapePointsMarkerContainer;\n\n\tconstructor(parent: EShape) {\n\t\tthis._parent = parent;\n\t\tthis._values = [];\n\t\tthis._valuesLength = 0;\n\t\tthis._segments = [];\n\t\tthis._size = new EShapeLineOfAnyPointsPointImpl(\n\t\t\tthis,\n\t\t\tEShapeDefaults.SIZE_X,\n\t\t\tEShapeDefaults.SIZE_Y\n\t\t);\n\t\tthis._offset = new EShapeLineOfAnyPointsPointImpl(this, 0, 0);\n\t\tthis._fill = new EShapeLineOfAnyPointsFillImpl(parent);\n\t\tthis._stroke = new EShapeLineOfAnyPointsStrokeImpl(parent);\n\t\tthis._id = 0;\n\t}\n\n\tget length(): number {\n\t\treturn this._values.length >> 1;\n\t}\n\n\tget id(): number {\n\t\treturn this._id;\n\t}\n\n\tget values(): number[] {\n\t\treturn this._values;\n\t}\n\n\tset values(values: number[]) {\n\t\tthis.set(values, undefined, undefined);\n\t}\n\n\tget segments(): number[] {\n\t\treturn this._segments;\n\t}\n\n\tset segments(segments: number[]) {\n\t\t// DO NOTHING\n\t}\n\n\tget style(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.NONE;\n\t}\n\n\tset style(style: EShapePointsStyle) {\n\t\tthis.set(undefined, undefined, style);\n\t}\n\n\tget marker(): EShapePointsMarkerContainer {\n\t\tlet result = this._marker;\n\t\tif (result == null) {\n\t\t\tresult = EShapePointsMarkerContainerImplNoop.getInstance();\n\t\t\tthis._marker = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetMarker(): EShapePointsMarkerContainer | undefined {\n\t\treturn undefined;\n\t}\n\n\tget size(): EShapeLineOfAnyPointsPoint {\n\t\treturn this._size;\n\t}\n\n\tget offset(): EShapeLineOfAnyPointsPoint {\n\t\treturn this._offset;\n\t}\n\n\tget fill(): EShapeLineOfAnyPointsFill {\n\t\treturn this._fill;\n\t}\n\n\tget stroke(): EShapeLineOfAnyPointsStroke {\n\t\treturn this._stroke;\n\t}\n\n\tget formatter(): EShapePointsFormatter | null {\n\t\treturn null;\n\t}\n\n\tset formatter(formatter: EShapePointsFormatter | null) {\n\t\t// DO NOTHING\n\t}\n\n\tget formatted(): this {\n\t\treturn this;\n\t}\n\n\tonSizeChange(): void {\n\t\t// DO NOTHING\n\t}\n\n\ttoFitted(x: number, y: number): void {\n\t\t// DO NOTHING\n\t}\n\n\tcopy(source: EShapePoints): this {\n\t\treturn this.set(source.values, source.segments, source.style);\n\t}\n\n\tset(newValues?: number[], newSegments?: number[], newStyle?: EShapePointsStyle): this {\n\t\tlet isDirty = false;\n\t\tlet isUpdated = false;\n\n\t\t// Values\n\t\tif (newValues != null) {\n\t\t\tconst values = this._values;\n\t\t\tconst valuesLength = this._valuesLength;\n\t\t\tconst newValuesLength = newValues.length;\n\t\t\tif (values !== newValues) {\n\t\t\t\tconst iupdate = Math.min(valuesLength, newValuesLength);\n\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tvalues[i] = newValues[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newValuesLength; ++i) {\n\t\t\t\t\tvalues.push(newValues[i]);\n\t\t\t\t}\n\n\t\t\t\tif (valuesLength !== newValuesLength) {\n\t\t\t\t\tvalues.length = newValuesLength;\n\t\t\t\t\tthis._valuesLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tisUpdated = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (valuesLength !== newValuesLength) {\n\t\t\t\t\tthis._valuesLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tisUpdated = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tif (isDirty) {\n\t\t\tthis._id += 1;\n\t\t\tconst parent = this._parent;\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded) {\n\t\t\t\tif (uploaded.isCompatible(parent)) {\n\t\t\t\t\tparent.updateUploaded();\n\t\t\t\t} else {\n\t\t\t\t\tparent.uploaded = undefined;\n\t\t\t\t\tparent.toDirty();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tparent.updateUploaded();\n\t\t\t}\n\t\t} else if (isUpdated) {\n\t\t\tthis._id += 1;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tupdateUploaded(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tclone(parent: EShape): EShapeLineOfAnyPointsImpl {\n\t\treturn new EShapeLineOfAnyPointsImpl(parent).copy(this);\n\t}\n\n\ttoPoints(transform: Matrix): Point[] {\n\t\tconst result: Point[] = [];\n\t\tconst values = this.values;\n\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\tconst point = new Point(values[i + 0], values[i + 1]);\n\t\t\tresult.push(transform.apply(point, point));\n\t\t}\n\t\treturn result;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\treturn manager.addResource(`[]`);\n\t}\n\n\tcalcHitPointAbs<RESULT>(\n\t\tx: number,\n\t\ty: number,\n\t\tsw: number,\n\t\tss: number,\n\t\tsa: number,\n\t\tthreshold: number,\n\t\ttoRange: EShapeLineOfAnyPointsHitTesterToRange | null,\n\t\ttester: EShapeLineOfAnyPointsHitTester<RESULT>,\n\t\tresult: RESULT\n\t): boolean {\n\t\tconst formatted = this.formatted;\n\t\tconst pointCount = formatted.length;\n\t\tconst pointValues = formatted.values;\n\t\tconst size = this._size;\n\t\tconst offset = this._offset;\n\t\tlet istart = 0;\n\t\tlet iend = pointCount;\n\t\tif (toRange) {\n\t\t\tconst s = size.getLimit() * 0.5;\n\t\t\tconst o = offset.getLimit();\n\t\t\tconst work = EShapeLineOfAnyPointsImpl.WORK_RANGE;\n\t\t\ttoRange(x, y, s, s, o, o, threshold, pointValues, work);\n\t\t\tistart = work[0];\n\t\t\tiend = work[1];\n\t\t}\n\t\tfor (let i = istart, imax = Math.min(iend, pointCount); i < imax; ++i) {\n\t\t\tconst iv = i << 1;\n\t\t\tconst px = pointValues[iv];\n\t\t\tconst py = pointValues[iv + 1];\n\t\t\tconst sx = size.getX(i) * 0.5;\n\t\t\tconst sy = size.getY(i) * 0.5;\n\t\t\tconst ox = offset.getX(i);\n\t\t\tconst oy = offset.getY(i);\n\t\t\tif (tester(x, y, sx, sy, ox, oy, px, py, sw, ss, sa, i, threshold, result)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"e-shape-line-of-any-points-impl.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-line-of-any-points-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix, Point } from \"pixi.js\";\nimport { EShape } from \"../e-shape\";\nimport { EShapeDefaults } from \"../e-shape-defaults\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapePointsFormatter } from \"../e-shape-points-formatter\";\nimport { EShapePointsMarkerContainer } from \"../e-shape-points-marker-container\";\nimport { EShapePointsMarkerContainerImplNoop } from \"../e-shape-points-marker-container-impl-noop\";\nimport { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsFill } from \"./e-shape-line-of-any-points-fill\";\nimport { EShapeLineOfAnyPointsFillImpl } from \"./e-shape-line-of-any-points-fill-impl\";\nimport { EShapeLineOfAnyPointsHitTester } from \"./e-shape-line-of-any-points-hit-tester\";\nimport { EShapeLineOfAnyPointsHitTesterToRange } from \"./e-shape-line-of-any-points-hit-tester-to-range\";\nimport { EShapeLineOfAnyPointsPoint } from \"./e-shape-line-of-any-points-point\";\nimport { EShapeLineOfAnyPointsPointImpl } from \"./e-shape-line-of-any-points-point-impl\";\nimport { EShapeLineOfAnyPointsStroke } from \"./e-shape-line-of-any-points-stroke\";\nimport { EShapeLineOfAnyPointsStrokeImpl } from \"./e-shape-line-of-any-points-stroke-impl\";\n\nexport class EShapeLineOfAnyPointsImpl implements EShapeLineOfAnyPoints {\n\tprotected static WORK_RANGE: [number, number] = [0, 0];\n\n\tprotected _parent: EShape;\n\tprotected _values: number[];\n\tprotected _valuesLength: number;\n\tprotected _segments: number[];\n\tprotected _length: number;\n\tprotected _plength: number;\n\tprotected _size: EShapeLineOfAnyPointsPoint;\n\tprotected _offset: EShapeLineOfAnyPointsPoint;\n\tprotected _fill: EShapeLineOfAnyPointsFill;\n\tprotected _stroke: EShapeLineOfAnyPointsStroke;\n\tprotected _id: number;\n\tprotected _marker?: EShapePointsMarkerContainer;\n\n\tconstructor(parent: EShape) {\n\t\tthis._parent = parent;\n\t\tthis._values = [];\n\t\tthis._valuesLength = 0;\n\t\tthis._segments = [];\n\t\tthis._length = 0;\n\t\tthis._plength = 0;\n\t\tthis._size = new EShapeLineOfAnyPointsPointImpl(\n\t\t\tthis,\n\t\t\tEShapeDefaults.SIZE_X,\n\t\t\tEShapeDefaults.SIZE_Y\n\t\t);\n\t\tthis._offset = new EShapeLineOfAnyPointsPointImpl(this, 0, 0);\n\t\tthis._fill = new EShapeLineOfAnyPointsFillImpl(parent);\n\t\tthis._stroke = new EShapeLineOfAnyPointsStrokeImpl(parent);\n\t\tthis._id = 0;\n\t}\n\n\tget length(): number {\n\t\treturn this._length;\n\t}\n\n\tget plength(): number {\n\t\treturn this._plength;\n\t}\n\n\tget id(): number {\n\t\treturn this._id;\n\t}\n\n\tget values(): number[] {\n\t\treturn this._values;\n\t}\n\n\tset values(values: number[]) {\n\t\tthis.set(values, undefined, undefined);\n\t}\n\n\tget segments(): number[] {\n\t\treturn this._segments;\n\t}\n\n\tset segments(segments: number[]) {\n\t\t// DO NOTHING\n\t}\n\n\tget style(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.NONE;\n\t}\n\n\tset style(style: EShapePointsStyle) {\n\t\tthis.set(undefined, undefined, style);\n\t}\n\n\tget marker(): EShapePointsMarkerContainer {\n\t\tlet result = this._marker;\n\t\tif (result == null) {\n\t\t\tresult = EShapePointsMarkerContainerImplNoop.getInstance();\n\t\t\tthis._marker = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetMarker(): EShapePointsMarkerContainer | undefined {\n\t\treturn undefined;\n\t}\n\n\tget size(): EShapeLineOfAnyPointsPoint {\n\t\treturn this._size;\n\t}\n\n\tget offset(): EShapeLineOfAnyPointsPoint {\n\t\treturn this._offset;\n\t}\n\n\tget fill(): EShapeLineOfAnyPointsFill {\n\t\treturn this._fill;\n\t}\n\n\tget stroke(): EShapeLineOfAnyPointsStroke {\n\t\treturn this._stroke;\n\t}\n\n\tget formatter(): EShapePointsFormatter | null {\n\t\treturn null;\n\t}\n\n\tset formatter(formatter: EShapePointsFormatter | null) {\n\t\t// DO NOTHING\n\t}\n\n\tget formatted(): this {\n\t\treturn this;\n\t}\n\n\tonSizeChange(): void {\n\t\t// DO NOTHING\n\t}\n\n\ttoFitted(x: number, y: number): void {\n\t\t// DO NOTHING\n\t}\n\n\tcopy(source: EShapePoints): this {\n\t\treturn this.set(source.values, source.segments, source.style);\n\t}\n\n\tset(newValues?: number[], newSegments?: number[], newStyle?: EShapePointsStyle): this {\n\t\tlet isDirty = false;\n\t\tlet isUpdated = false;\n\n\t\t// Values\n\t\tif (newValues != null) {\n\t\t\tconst values = this._values;\n\t\t\tconst valuesLength = this._valuesLength;\n\t\t\tconst newValuesLength = newValues.length;\n\t\t\tif (values !== newValues) {\n\t\t\t\tconst iupdate = Math.min(valuesLength, newValuesLength);\n\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tvalues[i] = newValues[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newValuesLength; ++i) {\n\t\t\t\t\tvalues.push(newValues[i]);\n\t\t\t\t}\n\n\t\t\t\tif (valuesLength !== newValuesLength) {\n\t\t\t\t\tvalues.length = newValuesLength;\n\t\t\t\t\tthis._valuesLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tisUpdated = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (valuesLength !== newValuesLength) {\n\t\t\t\t\tthis._valuesLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tisUpdated = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst newLength = newValuesLength >> 1;\n\t\t\tthis._length = newLength;\n\t\t\tif (this._plength < newLength) {\n\t\t\t\tthis._plength = newLength;\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tif (isDirty) {\n\t\t\tthis._id += 1;\n\t\t\tconst parent = this._parent;\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded) {\n\t\t\t\tif (uploaded.isCompatible(parent)) {\n\t\t\t\t\tparent.updateUploaded();\n\t\t\t\t} else {\n\t\t\t\t\tparent.toDirty();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tparent.updateUploaded();\n\t\t\t}\n\t\t} else if (isUpdated) {\n\t\t\tthis._id += 1;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tupdateUploaded(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tclone(parent: EShape): EShapeLineOfAnyPointsImpl {\n\t\treturn new EShapeLineOfAnyPointsImpl(parent).copy(this);\n\t}\n\n\ttoPoints(transform: Matrix): Point[] {\n\t\tconst result: Point[] = [];\n\t\tconst values = this.values;\n\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\tconst point = new Point(values[i + 0], values[i + 1]);\n\t\t\tresult.push(transform.apply(point, point));\n\t\t}\n\t\treturn result;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\treturn manager.addResource(`[]`);\n\t}\n\n\tcalcHitPointAbs<RESULT>(\n\t\tx: number,\n\t\ty: number,\n\t\tsw: number,\n\t\tss: number,\n\t\tsa: number,\n\t\tthreshold: number,\n\t\ttoRange: EShapeLineOfAnyPointsHitTesterToRange | null,\n\t\ttester: EShapeLineOfAnyPointsHitTester<RESULT>,\n\t\tresult: RESULT\n\t): boolean {\n\t\tconst formatted = this.formatted;\n\t\tconst pointCount = formatted.length;\n\t\tconst pointValues = formatted.values;\n\t\tconst size = this._size;\n\t\tconst offset = this._offset;\n\t\tlet istart = 0;\n\t\tlet iend = pointCount;\n\t\tif (toRange) {\n\t\t\tconst s = size.getLimit() * 0.5;\n\t\t\tconst o = offset.getLimit();\n\t\t\tconst work = EShapeLineOfAnyPointsImpl.WORK_RANGE;\n\t\t\ttoRange(x, y, s, s, o, o, threshold, pointValues, work);\n\t\t\tistart = work[0];\n\t\t\tiend = work[1];\n\t\t}\n\t\tfor (let i = istart, imax = Math.min(iend, pointCount); i < imax; ++i) {\n\t\t\tconst iv = i << 1;\n\t\t\tconst px = pointValues[iv];\n\t\t\tconst py = pointValues[iv + 1];\n\t\t\tconst sx = size.getX(i) * 0.5;\n\t\t\tconst sy = size.getY(i) * 0.5;\n\t\t\tconst ox = offset.getX(i);\n\t\t\tconst oy = offset.getY(i);\n\t\t\tif (tester(x, y, sx, sy, ox, oy, px, py, sw, ss, sa, i, threshold, result)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
|
|
@@ -14,6 +14,8 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
14
14
|
this._valuesBaseLength = 0;
|
|
15
15
|
this._values = [];
|
|
16
16
|
this._segments = [];
|
|
17
|
+
this._length = 0;
|
|
18
|
+
this._plength = 0;
|
|
17
19
|
var parentSize = parent.size;
|
|
18
20
|
var parentSizeX = parentSize.x;
|
|
19
21
|
var parentSizeY = parentSize.y;
|
|
@@ -25,7 +27,14 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
25
27
|
}
|
|
26
28
|
Object.defineProperty(EShapeLinePoints.prototype, "length", {
|
|
27
29
|
get: function () {
|
|
28
|
-
return this.
|
|
30
|
+
return this._length;
|
|
31
|
+
},
|
|
32
|
+
enumerable: false,
|
|
33
|
+
configurable: true
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(EShapeLinePoints.prototype, "plength", {
|
|
36
|
+
get: function () {
|
|
37
|
+
return this._plength;
|
|
29
38
|
},
|
|
30
39
|
enumerable: false,
|
|
31
40
|
configurable: true
|
|
@@ -82,7 +91,6 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
82
91
|
if (this._formatter || this._style & EShapePointsStyle.FORMATTER_MASK) {
|
|
83
92
|
var uploaded = parent.uploaded;
|
|
84
93
|
if (uploaded && !uploaded.isCompatible(parent)) {
|
|
85
|
-
parent.uploaded = undefined;
|
|
86
94
|
parent.toDirty();
|
|
87
95
|
}
|
|
88
96
|
}
|
|
@@ -186,6 +194,7 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
186
194
|
if (result == null) {
|
|
187
195
|
result = {
|
|
188
196
|
length: 0,
|
|
197
|
+
plength: 0,
|
|
189
198
|
values: [],
|
|
190
199
|
segments: [],
|
|
191
200
|
boundary: [0, 0, 0, 0],
|
|
@@ -196,6 +205,9 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
196
205
|
var segments = this._segments;
|
|
197
206
|
var length_1 = values.length >> 1;
|
|
198
207
|
formatter(length_1, values, segments, style, result);
|
|
208
|
+
if (result.plength < result.length) {
|
|
209
|
+
result.plength = result.length;
|
|
210
|
+
}
|
|
199
211
|
toPointsBoundary(result.values, result.boundary);
|
|
200
212
|
}
|
|
201
213
|
else {
|
|
@@ -285,6 +297,11 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
285
297
|
}
|
|
286
298
|
}
|
|
287
299
|
}
|
|
300
|
+
var newLength = newValuesLength >> 1;
|
|
301
|
+
this._length = newLength;
|
|
302
|
+
if (this._plength < newLength) {
|
|
303
|
+
this._plength = newLength;
|
|
304
|
+
}
|
|
288
305
|
}
|
|
289
306
|
// Segments
|
|
290
307
|
if (newSegments != null) {
|
|
@@ -350,7 +367,6 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
350
367
|
parent_1.updateUploaded();
|
|
351
368
|
}
|
|
352
369
|
else {
|
|
353
|
-
parent_1.uploaded = undefined;
|
|
354
370
|
parent_1.toDirty();
|
|
355
371
|
}
|
|
356
372
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-line-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-line-points.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix, Point } from \"pixi.js\";\nimport { toIndexOf } from \"../../util/to-index-of\";\nimport { EShape } from \"../e-shape\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapePointsFormatter } from \"../e-shape-points-formatter\";\nimport {\n\tEShapePointsFormatted,\n\tEShapePointsFormattedBoundary,\n\tEShapePointsFormattedWithBoundary,\n\ttoPointsBoundary\n} from \"../e-shape-points-formatted\";\nimport { EShapeLineBasePointsHitTester } from \"./e-shape-line-base-points-hit-tester\";\nimport { EShapeLineBasePointsHitTesterToRange } from \"./e-shape-line-base-points-hit-tester-to-range\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapePointsMarkerContainer } from \"../e-shape-points-marker-container\";\nimport { EShapePointsMarkerContainerImpl } from \"../e-shape-points-marker-container-impl\";\nimport { EShapePointsFormatters } from \"../e-shape-points-formatters\";\n\nexport type EShapeLinePointsSerialized = [number[], number[], number, number?];\n\nexport class EShapeLinePoints implements EShapePoints {\n\tprotected static WORK_RANGE: [number, number] = [0, 0];\n\n\tprotected _parent: EShape;\n\tprotected _valuesBase?: number[];\n\tprotected _valuesBaseLength: number;\n\tprotected _values: number[];\n\tprotected _segments: number[];\n\tprotected _parentSizeBase: Point;\n\tprotected _parentSizeFitted: Point;\n\tprotected _id: number;\n\tprotected _style: EShapePointsStyle;\n\tprotected _formattedId: number;\n\tprotected _formatter?: EShapePointsFormatter | null;\n\tprotected _formatted?: EShapePointsFormattedWithBoundary;\n\n\tprotected _marker?: EShapePointsMarkerContainer;\n\n\tconstructor(parent: EShape) {\n\t\tthis._parent = parent;\n\t\tthis._valuesBaseLength = 0;\n\t\tthis._values = [];\n\t\tthis._segments = [];\n\t\tconst parentSize = parent.size;\n\t\tconst parentSizeX = parentSize.x;\n\t\tconst parentSizeY = parentSize.y;\n\t\tthis._parentSizeBase = new Point(parentSizeX, parentSizeY);\n\t\tthis._parentSizeFitted = new Point(parentSizeX, parentSizeY);\n\t\tthis._id = 0;\n\t\tthis._style = EShapePointsStyle.NONE;\n\t\tthis._formattedId = -1;\n\t}\n\n\tget length(): number {\n\t\treturn this._values.length >> 1;\n\t}\n\n\ttoFitted(x: number, y: number): void {\n\t\tthis._valuesBase = undefined;\n\t\tthis._parentSizeFitted.set(x, y);\n\t\tthis._parentSizeBase.set(x, y);\n\t}\n\n\tonSizeChange(): void {\n\t\tthis.fit();\n\t}\n\n\tprotected fit(): void {\n\t\tconst parent = this._parent;\n\t\tconst psizef = this._parentSizeFitted;\n\t\tconst psize = parent.size;\n\t\tconst psizeX = psize.x;\n\t\tconst psizeY = psize.y;\n\t\tconst threshold = 0.00001;\n\t\tif (Math.abs(psizeX - psizef.x) <= threshold && Math.abs(psizeY - psizef.y) <= threshold) {\n\t\t\treturn;\n\t\t}\n\n\t\tpsizef.set(psizeX, psizeY);\n\t\tconst psizeBase = this._parentSizeBase;\n\t\tconst isValidX = threshold < Math.abs(psizeBase.x);\n\t\tconst isValidY = threshold < Math.abs(psizeBase.y);\n\t\tif (!isValidX && !isValidY) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scaleX = isValidX ? psizeX / psizeBase.x : 1;\n\t\tconst scaleY = isValidY ? psizeY / psizeBase.y : 1;\n\n\t\t// Values\n\t\tconst values = this._values;\n\t\tlet valuesBase = this._valuesBase;\n\t\tif (valuesBase == null) {\n\t\t\tvaluesBase = [];\n\t\t\tthis._valuesBase = valuesBase;\n\n\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\tconst x = values[i];\n\t\t\t\tconst y = values[i + 1];\n\t\t\t\tvalues[i] = x * scaleX;\n\t\t\t\tvalues[i + 1] = y * scaleY;\n\t\t\t\tvaluesBase.push(x, y);\n\t\t\t}\n\t\t} else {\n\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t}\n\t\t}\n\n\t\t// Invalidate\n\t\tthis._id += 1;\n\t\tif (this._formatter || this._style & EShapePointsStyle.FORMATTER_MASK) {\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded && !uploaded.isCompatible(parent)) {\n\t\t\t\tparent.uploaded = undefined;\n\t\t\t\tparent.toDirty();\n\t\t\t}\n\t\t}\n\t}\n\n\tget id(): number {\n\t\tthis.fit();\n\t\treturn this._id;\n\t}\n\n\tget values(): number[] {\n\t\tthis.fit();\n\t\treturn this._values;\n\t}\n\n\tset values(values: number[]) {\n\t\tthis.set(values, undefined, undefined);\n\t}\n\n\tget segments(): number[] {\n\t\treturn this._segments;\n\t}\n\n\t/**\n\t * Must be sorted in ascending order.\n\t */\n\tset segments(segments: number[]) {\n\t\tthis.set(undefined, segments, undefined);\n\t}\n\n\tget style(): EShapePointsStyle {\n\t\treturn this._style;\n\t}\n\n\tset style(style: EShapePointsStyle) {\n\t\tthis.set(undefined, undefined, style);\n\t}\n\n\tget marker(): EShapePointsMarkerContainer {\n\t\tlet result = this._marker;\n\t\tif (result == null) {\n\t\t\tresult = this.newMarker();\n\t\t\tthis._marker = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetMarker(): EShapePointsMarkerContainer | undefined {\n\t\treturn this._marker;\n\t}\n\n\tprotected newMarker(): EShapePointsMarkerContainer {\n\t\treturn new EShapePointsMarkerContainerImpl(this);\n\t}\n\n\tonMarkerTypeChange(): void {\n\t\tconst parent = this._parent;\n\t\tparent.uploaded = undefined;\n\t\tparent.toDirty();\n\t}\n\n\tonMarkerSizeChange(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tonMarkerFillChange(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tget formatter(): EShapePointsFormatter | null {\n\t\treturn this._formatter || null;\n\t}\n\n\tset formatter(formatter: EShapePointsFormatter | null) {\n\t\tif (this._formatter !== formatter) {\n\t\t\tthis._formattedId = -1;\n\t\t\tthis._formatter = formatter;\n\t\t\tthis.toDirty(true);\n\t\t}\n\t}\n\n\tget formatted(): EShapePointsFormatted {\n\t\tthis.fit();\n\t\tconst id = this._id;\n\t\tlet result = this._formatted;\n\t\tif (this._formattedId !== id) {\n\t\t\tthis._formattedId = id;\n\n\t\t\tconst style = this._style;\n\t\t\tconst formatter = this._formatter ?? EShapePointsFormatters.find(style)?.formatter;\n\t\t\tif (formatter != null) {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = {\n\t\t\t\t\t\tlength: 0,\n\t\t\t\t\t\tvalues: [],\n\t\t\t\t\t\tsegments: [],\n\t\t\t\t\t\tboundary: [0, 0, 0, 0],\n\t\t\t\t\t\tstyle: EShapePointsStyle.NONE\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst values = this._values;\n\t\t\t\tconst segments = this._segments;\n\t\t\t\tconst length = values.length >> 1;\n\t\t\t\tformatter(length, values, segments, style, result);\n\t\t\t\ttoPointsBoundary(result.values, result.boundary);\n\t\t\t} else {\n\t\t\t\tresult = undefined;\n\t\t\t}\n\t\t\tthis._formatted = result;\n\t\t}\n\t\treturn result || this;\n\t}\n\n\tprotected toScaled(\n\t\tvalues: number[],\n\t\tvaluesBase: number[],\n\t\tboundary: EShapePointsFormattedBoundary,\n\t\tboundaryBase: EShapePointsFormattedBoundary\n\t): void {\n\t\tconst size = this._parentSizeFitted;\n\t\tconst sizeBase = this._parentSizeBase;\n\t\tconst threshold = 0.00001;\n\t\tconst hasSizeBaseX = threshold < Math.abs(sizeBase.x);\n\t\tconst hasSizeBaseY = threshold < Math.abs(sizeBase.y);\n\t\tif (hasSizeBaseX || hasSizeBaseY) {\n\t\t\tconst scaleX = hasSizeBaseX ? size.x / sizeBase.x : 1;\n\t\t\tconst scaleY = hasSizeBaseY ? size.y / sizeBase.y : 1;\n\n\t\t\tfor (let i = 0, imax = valuesBase.length; i < imax; i += 2) {\n\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t}\n\n\t\t\tfor (let i = 0, imax = boundaryBase.length; i < imax; i += 2) {\n\t\t\t\tboundary[i] = boundaryBase[i] * scaleX;\n\t\t\t\tboundary[i + 1] = boundaryBase[i + 1] * scaleY;\n\t\t\t}\n\t\t}\n\t}\n\n\tcopy(source: EShapePoints): this {\n\t\tthis.set(source.values, source.segments, source.style);\n\t\tconst marker = source.getMarker();\n\t\tif (marker) {\n\t\t\tthis.marker.copy(marker);\n\t\t}\n\t\treturn this;\n\t}\n\n\tset(newValues?: number[], newSegments?: number[], newStyle?: EShapePointsStyle): this {\n\t\tlet isDirty = false;\n\t\tlet isUpdated = false;\n\n\t\t// Formatter\n\t\tconst style = this._style;\n\t\tconst styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;\n\t\tconst formatter = this._formatter;\n\n\t\t// Values\n\t\tif (newValues != null) {\n\t\t\tconst values = this._values;\n\t\t\tconst valuesBaseLength = this._valuesBaseLength;\n\t\t\tconst newValuesLength = newValues.length;\n\t\t\tconst iupdate = Math.min(newValuesLength, valuesBaseLength);\n\t\t\tconst parentSize = this._parent.size;\n\t\t\tthis.toFitted(parentSize.x, parentSize.y);\n\t\t\tif (values !== newValues) {\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tvalues[i] = newValues[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newValuesLength; ++i) {\n\t\t\t\t\tvalues.push(newValues[i]);\n\t\t\t\t}\n\n\t\t\t\tif (valuesBaseLength !== newValuesLength) {\n\t\t\t\t\tvalues.length = newValuesLength;\n\t\t\t\t\tthis._valuesBaseLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (valuesBaseLength !== newValuesLength) {\n\t\t\t\t\tthis._valuesBaseLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Segments\n\t\tif (newSegments != null) {\n\t\t\tconst segments = this._segments;\n\t\t\tif (segments !== newSegments) {\n\t\t\t\tconst newSegmentsLength = newSegments.length;\n\t\t\t\tconst iupdate = Math.min(segments.length, newSegmentsLength);\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tsegments[i] = newSegments[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newSegmentsLength; ++i) {\n\t\t\t\t\tsegments.push(newSegments[i]);\n\t\t\t\t}\n\n\t\t\t\tif (segments.length !== newSegmentsLength) {\n\t\t\t\t\tsegments.length = newSegmentsLength;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\tisDirty = true;\n\t\t\t} else {\n\t\t\t\tisUpdated = true;\n\t\t\t}\n\t\t}\n\n\t\t// Style\n\t\tif (newStyle != null) {\n\t\t\tif (style !== newStyle) {\n\t\t\t\tconst newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;\n\t\t\t\tif (styleFormatter !== newStyleFormatter) {\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\t\t\tconst styleClosed = style & EShapePointsStyle.CLOSED;\n\t\t\t\t\t\tconst newStyleClosed = newStyle & EShapePointsStyle.CLOSED;\n\t\t\t\t\t\tif (styleClosed !== newStyleClosed) {\n\t\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis._style = newStyle;\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tif (isUpdated || isDirty) {\n\t\t\tthis.toDirty(isDirty);\n\t\t}\n\t\treturn this;\n\t}\n\n\tprotected toDirty(revalidate: boolean): void {\n\t\tif (revalidate) {\n\t\t\tthis._id += 1;\n\t\t\tconst parent = this._parent;\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded) {\n\t\t\t\tif (uploaded.isCompatible(parent)) {\n\t\t\t\t\tparent.updateUploaded();\n\t\t\t\t} else {\n\t\t\t\t\tparent.uploaded = undefined;\n\t\t\t\t\tparent.toDirty();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tparent.updateUploaded();\n\t\t\t}\n\t\t} else {\n\t\t\tthis._id += 1;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tclone(parent: EShape): EShapeLinePoints {\n\t\treturn new EShapeLinePoints(parent).copy(this);\n\t}\n\n\ttoPoints(transform: Matrix): Point[] {\n\t\tconst result: Point[] = [];\n\t\tconst values = this.values;\n\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\tconst point = new Point(values[i + 0], values[i + 1]);\n\t\t\tresult.push(transform.apply(point, point));\n\t\t}\n\t\treturn result;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst values = JSON.stringify(this._values);\n\t\tconst segments = JSON.stringify(this._segments);\n\t\tconst style = this._style;\n\t\tlet markerId = -1;\n\t\tconst marker = this._marker;\n\t\tif (marker) {\n\t\t\tmarkerId = marker.serialize(manager);\n\t\t}\n\t\treturn manager.addResource(`[${values},${segments},${style},${markerId}]`);\n\t}\n\n\tdeserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= resourceId && resourceId < resources.length) {\n\t\t\tlet parsed = manager.getExtension<EShapeLinePointsSerialized>(resourceId);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(resources[resourceId]) as EShapeLinePointsSerialized;\n\t\t\t\tmanager.setExtension(resourceId, parsed);\n\t\t\t}\n\t\t\tthis.set(parsed[0], parsed[1], parsed[2]);\n\t\t\tconst markerId = parsed[3];\n\t\t\tif (markerId != null && 0 <= markerId) {\n\t\t\t\tthis.marker.deserialize(markerId, manager);\n\t\t\t}\n\t\t}\n\t}\n\n\tcalcHitPointAbs<RESULT>(\n\t\tx: number,\n\t\ty: number,\n\t\tax: number,\n\t\tay: number,\n\t\tthreshold: number,\n\t\ttoRange: EShapeLineBasePointsHitTesterToRange | null,\n\t\ttester: EShapeLineBasePointsHitTester<RESULT>,\n\t\tresult: RESULT\n\t): boolean {\n\t\tconst formatted = this.formatted;\n\t\tconst length = formatted.length;\n\t\tif (2 <= length) {\n\t\t\tconst values = formatted.values;\n\t\t\tconst segments = formatted.segments;\n\t\t\tconst style = formatted.style;\n\t\t\tlet istart = 0;\n\t\t\tlet iend = length;\n\t\t\tif (toRange) {\n\t\t\t\tconst work = EShapeLinePoints.WORK_RANGE;\n\t\t\t\ttoRange(x, y, threshold, values, work);\n\t\t\t\tistart = work[0];\n\t\t\t\tiend = work[1];\n\t\t\t}\n\t\t\tfor (let i = istart, imax = Math.min(iend, length - 1); i < imax; ++i) {\n\t\t\t\tif (toIndexOf(segments, i + 1) < 0) {\n\t\t\t\t\tconst iv = i << 1;\n\t\t\t\t\tconst p0x = values[iv + 0];\n\t\t\t\t\tconst p0y = values[iv + 1];\n\t\t\t\t\tconst p1x = values[iv + 2];\n\t\t\t\t\tconst p1y = values[iv + 3];\n\t\t\t\t\tif (tester(x, y, p0x, p0y, p1x, p1y, i, threshold, result)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (2 < length && length <= iend && style & EShapePointsStyle.CLOSED) {\n\t\t\t\tif (toIndexOf(segments, 0) < 0) {\n\t\t\t\t\tconst i = length - 1;\n\t\t\t\t\tconst iv = i << 1;\n\t\t\t\t\tconst p0x = values[iv + 0];\n\t\t\t\t\tconst p0y = values[iv + 1];\n\t\t\t\t\tconst p1x = values[0];\n\t\t\t\t\tconst p1y = values[1];\n\t\t\t\t\tif (tester(x, y, p0x, p0y, p1x, p1y, i, threshold, result)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"e-shape-line-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-line-points.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAU,KAAK,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAIN,gBAAgB,EAChB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAItE;IAoBC,0BAAY,MAAc;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;QAC/B,IAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC;QACjC,IAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,sBAAI,oCAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,qCAAO;aAAX;YACC,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;;;OAAA;IAED,mCAAQ,GAAR,UAAS,CAAS,EAAE,CAAS;QAC5B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,uCAAY,GAAZ;QACC,IAAI,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IAES,8BAAG,GAAb;QACC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACtC,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1B,IAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;QACvB,IAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;QACvB,IAAM,SAAS,GAAG,OAAO,CAAC;QAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;YACzF,OAAO;SACP;QAED,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3B,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;QACvC,IAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnD,IAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;YAC3B,OAAO;SACP;QAED,IAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,SAAS;QACT,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QAClC,IAAI,UAAU,IAAI,IAAI,EAAE;YACvB,UAAU,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;gBACvD,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;gBACvB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;gBAC3B,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtB;SACD;aAAM;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;gBACvD,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;gBACnC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;aAC3C;SACD;QAED,aAAa;QACb,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,cAAc,EAAE;YACtE,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;gBAC/C,MAAM,CAAC,OAAO,EAAE,CAAC;aACjB;SACD;IACF,CAAC;IAED,sBAAI,gCAAE;aAAN;YACC,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,GAAG,CAAC;QACjB,CAAC;;;OAAA;IAED,sBAAI,oCAAM;aAAV;YACC,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;aAED,UAAW,MAAgB;YAC1B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;;;OAJA;IAMD,sBAAI,sCAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;QAED;;WAEG;aACH,UAAa,QAAkB;YAC9B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;;;OAPA;IASD,sBAAI,mCAAK;aAAT;YACC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;aAED,UAAU,KAAwB;YACjC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;;;OAJA;IAMD,sBAAI,oCAAM;aAAV;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;aACtB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAED,oCAAS,GAAT;QACC,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAES,oCAAS,GAAnB;QACC,OAAO,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,6CAAkB,GAAlB;QACC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5B,MAAM,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,6CAAkB,GAAlB;QACC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED,6CAAkB,GAAlB;QACC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED,sBAAI,uCAAS;aAAb;YACC,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;QAChC,CAAC;aAED,UAAc,SAAuC;YACpD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBAClC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACnB;QACF,CAAC;;;OARA;IAUD,sBAAI,uCAAS;aAAb;;YACC,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;YACpB,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;YAC7B,IAAI,IAAI,CAAC,YAAY,KAAK,EAAE,EAAE;gBAC7B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBAEvB,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC1B,IAAM,SAAS,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,MAAA,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,0CAAE,SAAS,CAAC;gBACnF,IAAI,SAAS,IAAI,IAAI,EAAE;oBACtB,IAAI,MAAM,IAAI,IAAI,EAAE;wBACnB,MAAM,GAAG;4BACR,MAAM,EAAE,CAAC;4BACT,OAAO,EAAE,CAAC;4BACV,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,EAAE;4BACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACtB,KAAK,EAAE,iBAAiB,CAAC,IAAI;yBAC7B,CAAC;qBACF;oBACD,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;oBAC5B,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;oBAChC,IAAM,QAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;oBAClC,SAAS,CAAC,QAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;oBACnD,IAAI,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE;wBACnC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;qBAC/B;oBACD,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACjD;qBAAM;oBACN,MAAM,GAAG,SAAS,CAAC;iBACnB;gBACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;aACzB;YACD,OAAO,MAAM,IAAI,IAAI,CAAC;QACvB,CAAC;;;OAAA;IAES,mCAAQ,GAAlB,UACC,MAAgB,EAChB,UAAoB,EACpB,QAAuC,EACvC,YAA2C;QAE3C,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACpC,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,IAAM,SAAS,GAAG,OAAO,CAAC;QAC1B,IAAM,YAAY,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtD,IAAM,YAAY,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,YAAY,IAAI,YAAY,EAAE;YACjC,IAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,IAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC3D,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;gBACnC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;aAC3C;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC7D,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;gBACvC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;aAC/C;SACD;IACF,CAAC;IAED,+BAAI,GAAJ,UAAK,MAAoB;QACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACvD,IAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,MAAM,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,8BAAG,GAAH,UAAI,SAAoB,EAAE,WAAsB,EAAE,QAA4B;QAC7E,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,YAAY;QACZ,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAM,cAAc,GAAG,KAAK,GAAG,iBAAiB,CAAC,cAAc,CAAC;QAChE,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,SAAS;QACT,IAAI,SAAS,IAAI,IAAI,EAAE;YACtB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAChD,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;YACzC,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;YAC5D,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,MAAM,KAAK,SAAS,EAAE;gBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC,EAAE;oBACjC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;iBACzB;gBAED,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,eAAe,EAAE,EAAE,CAAC,EAAE;oBAC/C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC1B;gBAED,IAAI,gBAAgB,KAAK,eAAe,EAAE;oBACzC,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC;oBAChC,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;oBACzC,OAAO,GAAG,IAAI,CAAC;iBACf;qBAAM;oBACN,IAAI,SAAS,IAAI,IAAI,IAAI,cAAc,EAAE;wBACxC,OAAO,GAAG,IAAI,CAAC;qBACf;yBAAM;wBACN,SAAS,GAAG,IAAI,CAAC;qBACjB;iBACD;aACD;iBAAM;gBACN,IAAI,gBAAgB,KAAK,eAAe,EAAE;oBACzC,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;oBACzC,OAAO,GAAG,IAAI,CAAC;iBACf;qBAAM;oBACN,IAAI,SAAS,IAAI,IAAI,IAAI,cAAc,EAAE;wBACxC,OAAO,GAAG,IAAI,CAAC;qBACf;yBAAM;wBACN,SAAS,GAAG,IAAI,CAAC;qBACjB;iBACD;aACD;YACD,IAAM,SAAS,GAAG,eAAe,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,GAAG,SAAS,EAAE;gBAC9B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;aAC1B;SACD;QAED,WAAW;QACX,IAAI,WAAW,IAAI,IAAI,EAAE;YACxB,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,QAAQ,KAAK,WAAW,EAAE;gBAC7B,IAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC7C,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;gBAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC,EAAE;oBACjC,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;iBAC7B;gBAED,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,iBAAiB,EAAE,EAAE,CAAC,EAAE;oBACjD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9B;gBAED,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,EAAE;oBAC1C,QAAQ,CAAC,MAAM,GAAG,iBAAiB,CAAC;iBACpC;aACD;YACD,IAAI,SAAS,IAAI,IAAI,IAAI,cAAc,EAAE;gBACxC,OAAO,GAAG,IAAI,CAAC;aACf;iBAAM;gBACN,SAAS,GAAG,IAAI,CAAC;aACjB;SACD;QAED,QAAQ;QACR,IAAI,QAAQ,IAAI,IAAI,EAAE;YACrB,IAAI,KAAK,KAAK,QAAQ,EAAE;gBACvB,IAAM,iBAAiB,GAAG,QAAQ,GAAG,iBAAiB,CAAC,cAAc,CAAC;gBACtE,IAAI,cAAc,KAAK,iBAAiB,EAAE;oBACzC,OAAO,GAAG,IAAI,CAAC;iBACf;qBAAM;oBACN,IAAI,SAAS,IAAI,IAAI,IAAI,cAAc,EAAE;wBACxC,IAAM,WAAW,GAAG,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC;wBACrD,IAAM,cAAc,GAAG,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC;wBAC3D,IAAI,WAAW,KAAK,cAAc,EAAE;4BACnC,OAAO,GAAG,IAAI,CAAC;yBACf;6BAAM;4BACN,SAAS,GAAG,IAAI,CAAC;yBACjB;qBACD;yBAAM;wBACN,SAAS,GAAG,IAAI,CAAC;qBACjB;iBACD;gBACD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;aACvB;SACD;QAED,EAAE;QACF,IAAI,SAAS,IAAI,OAAO,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACtB;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,kCAAO,GAAjB,UAAkB,UAAmB;QACpC,IAAI,UAAU,EAAE;YACf,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACd,IAAM,QAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAM,QAAQ,GAAG,QAAM,CAAC,QAAQ,CAAC;YACjC,IAAI,QAAQ,EAAE;gBACb,IAAI,QAAQ,CAAC,YAAY,CAAC,QAAM,CAAC,EAAE;oBAClC,QAAM,CAAC,cAAc,EAAE,CAAC;iBACxB;qBAAM;oBACN,QAAM,CAAC,OAAO,EAAE,CAAC;iBACjB;aACD;iBAAM;gBACN,QAAM,CAAC,cAAc,EAAE,CAAC;aACxB;SACD;aAAM;YACN,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;SAC9B;IACF,CAAC;IAED,gCAAK,GAAL,UAAM,MAAc;QACnB,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,mCAAQ,GAAR,UAAS,SAAiB;QACzB,IAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;YACvD,IAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,oCAAS,GAAT,UAAU,OAA2C;QACpD,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,EAAE;YACX,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACrC;QACD,OAAO,OAAO,CAAC,WAAW,CAAC,WAAI,MAAM,cAAI,QAAQ,cAAI,KAAK,cAAI,QAAQ,MAAG,CAAC,CAAC;IAC5E,CAAC;IAED,sCAAW,GAAX,UAAY,UAAkB,EAAE,OAA6C;QAC5E,IAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,IAAI,UAAU,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE;YACrD,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,CAA6B,UAAU,CAAC,CAAC;YAC1E,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAA+B,CAAC;gBACzE,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,QAAQ,EAAE;gBACtC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC3C;SACD;IACF,CAAC;IAED,0CAAe,GAAf,UACC,CAAS,EACT,CAAS,EACT,EAAU,EACV,EAAU,EACV,SAAiB,EACjB,OAAoD,EACpD,MAA6C,EAC7C,MAAc;QAEd,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,IAAI,MAAM,EAAE;YAChB,IAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAChC,IAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;YACpC,IAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC9B,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,IAAI,GAAG,MAAM,CAAC;YAClB,IAAI,OAAO,EAAE;gBACZ,IAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC;gBACzC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;aACf;YACD,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBACtE,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;oBACnC,IAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClB,IAAM,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC3B,IAAM,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC3B,IAAM,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC3B,IAAM,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC3B,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE;wBAC3D,OAAO,IAAI,CAAC;qBACZ;iBACD;aACD;YACD,IAAI,CAAC,GAAG,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE;gBACrE,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE;oBAC/B,IAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;oBACrB,IAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClB,IAAM,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC3B,IAAM,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC3B,IAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE;wBAC3D,OAAO,IAAI,CAAC;qBACZ;iBACD;aACD;SACD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IA/dgB,2BAAU,GAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAgexD,uBAAC;CAAA,AAjeD,IAieC;SAjeY,gBAAgB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix, Point } from \"pixi.js\";\nimport { toIndexOf } from \"../../util/to-index-of\";\nimport { EShape } from \"../e-shape\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapePointsFormatter } from \"../e-shape-points-formatter\";\nimport {\n\tEShapePointsFormatted,\n\tEShapePointsFormattedBoundary,\n\tEShapePointsFormattedWithBoundary,\n\ttoPointsBoundary\n} from \"../e-shape-points-formatted\";\nimport { EShapeLineBasePointsHitTester } from \"./e-shape-line-base-points-hit-tester\";\nimport { EShapeLineBasePointsHitTesterToRange } from \"./e-shape-line-base-points-hit-tester-to-range\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapePointsMarkerContainer } from \"../e-shape-points-marker-container\";\nimport { EShapePointsMarkerContainerImpl } from \"../e-shape-points-marker-container-impl\";\nimport { EShapePointsFormatters } from \"../e-shape-points-formatters\";\n\nexport type EShapeLinePointsSerialized = [number[], number[], number, number?];\n\nexport class EShapeLinePoints implements EShapePoints {\n\tprotected static WORK_RANGE: [number, number] = [0, 0];\n\n\tprotected _parent: EShape;\n\tprotected _valuesBase?: number[];\n\tprotected _valuesBaseLength: number;\n\tprotected _values: number[];\n\tprotected _segments: number[];\n\tprotected _length: number;\n\tprotected _plength: number;\n\tprotected _parentSizeBase: Point;\n\tprotected _parentSizeFitted: Point;\n\tprotected _id: number;\n\tprotected _style: EShapePointsStyle;\n\tprotected _formattedId: number;\n\tprotected _formatter?: EShapePointsFormatter | null;\n\tprotected _formatted?: EShapePointsFormattedWithBoundary;\n\n\tprotected _marker?: EShapePointsMarkerContainer;\n\n\tconstructor(parent: EShape) {\n\t\tthis._parent = parent;\n\t\tthis._valuesBaseLength = 0;\n\t\tthis._values = [];\n\t\tthis._segments = [];\n\t\tthis._length = 0;\n\t\tthis._plength = 0;\n\t\tconst parentSize = parent.size;\n\t\tconst parentSizeX = parentSize.x;\n\t\tconst parentSizeY = parentSize.y;\n\t\tthis._parentSizeBase = new Point(parentSizeX, parentSizeY);\n\t\tthis._parentSizeFitted = new Point(parentSizeX, parentSizeY);\n\t\tthis._id = 0;\n\t\tthis._style = EShapePointsStyle.NONE;\n\t\tthis._formattedId = -1;\n\t}\n\n\tget length(): number {\n\t\treturn this._length;\n\t}\n\n\tget plength(): number {\n\t\treturn this._plength;\n\t}\n\n\ttoFitted(x: number, y: number): void {\n\t\tthis._valuesBase = undefined;\n\t\tthis._parentSizeFitted.set(x, y);\n\t\tthis._parentSizeBase.set(x, y);\n\t}\n\n\tonSizeChange(): void {\n\t\tthis.fit();\n\t}\n\n\tprotected fit(): void {\n\t\tconst parent = this._parent;\n\t\tconst psizef = this._parentSizeFitted;\n\t\tconst psize = parent.size;\n\t\tconst psizeX = psize.x;\n\t\tconst psizeY = psize.y;\n\t\tconst threshold = 0.00001;\n\t\tif (Math.abs(psizeX - psizef.x) <= threshold && Math.abs(psizeY - psizef.y) <= threshold) {\n\t\t\treturn;\n\t\t}\n\n\t\tpsizef.set(psizeX, psizeY);\n\t\tconst psizeBase = this._parentSizeBase;\n\t\tconst isValidX = threshold < Math.abs(psizeBase.x);\n\t\tconst isValidY = threshold < Math.abs(psizeBase.y);\n\t\tif (!isValidX && !isValidY) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scaleX = isValidX ? psizeX / psizeBase.x : 1;\n\t\tconst scaleY = isValidY ? psizeY / psizeBase.y : 1;\n\n\t\t// Values\n\t\tconst values = this._values;\n\t\tlet valuesBase = this._valuesBase;\n\t\tif (valuesBase == null) {\n\t\t\tvaluesBase = [];\n\t\t\tthis._valuesBase = valuesBase;\n\n\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\tconst x = values[i];\n\t\t\t\tconst y = values[i + 1];\n\t\t\t\tvalues[i] = x * scaleX;\n\t\t\t\tvalues[i + 1] = y * scaleY;\n\t\t\t\tvaluesBase.push(x, y);\n\t\t\t}\n\t\t} else {\n\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t}\n\t\t}\n\n\t\t// Invalidate\n\t\tthis._id += 1;\n\t\tif (this._formatter || this._style & EShapePointsStyle.FORMATTER_MASK) {\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded && !uploaded.isCompatible(parent)) {\n\t\t\t\tparent.toDirty();\n\t\t\t}\n\t\t}\n\t}\n\n\tget id(): number {\n\t\tthis.fit();\n\t\treturn this._id;\n\t}\n\n\tget values(): number[] {\n\t\tthis.fit();\n\t\treturn this._values;\n\t}\n\n\tset values(values: number[]) {\n\t\tthis.set(values, undefined, undefined);\n\t}\n\n\tget segments(): number[] {\n\t\treturn this._segments;\n\t}\n\n\t/**\n\t * Must be sorted in ascending order.\n\t */\n\tset segments(segments: number[]) {\n\t\tthis.set(undefined, segments, undefined);\n\t}\n\n\tget style(): EShapePointsStyle {\n\t\treturn this._style;\n\t}\n\n\tset style(style: EShapePointsStyle) {\n\t\tthis.set(undefined, undefined, style);\n\t}\n\n\tget marker(): EShapePointsMarkerContainer {\n\t\tlet result = this._marker;\n\t\tif (result == null) {\n\t\t\tresult = this.newMarker();\n\t\t\tthis._marker = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetMarker(): EShapePointsMarkerContainer | undefined {\n\t\treturn this._marker;\n\t}\n\n\tprotected newMarker(): EShapePointsMarkerContainer {\n\t\treturn new EShapePointsMarkerContainerImpl(this);\n\t}\n\n\tonMarkerTypeChange(): void {\n\t\tconst parent = this._parent;\n\t\tparent.uploaded = undefined;\n\t\tparent.toDirty();\n\t}\n\n\tonMarkerSizeChange(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tonMarkerFillChange(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tget formatter(): EShapePointsFormatter | null {\n\t\treturn this._formatter || null;\n\t}\n\n\tset formatter(formatter: EShapePointsFormatter | null) {\n\t\tif (this._formatter !== formatter) {\n\t\t\tthis._formattedId = -1;\n\t\t\tthis._formatter = formatter;\n\t\t\tthis.toDirty(true);\n\t\t}\n\t}\n\n\tget formatted(): EShapePointsFormatted {\n\t\tthis.fit();\n\t\tconst id = this._id;\n\t\tlet result = this._formatted;\n\t\tif (this._formattedId !== id) {\n\t\t\tthis._formattedId = id;\n\n\t\t\tconst style = this._style;\n\t\t\tconst formatter = this._formatter ?? EShapePointsFormatters.find(style)?.formatter;\n\t\t\tif (formatter != null) {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = {\n\t\t\t\t\t\tlength: 0,\n\t\t\t\t\t\tplength: 0,\n\t\t\t\t\t\tvalues: [],\n\t\t\t\t\t\tsegments: [],\n\t\t\t\t\t\tboundary: [0, 0, 0, 0],\n\t\t\t\t\t\tstyle: EShapePointsStyle.NONE\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst values = this._values;\n\t\t\t\tconst segments = this._segments;\n\t\t\t\tconst length = values.length >> 1;\n\t\t\t\tformatter(length, values, segments, style, result);\n\t\t\t\tif (result.plength < result.length) {\n\t\t\t\t\tresult.plength = result.length;\n\t\t\t\t}\n\t\t\t\ttoPointsBoundary(result.values, result.boundary);\n\t\t\t} else {\n\t\t\t\tresult = undefined;\n\t\t\t}\n\t\t\tthis._formatted = result;\n\t\t}\n\t\treturn result || this;\n\t}\n\n\tprotected toScaled(\n\t\tvalues: number[],\n\t\tvaluesBase: number[],\n\t\tboundary: EShapePointsFormattedBoundary,\n\t\tboundaryBase: EShapePointsFormattedBoundary\n\t): void {\n\t\tconst size = this._parentSizeFitted;\n\t\tconst sizeBase = this._parentSizeBase;\n\t\tconst threshold = 0.00001;\n\t\tconst hasSizeBaseX = threshold < Math.abs(sizeBase.x);\n\t\tconst hasSizeBaseY = threshold < Math.abs(sizeBase.y);\n\t\tif (hasSizeBaseX || hasSizeBaseY) {\n\t\t\tconst scaleX = hasSizeBaseX ? size.x / sizeBase.x : 1;\n\t\t\tconst scaleY = hasSizeBaseY ? size.y / sizeBase.y : 1;\n\n\t\t\tfor (let i = 0, imax = valuesBase.length; i < imax; i += 2) {\n\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t}\n\n\t\t\tfor (let i = 0, imax = boundaryBase.length; i < imax; i += 2) {\n\t\t\t\tboundary[i] = boundaryBase[i] * scaleX;\n\t\t\t\tboundary[i + 1] = boundaryBase[i + 1] * scaleY;\n\t\t\t}\n\t\t}\n\t}\n\n\tcopy(source: EShapePoints): this {\n\t\tthis.set(source.values, source.segments, source.style);\n\t\tconst marker = source.getMarker();\n\t\tif (marker) {\n\t\t\tthis.marker.copy(marker);\n\t\t}\n\t\treturn this;\n\t}\n\n\tset(newValues?: number[], newSegments?: number[], newStyle?: EShapePointsStyle): this {\n\t\tlet isDirty = false;\n\t\tlet isUpdated = false;\n\n\t\t// Formatter\n\t\tconst style = this._style;\n\t\tconst styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;\n\t\tconst formatter = this._formatter;\n\n\t\t// Values\n\t\tif (newValues != null) {\n\t\t\tconst values = this._values;\n\t\t\tconst valuesBaseLength = this._valuesBaseLength;\n\t\t\tconst newValuesLength = newValues.length;\n\t\t\tconst iupdate = Math.min(newValuesLength, valuesBaseLength);\n\t\t\tconst parentSize = this._parent.size;\n\t\t\tthis.toFitted(parentSize.x, parentSize.y);\n\t\t\tif (values !== newValues) {\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tvalues[i] = newValues[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newValuesLength; ++i) {\n\t\t\t\t\tvalues.push(newValues[i]);\n\t\t\t\t}\n\n\t\t\t\tif (valuesBaseLength !== newValuesLength) {\n\t\t\t\t\tvalues.length = newValuesLength;\n\t\t\t\t\tthis._valuesBaseLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (valuesBaseLength !== newValuesLength) {\n\t\t\t\t\tthis._valuesBaseLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst newLength = newValuesLength >> 1;\n\t\t\tthis._length = newLength;\n\t\t\tif (this._plength < newLength) {\n\t\t\t\tthis._plength = newLength;\n\t\t\t}\n\t\t}\n\n\t\t// Segments\n\t\tif (newSegments != null) {\n\t\t\tconst segments = this._segments;\n\t\t\tif (segments !== newSegments) {\n\t\t\t\tconst newSegmentsLength = newSegments.length;\n\t\t\t\tconst iupdate = Math.min(segments.length, newSegmentsLength);\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tsegments[i] = newSegments[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newSegmentsLength; ++i) {\n\t\t\t\t\tsegments.push(newSegments[i]);\n\t\t\t\t}\n\n\t\t\t\tif (segments.length !== newSegmentsLength) {\n\t\t\t\t\tsegments.length = newSegmentsLength;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\tisDirty = true;\n\t\t\t} else {\n\t\t\t\tisUpdated = true;\n\t\t\t}\n\t\t}\n\n\t\t// Style\n\t\tif (newStyle != null) {\n\t\t\tif (style !== newStyle) {\n\t\t\t\tconst newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;\n\t\t\t\tif (styleFormatter !== newStyleFormatter) {\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\t\t\tconst styleClosed = style & EShapePointsStyle.CLOSED;\n\t\t\t\t\t\tconst newStyleClosed = newStyle & EShapePointsStyle.CLOSED;\n\t\t\t\t\t\tif (styleClosed !== newStyleClosed) {\n\t\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis._style = newStyle;\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tif (isUpdated || isDirty) {\n\t\t\tthis.toDirty(isDirty);\n\t\t}\n\t\treturn this;\n\t}\n\n\tprotected toDirty(revalidate: boolean): void {\n\t\tif (revalidate) {\n\t\t\tthis._id += 1;\n\t\t\tconst parent = this._parent;\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded) {\n\t\t\t\tif (uploaded.isCompatible(parent)) {\n\t\t\t\t\tparent.updateUploaded();\n\t\t\t\t} else {\n\t\t\t\t\tparent.toDirty();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tparent.updateUploaded();\n\t\t\t}\n\t\t} else {\n\t\t\tthis._id += 1;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tclone(parent: EShape): EShapeLinePoints {\n\t\treturn new EShapeLinePoints(parent).copy(this);\n\t}\n\n\ttoPoints(transform: Matrix): Point[] {\n\t\tconst result: Point[] = [];\n\t\tconst values = this.values;\n\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\tconst point = new Point(values[i + 0], values[i + 1]);\n\t\t\tresult.push(transform.apply(point, point));\n\t\t}\n\t\treturn result;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst values = JSON.stringify(this._values);\n\t\tconst segments = JSON.stringify(this._segments);\n\t\tconst style = this._style;\n\t\tlet markerId = -1;\n\t\tconst marker = this._marker;\n\t\tif (marker) {\n\t\t\tmarkerId = marker.serialize(manager);\n\t\t}\n\t\treturn manager.addResource(`[${values},${segments},${style},${markerId}]`);\n\t}\n\n\tdeserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= resourceId && resourceId < resources.length) {\n\t\t\tlet parsed = manager.getExtension<EShapeLinePointsSerialized>(resourceId);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(resources[resourceId]) as EShapeLinePointsSerialized;\n\t\t\t\tmanager.setExtension(resourceId, parsed);\n\t\t\t}\n\t\t\tthis.set(parsed[0], parsed[1], parsed[2]);\n\t\t\tconst markerId = parsed[3];\n\t\t\tif (markerId != null && 0 <= markerId) {\n\t\t\t\tthis.marker.deserialize(markerId, manager);\n\t\t\t}\n\t\t}\n\t}\n\n\tcalcHitPointAbs<RESULT>(\n\t\tx: number,\n\t\ty: number,\n\t\tax: number,\n\t\tay: number,\n\t\tthreshold: number,\n\t\ttoRange: EShapeLineBasePointsHitTesterToRange | null,\n\t\ttester: EShapeLineBasePointsHitTester<RESULT>,\n\t\tresult: RESULT\n\t): boolean {\n\t\tconst formatted = this.formatted;\n\t\tconst length = formatted.length;\n\t\tif (2 <= length) {\n\t\t\tconst values = formatted.values;\n\t\t\tconst segments = formatted.segments;\n\t\t\tconst style = formatted.style;\n\t\t\tlet istart = 0;\n\t\t\tlet iend = length;\n\t\t\tif (toRange) {\n\t\t\t\tconst work = EShapeLinePoints.WORK_RANGE;\n\t\t\t\ttoRange(x, y, threshold, values, work);\n\t\t\t\tistart = work[0];\n\t\t\t\tiend = work[1];\n\t\t\t}\n\t\t\tfor (let i = istart, imax = Math.min(iend, length - 1); i < imax; ++i) {\n\t\t\t\tif (toIndexOf(segments, i + 1) < 0) {\n\t\t\t\t\tconst iv = i << 1;\n\t\t\t\t\tconst p0x = values[iv + 0];\n\t\t\t\t\tconst p0y = values[iv + 1];\n\t\t\t\t\tconst p1x = values[iv + 2];\n\t\t\t\t\tconst p1y = values[iv + 3];\n\t\t\t\t\tif (tester(x, y, p0x, p0y, p1x, p1y, i, threshold, result)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (2 < length && length <= iend && style & EShapePointsStyle.CLOSED) {\n\t\t\t\tif (toIndexOf(segments, 0) < 0) {\n\t\t\t\t\tconst i = length - 1;\n\t\t\t\t\tconst iv = i << 1;\n\t\t\t\t\tconst p0x = values[iv + 0];\n\t\t\t\t\tconst p0y = values[iv + 1];\n\t\t\t\t\tconst p1x = values[0];\n\t\t\t\t\tconst p1y = values[1];\n\t\t\t\t\tif (tester(x, y, p0x, p0y, p1x, p1y, i, threshold, result)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
|
|
@@ -14,6 +14,7 @@ var EShapeTextImpl = /** @class */ (function () {
|
|
|
14
14
|
this._parent = parent;
|
|
15
15
|
this._enable = true;
|
|
16
16
|
this._value = value;
|
|
17
|
+
this._plength = this._length = value.length;
|
|
17
18
|
this._color = color;
|
|
18
19
|
this._alpha = alpha;
|
|
19
20
|
this._family = family;
|
|
@@ -49,39 +50,60 @@ var EShapeTextImpl = /** @class */ (function () {
|
|
|
49
50
|
set: function (value) {
|
|
50
51
|
if (this._value !== value) {
|
|
51
52
|
this._value = value;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
this.atlas = undefined;
|
|
57
|
-
parent_1.toDirty();
|
|
58
|
-
return;
|
|
53
|
+
var length_1 = value.length;
|
|
54
|
+
this._length = length_1;
|
|
55
|
+
if (this._plength < length_1) {
|
|
56
|
+
this._plength = length_1;
|
|
59
57
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
var characters = atlas && atlas.characters;
|
|
63
|
-
if (characters != null) {
|
|
64
|
-
for (var i = 0, imax = value.length; i < imax; ++i) {
|
|
65
|
-
var char = value[i];
|
|
66
|
-
if (!(char in characters)) {
|
|
67
|
-
this.atlas = undefined;
|
|
68
|
-
parent_1.toDirty();
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
58
|
+
if (this.isCompatible(value)) {
|
|
59
|
+
this._parent.updateUploaded();
|
|
72
60
|
}
|
|
73
61
|
else {
|
|
74
62
|
this.atlas = undefined;
|
|
75
|
-
|
|
76
|
-
return;
|
|
63
|
+
this._parent.toDirty();
|
|
77
64
|
}
|
|
78
|
-
// Update uploaded
|
|
79
|
-
parent_1.updateUploaded();
|
|
80
65
|
}
|
|
81
66
|
},
|
|
82
67
|
enumerable: false,
|
|
83
68
|
configurable: true
|
|
84
69
|
});
|
|
70
|
+
EShapeTextImpl.prototype.isCompatible = function (value) {
|
|
71
|
+
// Compatibility check
|
|
72
|
+
var parent = this._parent;
|
|
73
|
+
var uploaded = parent.uploaded;
|
|
74
|
+
if (uploaded == null || !uploaded.isCompatible(parent)) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
// Character code check
|
|
78
|
+
var atlas = this.atlas;
|
|
79
|
+
var characters = atlas && atlas.characters;
|
|
80
|
+
if (characters != null) {
|
|
81
|
+
for (var i = 0, imax = value.length; i < imax; ++i) {
|
|
82
|
+
var char = value[i];
|
|
83
|
+
if (!(char in characters)) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
return true;
|
|
92
|
+
};
|
|
93
|
+
Object.defineProperty(EShapeTextImpl.prototype, "length", {
|
|
94
|
+
get: function () {
|
|
95
|
+
return this._length;
|
|
96
|
+
},
|
|
97
|
+
enumerable: false,
|
|
98
|
+
configurable: true
|
|
99
|
+
});
|
|
100
|
+
Object.defineProperty(EShapeTextImpl.prototype, "plength", {
|
|
101
|
+
get: function () {
|
|
102
|
+
return this._plength;
|
|
103
|
+
},
|
|
104
|
+
enumerable: false,
|
|
105
|
+
configurable: true
|
|
106
|
+
});
|
|
85
107
|
Object.defineProperty(EShapeTextImpl.prototype, "family", {
|
|
86
108
|
get: function () {
|
|
87
109
|
return this._family;
|
|
@@ -215,7 +237,18 @@ var EShapeTextImpl = /** @class */ (function () {
|
|
|
215
237
|
var isChangedUploaded = false;
|
|
216
238
|
if (value != null && this._value !== value) {
|
|
217
239
|
this._value = value;
|
|
218
|
-
|
|
240
|
+
var length_2 = value.length;
|
|
241
|
+
this._length = length_2;
|
|
242
|
+
if (this._plength < length_2) {
|
|
243
|
+
this._plength = length_2;
|
|
244
|
+
}
|
|
245
|
+
if (this.isCompatible(value)) {
|
|
246
|
+
isChangedUploaded = true;
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
this.atlas = undefined;
|
|
250
|
+
isChangedDirty = true;
|
|
251
|
+
}
|
|
219
252
|
}
|
|
220
253
|
if (color != null && this._color !== color) {
|
|
221
254
|
this._color = color;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-text-impl.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-text-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Texture } from \"pixi.js\";\nimport { DDiagramSerializedText } from \"../../d-diagram-serialized\";\nimport { DeepPartial } from \"../../util/deep-partial\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport {\n\tEShapeText,\n\tEShapeTextAtlas,\n\tEShapeTextLike,\n\tEShapeTextStyle,\n\tEShapeTextWeight\n} from \"../e-shape-text\";\nimport { EShapeTextAlign } from \"../e-shape-text-align\";\nimport { EShapeTextAlignHorizontal } from \"../e-shape-text-align-horizontal\";\nimport { EShapeTextAlignVertical } from \"../e-shape-text-align-vertical\";\nimport { EShapeTextDirection } from \"../e-shape-text-direction\";\nimport { EShapeTextOffset } from \"../e-shape-text-offset\";\nimport { EShapeTextOutline } from \"../e-shape-text-outline\";\nimport { EShapeTextAlignImpl } from \"./e-shape-text-align-impl\";\nimport { EShapeTextImplParent } from \"./e-shape-text-impl-parent\";\nimport { EShapeTextOffsetImpl } from \"./e-shape-text-offset-impl\";\nimport { EShapeTextOutlineImpl } from \"./e-shape-text-outline-impl\";\n\nexport class EShapeTextImpl implements EShapeText {\n\tprotected _parent: EShapeTextImplParent;\n\tprotected _enable: boolean;\n\tprotected _value: string;\n\tprotected _family: string;\n\tprotected _color: number;\n\tprotected _alpha: number;\n\tprotected _size: number;\n\tprotected _weight: EShapeTextWeight;\n\treadonly align: EShapeTextAlign;\n\treadonly offset: EShapeTextOffset;\n\tprotected _style: EShapeTextStyle;\n\treadonly outline: EShapeTextOutline;\n\treadonly spacing: EShapeTextOffset;\n\tprotected _direction: EShapeTextDirection;\n\treadonly padding: EShapeTextOffset;\n\tprotected _clipping: boolean;\n\tprotected _fitting: boolean;\n\n\ttexture?: Texture; // Used for rendering and updated when rendered\n\tatlas?: EShapeTextAtlas; // Used for rendering and updated when rendered\n\tworld?: number[]; // Updated when rendered\n\n\tconstructor(\n\t\tparent: EShapeTextImplParent,\n\t\tvalue: string,\n\t\tcolor: number,\n\t\talpha: number,\n\t\tfamily: string,\n\t\tsize: number\n\t) {\n\t\tthis._parent = parent;\n\t\tthis._enable = true;\n\t\tthis._value = value;\n\t\tthis._color = color;\n\t\tthis._alpha = alpha;\n\t\tthis._family = family;\n\t\tthis._size = size;\n\t\tthis._weight = EShapeTextWeight.NORMAL;\n\t\tthis.align = new EShapeTextAlignImpl(\n\t\t\tparent,\n\t\t\tEShapeTextAlignHorizontal.CENTER,\n\t\t\tEShapeTextAlignVertical.MIDDLE\n\t\t);\n\t\tthis.offset = new EShapeTextOffsetImpl(parent, 0, 0);\n\t\tthis._style = EShapeTextStyle.NORMAL;\n\t\tthis.spacing = new EShapeTextOffsetImpl(parent, 0, 0);\n\t\tthis.outline = new EShapeTextOutlineImpl(parent, false, 0xffffff, 1.0, 0.5);\n\t\tthis._direction = EShapeTextDirection.LEFT_TO_RIGHT;\n\t\tthis.padding = new EShapeTextOffsetImpl(parent, 10, 10);\n\t\tthis._clipping = false;\n\t\tthis._fitting = false;\n\t}\n\n\tget enable(): boolean {\n\t\treturn this._enable;\n\t}\n\n\tset enable(enable: boolean) {\n\t\tif (this._enable !== enable) {\n\t\t\tthis._enable = enable;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget value(): string {\n\t\treturn this._value;\n\t}\n\n\tset value(value: string) {\n\t\tif (this._value !== value) {\n\t\t\tthis._value = value;\n\n\t\t\t// Compatibility check\n\t\t\tconst parent = this._parent;\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded == null || !uploaded.isCompatible(parent)) {\n\t\t\t\tthis.atlas = undefined;\n\t\t\t\tparent.toDirty();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Character code check\n\t\t\tconst atlas = this.atlas;\n\t\t\tconst characters = atlas && atlas.characters;\n\t\t\tif (characters != null) {\n\t\t\t\tfor (let i = 0, imax = value.length; i < imax; ++i) {\n\t\t\t\t\tconst char = value[i];\n\t\t\t\t\tif (!(char in characters)) {\n\t\t\t\t\t\tthis.atlas = undefined;\n\t\t\t\t\t\tparent.toDirty();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.atlas = undefined;\n\t\t\t\tparent.toDirty();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Update uploaded\n\t\t\tparent.updateUploaded();\n\t\t}\n\t}\n\n\tget family(): string {\n\t\treturn this._family;\n\t}\n\n\tset family(family: string) {\n\t\tif (this._family !== family) {\n\t\t\tthis._family = family;\n\t\t\tthis._parent.toDirty();\n\t\t}\n\t}\n\n\tget color(): number {\n\t\treturn this._color;\n\t}\n\n\tset color(color: number) {\n\t\tif (this._color !== color) {\n\t\t\tthis._color = color;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget alpha(): number {\n\t\treturn this._alpha;\n\t}\n\n\tset alpha(alpha: number) {\n\t\tif (this._alpha !== alpha) {\n\t\t\tthis._alpha = alpha;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget size(): number {\n\t\treturn this._size;\n\t}\n\n\tset size(size: number) {\n\t\tif (this._size !== size) {\n\t\t\tthis._size = size;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget weight(): EShapeTextWeight {\n\t\treturn this._weight;\n\t}\n\n\tset weight(weight: EShapeTextWeight) {\n\t\tif (this._weight !== weight) {\n\t\t\tthis._weight = weight;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget style(): EShapeTextStyle {\n\t\treturn this._style;\n\t}\n\n\tset style(style: EShapeTextStyle) {\n\t\tif (this._style !== style) {\n\t\t\tthis._style = style;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget direction(): EShapeTextDirection {\n\t\treturn this._direction;\n\t}\n\n\tset direction(direction: EShapeTextDirection) {\n\t\tif (this._direction !== direction) {\n\t\t\tthis._direction = direction;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget clipping(): boolean {\n\t\treturn this._clipping;\n\t}\n\n\tset clipping(clipping: boolean) {\n\t\tif (this._clipping !== clipping) {\n\t\t\tthis._clipping = clipping;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget fitting(): boolean {\n\t\treturn this._fitting;\n\t}\n\n\tset fitting(fitting: boolean) {\n\t\tif (this._fitting !== fitting) {\n\t\t\tthis._fitting = fitting;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tcopy(target?: DeepPartial<EShapeTextLike>): this {\n\t\tif (target) {\n\t\t\tthis.set(\n\t\t\t\ttarget.value,\n\t\t\t\ttarget.color,\n\t\t\t\ttarget.alpha,\n\t\t\t\ttarget.family,\n\t\t\t\ttarget.size,\n\t\t\t\ttarget.weight,\n\t\t\t\ttarget.style,\n\t\t\t\ttarget.direction,\n\t\t\t\ttarget.clipping,\n\t\t\t\ttarget.fitting\n\t\t\t);\n\t\t\tthis.align.copy(target.align);\n\t\t\tthis.offset.copy(target.offset);\n\t\t\tthis.outline.copy(target.outline);\n\t\t\tthis.spacing.copy(target.spacing);\n\t\t\tthis.padding.copy(target.padding);\n\t\t}\n\t\treturn this;\n\t}\n\n\tset(\n\t\tvalue?: string,\n\t\tcolor?: number,\n\t\talpha?: number,\n\t\tfamily?: string,\n\t\tsize?: number,\n\t\tweight?: EShapeTextWeight,\n\t\tstyle?: EShapeTextStyle,\n\t\tdirection?: EShapeTextDirection,\n\t\tclipping?: boolean,\n\t\tfitting?: boolean\n\t): this {\n\t\tlet isChangedDirty = false;\n\t\tlet isChangedUploaded = false;\n\n\t\tif (value != null && this._value !== value) {\n\t\t\tthis._value = value;\n\t\t\tisChangedDirty = true;\n\t\t}\n\n\t\tif (color != null && this._color !== color) {\n\t\t\tthis._color = color;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (alpha != null && this._alpha !== alpha) {\n\t\t\tthis._alpha = alpha;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (family != null && this._family !== family) {\n\t\t\tthis._family = family;\n\t\t\tisChangedDirty = true;\n\t\t}\n\n\t\tif (size != null && this._size !== size) {\n\t\t\tthis._size = size;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (weight != null && this._weight !== weight) {\n\t\t\tthis._weight = weight;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (style != null && this._style !== style) {\n\t\t\tthis._style = style;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (direction != null && this._direction !== direction) {\n\t\t\tthis._direction = direction;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (clipping != null && this._clipping !== clipping) {\n\t\t\tthis._clipping = clipping;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (fitting != null && this._fitting !== fitting) {\n\t\t\tthis._fitting = fitting;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (isChangedDirty) {\n\t\t\tthis._parent.toDirty();\n\t\t} else if (isChangedUploaded) {\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttoObject(): EShapeTextLike {\n\t\treturn {\n\t\t\tvalue: this._value,\n\t\t\tcolor: this._color,\n\t\t\talpha: this._alpha,\n\t\t\tfamily: this._family,\n\t\t\tsize: this._size,\n\t\t\tweight: this._weight,\n\t\t\talign: this.align.toObject(),\n\t\t\toffset: this.offset.toObject(),\n\t\t\tstyle: this._style,\n\t\t\toutline: this.outline.toObject(),\n\t\t\tdirection: this._direction,\n\t\t\tspacing: this.spacing.toObject(),\n\t\t\tpadding: this.padding.toObject(),\n\t\t\tclipping: this._clipping,\n\t\t\tfitting: this._fitting\n\t\t};\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst valueId = manager.addResource(this._value);\n\t\tconst familyId = manager.addResource(this._family);\n\t\tconst alignId = this.align.serialize(manager);\n\t\tconst offsetId = this.offset.serialize(manager);\n\t\tconst outlineId = this.outline.serialize(manager);\n\t\tconst spacingId = this.spacing.serialize(manager);\n\t\tconst paddingId = this.padding.serialize(manager);\n\t\tconst clipping = this._clipping ? 1 : 0;\n\t\tconst fitting = this._fitting ? 1 : 0;\n\t\tconst serialized =\n\t\t\t`[${valueId},${this._color},${this._alpha},${familyId},${this._size},` +\n\t\t\t`${this._weight},${alignId},${offsetId},${this._style},${outlineId},` +\n\t\t\t`${spacingId},${this._direction},${paddingId},${clipping},${fitting}]`;\n\t\treturn manager.addResource(serialized);\n\t}\n\n\tdeserialize(target: number, manager: EShapeResourceManagerDeserialization): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= target && target < resources.length) {\n\t\t\tlet parsed = manager.getText(target);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(resources[target]) as DDiagramSerializedText;\n\t\t\t\tmanager.setText(target, parsed);\n\t\t\t}\n\t\t\tthis.set(\n\t\t\t\tresources[parsed[0]] || \"\",\n\t\t\t\tparsed[1],\n\t\t\t\tparsed[2],\n\t\t\t\tresources[parsed[3]] || \"auto\",\n\t\t\t\tparsed[4],\n\t\t\t\tparsed[5],\n\t\t\t\tparsed[8],\n\t\t\t\tparsed[11],\n\t\t\t\t!!parsed[13],\n\t\t\t\t!!parsed[14]\n\t\t\t);\n\t\t\tthis.align.deserialize(parsed[6], manager);\n\t\t\tthis.offset.deserialize(parsed[7], manager);\n\t\t\tthis.outline.deserialize(parsed[9], manager);\n\t\t\tthis.spacing.deserialize(parsed[10], manager);\n\t\t\tthis.padding.deserialize(parsed[12], manager);\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"e-shape-text-impl.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-text-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Texture } from \"pixi.js\";\nimport { DDiagramSerializedText } from \"../../d-diagram-serialized\";\nimport { DeepPartial } from \"../../util/deep-partial\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport {\n\tEShapeText,\n\tEShapeTextAtlas,\n\tEShapeTextLike,\n\tEShapeTextStyle,\n\tEShapeTextWeight\n} from \"../e-shape-text\";\nimport { EShapeTextAlign } from \"../e-shape-text-align\";\nimport { EShapeTextAlignHorizontal } from \"../e-shape-text-align-horizontal\";\nimport { EShapeTextAlignVertical } from \"../e-shape-text-align-vertical\";\nimport { EShapeTextDirection } from \"../e-shape-text-direction\";\nimport { EShapeTextOffset } from \"../e-shape-text-offset\";\nimport { EShapeTextOutline } from \"../e-shape-text-outline\";\nimport { EShapeTextAlignImpl } from \"./e-shape-text-align-impl\";\nimport { EShapeTextImplParent } from \"./e-shape-text-impl-parent\";\nimport { EShapeTextOffsetImpl } from \"./e-shape-text-offset-impl\";\nimport { EShapeTextOutlineImpl } from \"./e-shape-text-outline-impl\";\n\nexport class EShapeTextImpl implements EShapeText {\n\tprotected _parent: EShapeTextImplParent;\n\tprotected _enable: boolean;\n\tprotected _value: string;\n\tprotected _length: number;\n\tprotected _plength: number;\n\tprotected _family: string;\n\tprotected _color: number;\n\tprotected _alpha: number;\n\tprotected _size: number;\n\tprotected _weight: EShapeTextWeight;\n\treadonly align: EShapeTextAlign;\n\treadonly offset: EShapeTextOffset;\n\tprotected _style: EShapeTextStyle;\n\treadonly outline: EShapeTextOutline;\n\treadonly spacing: EShapeTextOffset;\n\tprotected _direction: EShapeTextDirection;\n\treadonly padding: EShapeTextOffset;\n\tprotected _clipping: boolean;\n\tprotected _fitting: boolean;\n\n\ttexture?: Texture; // Used for rendering and updated when rendered\n\tatlas?: EShapeTextAtlas; // Used for rendering and updated when rendered\n\tworld?: number[]; // Updated when rendered\n\n\tconstructor(\n\t\tparent: EShapeTextImplParent,\n\t\tvalue: string,\n\t\tcolor: number,\n\t\talpha: number,\n\t\tfamily: string,\n\t\tsize: number\n\t) {\n\t\tthis._parent = parent;\n\t\tthis._enable = true;\n\t\tthis._value = value;\n\t\tthis._plength = this._length = value.length;\n\t\tthis._color = color;\n\t\tthis._alpha = alpha;\n\t\tthis._family = family;\n\t\tthis._size = size;\n\t\tthis._weight = EShapeTextWeight.NORMAL;\n\t\tthis.align = new EShapeTextAlignImpl(\n\t\t\tparent,\n\t\t\tEShapeTextAlignHorizontal.CENTER,\n\t\t\tEShapeTextAlignVertical.MIDDLE\n\t\t);\n\t\tthis.offset = new EShapeTextOffsetImpl(parent, 0, 0);\n\t\tthis._style = EShapeTextStyle.NORMAL;\n\t\tthis.spacing = new EShapeTextOffsetImpl(parent, 0, 0);\n\t\tthis.outline = new EShapeTextOutlineImpl(parent, false, 0xffffff, 1.0, 0.5);\n\t\tthis._direction = EShapeTextDirection.LEFT_TO_RIGHT;\n\t\tthis.padding = new EShapeTextOffsetImpl(parent, 10, 10);\n\t\tthis._clipping = false;\n\t\tthis._fitting = false;\n\t}\n\n\tget enable(): boolean {\n\t\treturn this._enable;\n\t}\n\n\tset enable(enable: boolean) {\n\t\tif (this._enable !== enable) {\n\t\t\tthis._enable = enable;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget value(): string {\n\t\treturn this._value;\n\t}\n\n\tset value(value: string) {\n\t\tif (this._value !== value) {\n\t\t\tthis._value = value;\n\t\t\tconst length = value.length;\n\t\t\tthis._length = length;\n\t\t\tif (this._plength < length) {\n\t\t\t\tthis._plength = length;\n\t\t\t}\n\t\t\tif (this.isCompatible(value)) {\n\t\t\t\tthis._parent.updateUploaded();\n\t\t\t} else {\n\t\t\t\tthis.atlas = undefined;\n\t\t\t\tthis._parent.toDirty();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected isCompatible(value: string): boolean {\n\t\t// Compatibility check\n\t\tconst parent = this._parent;\n\t\tconst uploaded = parent.uploaded;\n\t\tif (uploaded == null || !uploaded.isCompatible(parent)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Character code check\n\t\tconst atlas = this.atlas;\n\t\tconst characters = atlas && atlas.characters;\n\t\tif (characters != null) {\n\t\t\tfor (let i = 0, imax = value.length; i < imax; ++i) {\n\t\t\t\tconst char = value[i];\n\t\t\t\tif (!(char in characters)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tget length(): number {\n\t\treturn this._length;\n\t}\n\n\tget plength(): number {\n\t\treturn this._plength;\n\t}\n\n\tget family(): string {\n\t\treturn this._family;\n\t}\n\n\tset family(family: string) {\n\t\tif (this._family !== family) {\n\t\t\tthis._family = family;\n\t\t\tthis._parent.toDirty();\n\t\t}\n\t}\n\n\tget color(): number {\n\t\treturn this._color;\n\t}\n\n\tset color(color: number) {\n\t\tif (this._color !== color) {\n\t\t\tthis._color = color;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget alpha(): number {\n\t\treturn this._alpha;\n\t}\n\n\tset alpha(alpha: number) {\n\t\tif (this._alpha !== alpha) {\n\t\t\tthis._alpha = alpha;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget size(): number {\n\t\treturn this._size;\n\t}\n\n\tset size(size: number) {\n\t\tif (this._size !== size) {\n\t\t\tthis._size = size;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget weight(): EShapeTextWeight {\n\t\treturn this._weight;\n\t}\n\n\tset weight(weight: EShapeTextWeight) {\n\t\tif (this._weight !== weight) {\n\t\t\tthis._weight = weight;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget style(): EShapeTextStyle {\n\t\treturn this._style;\n\t}\n\n\tset style(style: EShapeTextStyle) {\n\t\tif (this._style !== style) {\n\t\t\tthis._style = style;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget direction(): EShapeTextDirection {\n\t\treturn this._direction;\n\t}\n\n\tset direction(direction: EShapeTextDirection) {\n\t\tif (this._direction !== direction) {\n\t\t\tthis._direction = direction;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget clipping(): boolean {\n\t\treturn this._clipping;\n\t}\n\n\tset clipping(clipping: boolean) {\n\t\tif (this._clipping !== clipping) {\n\t\t\tthis._clipping = clipping;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tget fitting(): boolean {\n\t\treturn this._fitting;\n\t}\n\n\tset fitting(fitting: boolean) {\n\t\tif (this._fitting !== fitting) {\n\t\t\tthis._fitting = fitting;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tcopy(target?: DeepPartial<EShapeTextLike>): this {\n\t\tif (target) {\n\t\t\tthis.set(\n\t\t\t\ttarget.value,\n\t\t\t\ttarget.color,\n\t\t\t\ttarget.alpha,\n\t\t\t\ttarget.family,\n\t\t\t\ttarget.size,\n\t\t\t\ttarget.weight,\n\t\t\t\ttarget.style,\n\t\t\t\ttarget.direction,\n\t\t\t\ttarget.clipping,\n\t\t\t\ttarget.fitting\n\t\t\t);\n\t\t\tthis.align.copy(target.align);\n\t\t\tthis.offset.copy(target.offset);\n\t\t\tthis.outline.copy(target.outline);\n\t\t\tthis.spacing.copy(target.spacing);\n\t\t\tthis.padding.copy(target.padding);\n\t\t}\n\t\treturn this;\n\t}\n\n\tset(\n\t\tvalue?: string,\n\t\tcolor?: number,\n\t\talpha?: number,\n\t\tfamily?: string,\n\t\tsize?: number,\n\t\tweight?: EShapeTextWeight,\n\t\tstyle?: EShapeTextStyle,\n\t\tdirection?: EShapeTextDirection,\n\t\tclipping?: boolean,\n\t\tfitting?: boolean\n\t): this {\n\t\tlet isChangedDirty = false;\n\t\tlet isChangedUploaded = false;\n\n\t\tif (value != null && this._value !== value) {\n\t\t\tthis._value = value;\n\t\t\tconst length = value.length;\n\t\t\tthis._length = length;\n\t\t\tif (this._plength < length) {\n\t\t\t\tthis._plength = length;\n\t\t\t}\n\t\t\tif (this.isCompatible(value)) {\n\t\t\t\tisChangedUploaded = true;\n\t\t\t} else {\n\t\t\t\tthis.atlas = undefined;\n\t\t\t\tisChangedDirty = true;\n\t\t\t}\n\t\t}\n\n\t\tif (color != null && this._color !== color) {\n\t\t\tthis._color = color;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (alpha != null && this._alpha !== alpha) {\n\t\t\tthis._alpha = alpha;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (family != null && this._family !== family) {\n\t\t\tthis._family = family;\n\t\t\tisChangedDirty = true;\n\t\t}\n\n\t\tif (size != null && this._size !== size) {\n\t\t\tthis._size = size;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (weight != null && this._weight !== weight) {\n\t\t\tthis._weight = weight;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (style != null && this._style !== style) {\n\t\t\tthis._style = style;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (direction != null && this._direction !== direction) {\n\t\t\tthis._direction = direction;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (clipping != null && this._clipping !== clipping) {\n\t\t\tthis._clipping = clipping;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (fitting != null && this._fitting !== fitting) {\n\t\t\tthis._fitting = fitting;\n\t\t\tisChangedUploaded = true;\n\t\t}\n\n\t\tif (isChangedDirty) {\n\t\t\tthis._parent.toDirty();\n\t\t} else if (isChangedUploaded) {\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttoObject(): EShapeTextLike {\n\t\treturn {\n\t\t\tvalue: this._value,\n\t\t\tcolor: this._color,\n\t\t\talpha: this._alpha,\n\t\t\tfamily: this._family,\n\t\t\tsize: this._size,\n\t\t\tweight: this._weight,\n\t\t\talign: this.align.toObject(),\n\t\t\toffset: this.offset.toObject(),\n\t\t\tstyle: this._style,\n\t\t\toutline: this.outline.toObject(),\n\t\t\tdirection: this._direction,\n\t\t\tspacing: this.spacing.toObject(),\n\t\t\tpadding: this.padding.toObject(),\n\t\t\tclipping: this._clipping,\n\t\t\tfitting: this._fitting\n\t\t};\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst valueId = manager.addResource(this._value);\n\t\tconst familyId = manager.addResource(this._family);\n\t\tconst alignId = this.align.serialize(manager);\n\t\tconst offsetId = this.offset.serialize(manager);\n\t\tconst outlineId = this.outline.serialize(manager);\n\t\tconst spacingId = this.spacing.serialize(manager);\n\t\tconst paddingId = this.padding.serialize(manager);\n\t\tconst clipping = this._clipping ? 1 : 0;\n\t\tconst fitting = this._fitting ? 1 : 0;\n\t\tconst serialized =\n\t\t\t`[${valueId},${this._color},${this._alpha},${familyId},${this._size},` +\n\t\t\t`${this._weight},${alignId},${offsetId},${this._style},${outlineId},` +\n\t\t\t`${spacingId},${this._direction},${paddingId},${clipping},${fitting}]`;\n\t\treturn manager.addResource(serialized);\n\t}\n\n\tdeserialize(target: number, manager: EShapeResourceManagerDeserialization): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= target && target < resources.length) {\n\t\t\tlet parsed = manager.getText(target);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(resources[target]) as DDiagramSerializedText;\n\t\t\t\tmanager.setText(target, parsed);\n\t\t\t}\n\t\t\tthis.set(\n\t\t\t\tresources[parsed[0]] || \"\",\n\t\t\t\tparsed[1],\n\t\t\t\tparsed[2],\n\t\t\t\tresources[parsed[3]] || \"auto\",\n\t\t\t\tparsed[4],\n\t\t\t\tparsed[5],\n\t\t\t\tparsed[8],\n\t\t\t\tparsed[11],\n\t\t\t\t!!parsed[13],\n\t\t\t\t!!parsed[14]\n\t\t\t);\n\t\t\tthis.align.deserialize(parsed[6], manager);\n\t\t\tthis.offset.deserialize(parsed[7], manager);\n\t\t\tthis.outline.deserialize(parsed[9], manager);\n\t\t\tthis.spacing.deserialize(parsed[10], manager);\n\t\t\tthis.padding.deserialize(parsed[12], manager);\n\t\t}\n\t}\n}\n"]}
|