@wcardinal/wcardinal-ui 0.459.0 → 0.460.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/shape/variant/e-shape-line-points.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/e-shape-polygon-points.d.ts +1 -0
- package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js +10 -9
- package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-polygon-points.js +5 -0
- package/dist/wcardinal/ui/shape/variant/e-shape-polygon-points.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 +16 -10
- package/dist/wcardinal-ui.js +16 -10
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -35,6 +35,7 @@ export declare class EShapeLinePoints implements EShapePoints {
|
|
|
35
35
|
toFitted(x: number, y: number): void;
|
|
36
36
|
onSizeChange(): void;
|
|
37
37
|
protected fit(): void;
|
|
38
|
+
protected doNeedCompatibilityCheck(): boolean;
|
|
38
39
|
get id(): number;
|
|
39
40
|
get values(): number[];
|
|
40
41
|
set values(values: number[]);
|
|
@@ -2,4 +2,5 @@ import { EShapePointsStyle } from "../e-shape-points-style";
|
|
|
2
2
|
import { EShapeLinePoints } from "./e-shape-line-points";
|
|
3
3
|
export declare class EShapePolygonPoints extends EShapeLinePoints {
|
|
4
4
|
protected newStyle(): EShapePointsStyle;
|
|
5
|
+
protected doNeedCompatibilityCheck(): boolean;
|
|
5
6
|
}
|
|
@@ -91,13 +91,16 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
91
91
|
}
|
|
92
92
|
// Invalidate
|
|
93
93
|
this._id += 1;
|
|
94
|
-
if (this.
|
|
94
|
+
if (this.doNeedCompatibilityCheck()) {
|
|
95
95
|
var uploaded = parent.uploaded;
|
|
96
96
|
if (uploaded && !uploaded.isCompatible(parent)) {
|
|
97
97
|
parent.toDirty();
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
};
|
|
101
|
+
EShapeLinePoints.prototype.doNeedCompatibilityCheck = function () {
|
|
102
|
+
return this._formatter != null || (this._style & EShapePointsStyle.FORMATTER_MASK) !== 0;
|
|
103
|
+
};
|
|
101
104
|
Object.defineProperty(EShapeLinePoints.prototype, "id", {
|
|
102
105
|
get: function () {
|
|
103
106
|
this.fit();
|
|
@@ -249,10 +252,6 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
249
252
|
EShapeLinePoints.prototype.set = function (newValues, newSegments, newStyle) {
|
|
250
253
|
var isDirty = false;
|
|
251
254
|
var isUpdated = false;
|
|
252
|
-
// Formatter
|
|
253
|
-
var style = this._style;
|
|
254
|
-
var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
|
|
255
|
-
var formatter = this._formatter;
|
|
256
255
|
// Values
|
|
257
256
|
if (newValues != null) {
|
|
258
257
|
var values = this._values;
|
|
@@ -274,7 +273,7 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
274
273
|
isDirty = true;
|
|
275
274
|
}
|
|
276
275
|
else {
|
|
277
|
-
if (
|
|
276
|
+
if (this.doNeedCompatibilityCheck()) {
|
|
278
277
|
isDirty = true;
|
|
279
278
|
}
|
|
280
279
|
else {
|
|
@@ -288,7 +287,7 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
288
287
|
isDirty = true;
|
|
289
288
|
}
|
|
290
289
|
else {
|
|
291
|
-
if (
|
|
290
|
+
if (this.doNeedCompatibilityCheck()) {
|
|
292
291
|
isDirty = true;
|
|
293
292
|
}
|
|
294
293
|
else {
|
|
@@ -318,7 +317,7 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
318
317
|
segments.length = newSegmentsLength;
|
|
319
318
|
}
|
|
320
319
|
}
|
|
321
|
-
if (
|
|
320
|
+
if (this.doNeedCompatibilityCheck()) {
|
|
322
321
|
isDirty = true;
|
|
323
322
|
}
|
|
324
323
|
else {
|
|
@@ -327,13 +326,15 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
327
326
|
}
|
|
328
327
|
// Style
|
|
329
328
|
if (newStyle != null) {
|
|
329
|
+
var style = this._style;
|
|
330
330
|
if (style !== newStyle) {
|
|
331
|
+
var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
|
|
331
332
|
var newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;
|
|
332
333
|
if (styleFormatter !== newStyleFormatter) {
|
|
333
334
|
isDirty = true;
|
|
334
335
|
}
|
|
335
336
|
else {
|
|
336
|
-
if (
|
|
337
|
+
if (this._formatter != null || styleFormatter) {
|
|
337
338
|
var styleClosed = style & EShapePointsStyle.CLOSED;
|
|
338
339
|
var newStyleClosed = newStyle & EShapePointsStyle.CLOSED;
|
|
339
340
|
if (styleClosed !== newStyleClosed) {
|
|
@@ -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\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\";\nimport { EShapeBoundary } from \"../e-shape-boundary\";\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 = this.newStyle();\n\t\tthis._formattedId = -1;\n\t}\n\n\tprotected newStyle(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.NONE;\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\treturn (this._marker ??= this.newMarker());\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: EShapeBoundary,\n\t\tboundaryBase: EShapeBoundary\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"]}
|
|
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\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\";\nimport { EShapeBoundary } from \"../e-shape-boundary\";\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 = this.newStyle();\n\t\tthis._formattedId = -1;\n\t}\n\n\tprotected newStyle(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.NONE;\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.doNeedCompatibilityCheck()) {\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\tprotected doNeedCompatibilityCheck(): boolean {\n\t\treturn this._formatter != null || (this._style & EShapePointsStyle.FORMATTER_MASK) !== 0;\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\treturn (this._marker ??= this.newMarker());\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: EShapeBoundary,\n\t\tboundaryBase: EShapeBoundary\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// 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 (this.doNeedCompatibilityCheck()) {\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 (this.doNeedCompatibilityCheck()) {\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 (this.doNeedCompatibilityCheck()) {\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\tconst style = this._style;\n\t\t\tif (style !== newStyle) {\n\t\t\t\tconst styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;\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 (this._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"]}
|
|
@@ -9,6 +9,11 @@ var EShapePolygonPoints = /** @class */ (function (_super) {
|
|
|
9
9
|
EShapePolygonPoints.prototype.newStyle = function () {
|
|
10
10
|
return EShapePointsStyle.CLOSED;
|
|
11
11
|
};
|
|
12
|
+
EShapePolygonPoints.prototype.doNeedCompatibilityCheck = function () {
|
|
13
|
+
// Since the number of vertices and indices could be changed during the triangulation,
|
|
14
|
+
// we need to check the compatibility whenever values change.
|
|
15
|
+
return true;
|
|
16
|
+
};
|
|
12
17
|
return EShapePolygonPoints;
|
|
13
18
|
}(EShapeLinePoints));
|
|
14
19
|
export { EShapePolygonPoints };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-polygon-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-polygon-points.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;IAAyC,uCAAgB;IAAzD;;
|
|
1
|
+
{"version":3,"file":"e-shape-polygon-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-polygon-points.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;IAAyC,uCAAgB;IAAzD;;IAUA,CAAC;IATmB,sCAAQ,GAA3B;QACC,OAAO,iBAAiB,CAAC,MAAM,CAAC;IACjC,CAAC;IAEkB,sDAAwB,GAA3C;QACC,sFAAsF;QACtF,6DAA6D;QAC7D,OAAO,IAAI,CAAC;IACb,CAAC;IACF,0BAAC;AAAD,CAAC,AAVD,CAAyC,gBAAgB,GAUxD","sourcesContent":["import { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeLinePoints } from \"./e-shape-line-points\";\n\nexport class EShapePolygonPoints extends EShapeLinePoints {\n\tprotected override newStyle(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.CLOSED;\n\t}\n\n\tprotected override doNeedCompatibilityCheck(): boolean {\n\t\t// Since the number of vertices and indices could be changed during the triangulation,\n\t\t// we need to check the compatibility whenever values change.\n\t\treturn true;\n\t}\n}\n"]}
|
package/dist/wcardinal-ui.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Winter Cardinal UI v0.
|
|
2
|
+
Winter Cardinal UI v0.460.0
|
|
3
3
|
Copyright (C) 2019 Toshiba Corporation
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
|
|
@@ -14478,13 +14478,16 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
14478
14478
|
}
|
|
14479
14479
|
// Invalidate
|
|
14480
14480
|
this._id += 1;
|
|
14481
|
-
if (this.
|
|
14481
|
+
if (this.doNeedCompatibilityCheck()) {
|
|
14482
14482
|
var uploaded = parent.uploaded;
|
|
14483
14483
|
if (uploaded && !uploaded.isCompatible(parent)) {
|
|
14484
14484
|
parent.toDirty();
|
|
14485
14485
|
}
|
|
14486
14486
|
}
|
|
14487
14487
|
};
|
|
14488
|
+
EShapeLinePoints.prototype.doNeedCompatibilityCheck = function () {
|
|
14489
|
+
return this._formatter != null || (this._style & EShapePointsStyle.FORMATTER_MASK) !== 0;
|
|
14490
|
+
};
|
|
14488
14491
|
Object.defineProperty(EShapeLinePoints.prototype, "id", {
|
|
14489
14492
|
get: function () {
|
|
14490
14493
|
this.fit();
|
|
@@ -14636,10 +14639,6 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
14636
14639
|
EShapeLinePoints.prototype.set = function (newValues, newSegments, newStyle) {
|
|
14637
14640
|
var isDirty = false;
|
|
14638
14641
|
var isUpdated = false;
|
|
14639
|
-
// Formatter
|
|
14640
|
-
var style = this._style;
|
|
14641
|
-
var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
|
|
14642
|
-
var formatter = this._formatter;
|
|
14643
14642
|
// Values
|
|
14644
14643
|
if (newValues != null) {
|
|
14645
14644
|
var values = this._values;
|
|
@@ -14661,7 +14660,7 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
14661
14660
|
isDirty = true;
|
|
14662
14661
|
}
|
|
14663
14662
|
else {
|
|
14664
|
-
if (
|
|
14663
|
+
if (this.doNeedCompatibilityCheck()) {
|
|
14665
14664
|
isDirty = true;
|
|
14666
14665
|
}
|
|
14667
14666
|
else {
|
|
@@ -14675,7 +14674,7 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
14675
14674
|
isDirty = true;
|
|
14676
14675
|
}
|
|
14677
14676
|
else {
|
|
14678
|
-
if (
|
|
14677
|
+
if (this.doNeedCompatibilityCheck()) {
|
|
14679
14678
|
isDirty = true;
|
|
14680
14679
|
}
|
|
14681
14680
|
else {
|
|
@@ -14705,7 +14704,7 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
14705
14704
|
segments.length = newSegmentsLength;
|
|
14706
14705
|
}
|
|
14707
14706
|
}
|
|
14708
|
-
if (
|
|
14707
|
+
if (this.doNeedCompatibilityCheck()) {
|
|
14709
14708
|
isDirty = true;
|
|
14710
14709
|
}
|
|
14711
14710
|
else {
|
|
@@ -14714,13 +14713,15 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
14714
14713
|
}
|
|
14715
14714
|
// Style
|
|
14716
14715
|
if (newStyle != null) {
|
|
14716
|
+
var style = this._style;
|
|
14717
14717
|
if (style !== newStyle) {
|
|
14718
|
+
var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
|
|
14718
14719
|
var newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;
|
|
14719
14720
|
if (styleFormatter !== newStyleFormatter) {
|
|
14720
14721
|
isDirty = true;
|
|
14721
14722
|
}
|
|
14722
14723
|
else {
|
|
14723
|
-
if (
|
|
14724
|
+
if (this._formatter != null || styleFormatter) {
|
|
14724
14725
|
var styleClosed = style & EShapePointsStyle.CLOSED;
|
|
14725
14726
|
var newStyleClosed = newStyle & EShapePointsStyle.CLOSED;
|
|
14726
14727
|
if (styleClosed !== newStyleClosed) {
|
|
@@ -48725,6 +48726,11 @@ var EShapePolygonPoints = /** @class */ (function (_super) {
|
|
|
48725
48726
|
EShapePolygonPoints.prototype.newStyle = function () {
|
|
48726
48727
|
return EShapePointsStyle.CLOSED;
|
|
48727
48728
|
};
|
|
48729
|
+
EShapePolygonPoints.prototype.doNeedCompatibilityCheck = function () {
|
|
48730
|
+
// Since the number of vertices and indices could be changed during the triangulation,
|
|
48731
|
+
// we need to check the compatibility whenever values change.
|
|
48732
|
+
return true;
|
|
48733
|
+
};
|
|
48728
48734
|
return EShapePolygonPoints;
|
|
48729
48735
|
}(EShapeLinePoints));
|
|
48730
48736
|
|
package/dist/wcardinal-ui.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Winter Cardinal UI v0.
|
|
2
|
+
Winter Cardinal UI v0.460.0
|
|
3
3
|
Copyright (C) 2019 Toshiba Corporation
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
|
|
@@ -14475,13 +14475,16 @@
|
|
|
14475
14475
|
}
|
|
14476
14476
|
// Invalidate
|
|
14477
14477
|
this._id += 1;
|
|
14478
|
-
if (this.
|
|
14478
|
+
if (this.doNeedCompatibilityCheck()) {
|
|
14479
14479
|
var uploaded = parent.uploaded;
|
|
14480
14480
|
if (uploaded && !uploaded.isCompatible(parent)) {
|
|
14481
14481
|
parent.toDirty();
|
|
14482
14482
|
}
|
|
14483
14483
|
}
|
|
14484
14484
|
};
|
|
14485
|
+
EShapeLinePoints.prototype.doNeedCompatibilityCheck = function () {
|
|
14486
|
+
return this._formatter != null || (this._style & EShapePointsStyle.FORMATTER_MASK) !== 0;
|
|
14487
|
+
};
|
|
14485
14488
|
Object.defineProperty(EShapeLinePoints.prototype, "id", {
|
|
14486
14489
|
get: function () {
|
|
14487
14490
|
this.fit();
|
|
@@ -14633,10 +14636,6 @@
|
|
|
14633
14636
|
EShapeLinePoints.prototype.set = function (newValues, newSegments, newStyle) {
|
|
14634
14637
|
var isDirty = false;
|
|
14635
14638
|
var isUpdated = false;
|
|
14636
|
-
// Formatter
|
|
14637
|
-
var style = this._style;
|
|
14638
|
-
var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
|
|
14639
|
-
var formatter = this._formatter;
|
|
14640
14639
|
// Values
|
|
14641
14640
|
if (newValues != null) {
|
|
14642
14641
|
var values = this._values;
|
|
@@ -14658,7 +14657,7 @@
|
|
|
14658
14657
|
isDirty = true;
|
|
14659
14658
|
}
|
|
14660
14659
|
else {
|
|
14661
|
-
if (
|
|
14660
|
+
if (this.doNeedCompatibilityCheck()) {
|
|
14662
14661
|
isDirty = true;
|
|
14663
14662
|
}
|
|
14664
14663
|
else {
|
|
@@ -14672,7 +14671,7 @@
|
|
|
14672
14671
|
isDirty = true;
|
|
14673
14672
|
}
|
|
14674
14673
|
else {
|
|
14675
|
-
if (
|
|
14674
|
+
if (this.doNeedCompatibilityCheck()) {
|
|
14676
14675
|
isDirty = true;
|
|
14677
14676
|
}
|
|
14678
14677
|
else {
|
|
@@ -14702,7 +14701,7 @@
|
|
|
14702
14701
|
segments.length = newSegmentsLength;
|
|
14703
14702
|
}
|
|
14704
14703
|
}
|
|
14705
|
-
if (
|
|
14704
|
+
if (this.doNeedCompatibilityCheck()) {
|
|
14706
14705
|
isDirty = true;
|
|
14707
14706
|
}
|
|
14708
14707
|
else {
|
|
@@ -14711,13 +14710,15 @@
|
|
|
14711
14710
|
}
|
|
14712
14711
|
// Style
|
|
14713
14712
|
if (newStyle != null) {
|
|
14713
|
+
var style = this._style;
|
|
14714
14714
|
if (style !== newStyle) {
|
|
14715
|
+
var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
|
|
14715
14716
|
var newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;
|
|
14716
14717
|
if (styleFormatter !== newStyleFormatter) {
|
|
14717
14718
|
isDirty = true;
|
|
14718
14719
|
}
|
|
14719
14720
|
else {
|
|
14720
|
-
if (
|
|
14721
|
+
if (this._formatter != null || styleFormatter) {
|
|
14721
14722
|
var styleClosed = style & EShapePointsStyle.CLOSED;
|
|
14722
14723
|
var newStyleClosed = newStyle & EShapePointsStyle.CLOSED;
|
|
14723
14724
|
if (styleClosed !== newStyleClosed) {
|
|
@@ -48722,6 +48723,11 @@
|
|
|
48722
48723
|
EShapePolygonPoints.prototype.newStyle = function () {
|
|
48723
48724
|
return EShapePointsStyle.CLOSED;
|
|
48724
48725
|
};
|
|
48726
|
+
EShapePolygonPoints.prototype.doNeedCompatibilityCheck = function () {
|
|
48727
|
+
// Since the number of vertices and indices could be changed during the triangulation,
|
|
48728
|
+
// we need to check the compatibility whenever values change.
|
|
48729
|
+
return true;
|
|
48730
|
+
};
|
|
48725
48731
|
return EShapePolygonPoints;
|
|
48726
48732
|
}(EShapeLinePoints));
|
|
48727
48733
|
|