@wcardinal/wcardinal-ui 0.310.0 → 0.311.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/e-shape-points-formatters.d.ts +9 -0
- package/dist/types/wcardinal/ui/shape/e-shape-points-style.d.ts +11 -1
- package/dist/types/wcardinal/ui/shape/index.d.ts +2 -0
- package/dist/wcardinal/ui/shape/e-shape-points-formatters.js +33 -0
- package/dist/wcardinal/ui/shape/e-shape-points-formatters.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-points-style.js +16 -1
- package/dist/wcardinal/ui/shape/e-shape-points-style.js.map +1 -1
- package/dist/wcardinal/ui/shape/index.js +2 -0
- package/dist/wcardinal/ui/shape/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js +2 -7
- package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js.map +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.js +1 -1
- package/dist/wcardinal-ui-theme-white.min.js +1 -1
- package/dist/wcardinal-ui.cjs.js +395 -354
- package/dist/wcardinal-ui.js +395 -354
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EShapePointsFormatter } from "./e-shape-points-formatter";
|
|
2
|
+
import { EShapePointsStyle } from "./e-shape-points-style";
|
|
3
|
+
export declare class EShapePointsFormatters {
|
|
4
|
+
private static FORMATTERS?;
|
|
5
|
+
static set(id: number, formatter: EShapePointsFormatter): void;
|
|
6
|
+
static get(index: number): EShapePointsFormatter | undefined;
|
|
7
|
+
static find(style: EShapePointsStyle): EShapePointsFormatter | undefined;
|
|
8
|
+
private static newFormatters;
|
|
9
|
+
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EShape point style.
|
|
3
|
+
*
|
|
4
|
+
* * Bits 0 to 9: Bit field of styles.
|
|
5
|
+
* * Bits 10 to 19: Formatter ID.
|
|
6
|
+
*/
|
|
1
7
|
export declare const EShapePointsStyle: {
|
|
2
8
|
readonly NONE: 0;
|
|
3
9
|
readonly CLOSED: 1;
|
|
@@ -26,6 +32,10 @@ export declare const EShapePointsStyle: {
|
|
|
26
32
|
/** @deprecated in favor of EShapeStrokeStyle. */
|
|
27
33
|
readonly DASHED_MASK: number;
|
|
28
34
|
readonly CURVE: 1024;
|
|
29
|
-
readonly
|
|
35
|
+
readonly FORMATTER_SHIFT: 10;
|
|
36
|
+
readonly FORMATTER_MASK: 1047552;
|
|
37
|
+
readonly FORMATTER_EXTENSION_LOWEST: 512;
|
|
38
|
+
readonly FORMATTER_EXTENSION_HIGHEST: 1023;
|
|
39
|
+
readonly FORMATTER_CURVE: 1;
|
|
30
40
|
};
|
|
31
41
|
export declare type EShapePointsStyle = number;
|
|
@@ -9,6 +9,8 @@ export * from "./e-shape-buffer-unit-builder";
|
|
|
9
9
|
export * from "./e-shape-buffer-unit";
|
|
10
10
|
export * from "./e-shape-buffer";
|
|
11
11
|
export * from "./e-shape-capabilities";
|
|
12
|
+
export * from "./e-shape-capability-container-impl";
|
|
13
|
+
export * from "./e-shape-capability-container";
|
|
12
14
|
export * from "./e-shape-capability";
|
|
13
15
|
export * from "./e-shape-connector-bodies";
|
|
14
16
|
export * from "./e-shape-connector-body-impl";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2019 Toshiba Corporation
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { eShapePointsFormatterCurve } from "./e-shape-points-formatter-curve";
|
|
6
|
+
import { EShapePointsStyle } from "./e-shape-points-style";
|
|
7
|
+
var EShapePointsFormatters = /** @class */ (function () {
|
|
8
|
+
function EShapePointsFormatters() {
|
|
9
|
+
}
|
|
10
|
+
EShapePointsFormatters.set = function (id, formatter) {
|
|
11
|
+
if (this.FORMATTERS == null) {
|
|
12
|
+
this.FORMATTERS = this.newFormatters();
|
|
13
|
+
}
|
|
14
|
+
this.FORMATTERS.set(id, formatter);
|
|
15
|
+
};
|
|
16
|
+
EShapePointsFormatters.get = function (index) {
|
|
17
|
+
if (this.FORMATTERS == null) {
|
|
18
|
+
this.FORMATTERS = this.newFormatters();
|
|
19
|
+
}
|
|
20
|
+
return this.FORMATTERS.get(index);
|
|
21
|
+
};
|
|
22
|
+
EShapePointsFormatters.find = function (style) {
|
|
23
|
+
return this.get((style & EShapePointsStyle.FORMATTER_MASK) >> EShapePointsStyle.FORMATTER_SHIFT);
|
|
24
|
+
};
|
|
25
|
+
EShapePointsFormatters.newFormatters = function () {
|
|
26
|
+
var result = new Map();
|
|
27
|
+
result.set(EShapePointsStyle.FORMATTER_CURVE, eShapePointsFormatterCurve);
|
|
28
|
+
return result;
|
|
29
|
+
};
|
|
30
|
+
return EShapePointsFormatters;
|
|
31
|
+
}());
|
|
32
|
+
export { EShapePointsFormatters };
|
|
33
|
+
//# sourceMappingURL=e-shape-points-formatters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e-shape-points-formatters.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-formatters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;IAAA;IA4BA,CAAC;IAzBO,0BAAG,GAAV,UAAW,EAAU,EAAE,SAAgC;QACtD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;SACvC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAEM,0BAAG,GAAV,UAAW,KAAa;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;SACvC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEM,2BAAI,GAAX,UAAY,KAAwB;QACnC,OAAO,IAAI,CAAC,GAAG,CACd,CAAC,KAAK,GAAG,iBAAiB,CAAC,cAAc,CAAC,IAAI,iBAAiB,CAAC,eAAe,CAC/E,CAAC;IACH,CAAC;IAEc,oCAAa,GAA5B;QACC,IAAM,MAAM,GAAG,IAAI,GAAG,EAAiC,CAAC;QACxD,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC;QAC1E,OAAO,MAAM,CAAC;IACf,CAAC;IACF,6BAAC;AAAD,CAAC,AA5BD,IA4BC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShapePointsFormatter } from \"./e-shape-points-formatter\";\nimport { eShapePointsFormatterCurve } from \"./e-shape-points-formatter-curve\";\nimport { EShapePointsStyle } from \"./e-shape-points-style\";\n\nexport class EShapePointsFormatters {\n\tprivate static FORMATTERS?: Map<number, EShapePointsFormatter>;\n\n\tstatic set(id: number, formatter: EShapePointsFormatter): void {\n\t\tif (this.FORMATTERS == null) {\n\t\t\tthis.FORMATTERS = this.newFormatters();\n\t\t}\n\t\tthis.FORMATTERS.set(id, formatter);\n\t}\n\n\tstatic get(index: number): EShapePointsFormatter | undefined {\n\t\tif (this.FORMATTERS == null) {\n\t\t\tthis.FORMATTERS = this.newFormatters();\n\t\t}\n\t\treturn this.FORMATTERS.get(index);\n\t}\n\n\tstatic find(style: EShapePointsStyle): EShapePointsFormatter | undefined {\n\t\treturn this.get(\n\t\t\t(style & EShapePointsStyle.FORMATTER_MASK) >> EShapePointsStyle.FORMATTER_SHIFT\n\t\t);\n\t}\n\n\tprivate static newFormatters(): Map<number, EShapePointsFormatter> {\n\t\tconst result = new Map<number, EShapePointsFormatter>();\n\t\tresult.set(EShapePointsStyle.FORMATTER_CURVE, eShapePointsFormatterCurve);\n\t\treturn result;\n\t}\n}\n"]}
|
|
@@ -13,6 +13,17 @@ var DASHED = 128;
|
|
|
13
13
|
var DASHED_DENSELY = 256;
|
|
14
14
|
var DASHED_LOOSELY = 512;
|
|
15
15
|
var CURVE = 1024;
|
|
16
|
+
var FORMATTER_SHIFT = 10;
|
|
17
|
+
var FORMATTER_MASK = 0xffc00;
|
|
18
|
+
var FORMATTER_EXTENSION_LOWEST = 512;
|
|
19
|
+
var FORMATTER_EXTENSION_HIGHEST = 1023;
|
|
20
|
+
var FORMATTER_CURVE = 1;
|
|
21
|
+
/**
|
|
22
|
+
* EShape point style.
|
|
23
|
+
*
|
|
24
|
+
* * Bits 0 to 9: Bit field of styles.
|
|
25
|
+
* * Bits 10 to 19: Formatter ID.
|
|
26
|
+
*/
|
|
16
27
|
export var EShapePointsStyle = {
|
|
17
28
|
NONE: 0,
|
|
18
29
|
CLOSED: CLOSED,
|
|
@@ -41,6 +52,10 @@ export var EShapePointsStyle = {
|
|
|
41
52
|
/** @deprecated in favor of EShapeStrokeStyle. */
|
|
42
53
|
DASHED_MASK: DASHED | DASHED_DENSELY | DASHED_LOOSELY,
|
|
43
54
|
CURVE: CURVE,
|
|
44
|
-
|
|
55
|
+
FORMATTER_SHIFT: FORMATTER_SHIFT,
|
|
56
|
+
FORMATTER_MASK: FORMATTER_MASK,
|
|
57
|
+
FORMATTER_EXTENSION_LOWEST: FORMATTER_EXTENSION_LOWEST,
|
|
58
|
+
FORMATTER_EXTENSION_HIGHEST: FORMATTER_EXTENSION_HIGHEST,
|
|
59
|
+
FORMATTER_CURVE: FORMATTER_CURVE
|
|
45
60
|
};
|
|
46
61
|
//# sourceMappingURL=e-shape-points-style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-points-style.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-style.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,IAAM,MAAM,GAAG,CAAC,CAAC;AAEjB,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,IAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,IAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,IAAM,MAAM,GAAG,GAAG,CAAC;AACnB,IAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,IAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,IAAM,KAAK,GAAG,IAAI,CAAC;AAEnB,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAChC,IAAI,EAAE,CAAC;IAEP,MAAM,QAAA;IAEN,iDAAiD;IACjD,mBAAmB,qBAAA;IAEnB,iDAAiD;IACjD,mBAAmB,qBAAA;IAEnB,iDAAiD;IACjD,wBAAwB,0BAAA;IAExB,iDAAiD;IACjD,gBAAgB,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,wBAAwB;IAEtF,iDAAiD;IACjD,MAAM,QAAA;IAEN,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc;IAErD,iDAAiD;IACjD,MAAM,QAAA;IAEN,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc;IAErD,KAAK,OAAA;
|
|
1
|
+
{"version":3,"file":"e-shape-points-style.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-style.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,IAAM,MAAM,GAAG,CAAC,CAAC;AAEjB,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,IAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,IAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,IAAM,MAAM,GAAG,GAAG,CAAC;AACnB,IAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,IAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,IAAM,KAAK,GAAG,IAAI,CAAC;AAEnB,IAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,IAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,IAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,IAAM,2BAA2B,GAAG,IAAI,CAAC;AAEzC,IAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAChC,IAAI,EAAE,CAAC;IAEP,MAAM,QAAA;IAEN,iDAAiD;IACjD,mBAAmB,qBAAA;IAEnB,iDAAiD;IACjD,mBAAmB,qBAAA;IAEnB,iDAAiD;IACjD,wBAAwB,0BAAA;IAExB,iDAAiD;IACjD,gBAAgB,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,wBAAwB;IAEtF,iDAAiD;IACjD,MAAM,QAAA;IAEN,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc;IAErD,iDAAiD;IACjD,MAAM,QAAA;IAEN,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc;IAErD,KAAK,OAAA;IAEL,eAAe,EAAE,eAAe;IAEhC,cAAc,EAAE,cAAc;IAE9B,0BAA0B,EAAE,0BAA0B;IAEtD,2BAA2B,EAAE,2BAA2B;IAExD,eAAe,iBAAA;CACN,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nconst CLOSED = 1;\n\nconst NON_EXPANDING_WIDTH = 2;\nconst NON_SHRINKING_WIDTH = 4;\nconst NON_SCALING_DOT_AND_DASH = 8;\n\nconst DOTTED = 16;\nconst DOTTED_DENSELY = 32;\nconst DOTTED_LOOSELY = 64;\n\nconst DASHED = 128;\nconst DASHED_DENSELY = 256;\nconst DASHED_LOOSELY = 512;\n\nconst CURVE = 1024;\n\nconst FORMATTER_SHIFT = 10;\n\nconst FORMATTER_MASK = 0xffc00;\n\nconst FORMATTER_EXTENSION_LOWEST = 512;\n\nconst FORMATTER_EXTENSION_HIGHEST = 1023;\n\nconst FORMATTER_CURVE = 1;\n\n/**\n * EShape point style.\n *\n * * Bits 0 to 9: Bit field of styles.\n * * Bits 10 to 19: Formatter ID.\n */\nexport const EShapePointsStyle = {\n\tNONE: 0,\n\n\tCLOSED,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_EXPANDING_WIDTH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_SHRINKING_WIDTH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_SCALING_DOT_AND_DASH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_SCALING_MASK: NON_EXPANDING_WIDTH | NON_SHRINKING_WIDTH | NON_SCALING_DOT_AND_DASH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED_DENSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED_LOOSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED_MASK: DOTTED | DOTTED_DENSELY | DOTTED_LOOSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED_DENSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED_LOOSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED_MASK: DASHED | DASHED_DENSELY | DASHED_LOOSELY,\n\n\tCURVE,\n\n\tFORMATTER_SHIFT: FORMATTER_SHIFT,\n\n\tFORMATTER_MASK: FORMATTER_MASK,\n\n\tFORMATTER_EXTENSION_LOWEST: FORMATTER_EXTENSION_LOWEST,\n\n\tFORMATTER_EXTENSION_HIGHEST: FORMATTER_EXTENSION_HIGHEST,\n\n\tFORMATTER_CURVE\n} as const;\n\nexport type EShapePointsStyle = number;\n"]}
|
|
@@ -13,6 +13,8 @@ export * from "./e-shape-buffer-unit-builder";
|
|
|
13
13
|
export * from "./e-shape-buffer-unit";
|
|
14
14
|
export * from "./e-shape-buffer";
|
|
15
15
|
export * from "./e-shape-capabilities";
|
|
16
|
+
export * from "./e-shape-capability-container-impl";
|
|
17
|
+
export * from "./e-shape-capability-container";
|
|
16
18
|
export * from "./e-shape-capability";
|
|
17
19
|
export * from "./e-shape-connector-bodies";
|
|
18
20
|
export * from "./e-shape-connector-body-impl";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/index.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport * from \"./action\";\nexport * from \"./load\";\nexport * from \"./variant\";\nexport * from \"./e-shape-acceptor-impl\";\nexport * from \"./e-shape-acceptor-type\";\nexport * from \"./e-shape-acceptor\";\nexport * from \"./e-shape-acceptors\";\nexport * from \"./e-shape-buffer-unit-builder\";\nexport * from \"./e-shape-buffer-unit\";\nexport * from \"./e-shape-buffer\";\nexport * from \"./e-shape-capabilities\";\nexport * from \"./e-shape-capability\";\nexport * from \"./e-shape-connector-bodies\";\nexport * from \"./e-shape-connector-body-impl\";\nexport * from \"./e-shape-connector-body\";\nexport * from \"./e-shape-connector-container-impl\";\nexport * from \"./e-shape-connector-container\";\nexport * from \"./e-shape-connector-edge-acceptor-impl\";\nexport * from \"./e-shape-connector-edge-acceptor\";\nexport * from \"./e-shape-connector-edge-container-impl\";\nexport * from \"./e-shape-connector-edge-container\";\nexport * from \"./e-shape-connector-edge-impl\";\nexport * from \"./e-shape-connector-edge\";\nexport * from \"./e-shape-connector\";\nexport * from \"./e-shape-connectors\";\nexport * from \"./e-shape-container\";\nexport * from \"./e-shape-copy-part\";\nexport * from \"./e-shape-corner\";\nexport * from \"./e-shape-data-impl\";\nexport * from \"./e-shape-data-mapper-impl\";\nexport * from \"./e-shape-data-mapper\";\nexport * from \"./e-shape-data-mapping-impl\";\nexport * from \"./e-shape-data-mapping\";\nexport * from \"./e-shape-data-scoped-impl\";\nexport * from \"./e-shape-data-scoped\";\nexport * from \"./e-shape-data-system-impl\";\nexport * from \"./e-shape-data-system\";\nexport * from \"./e-shape-data-value-extension\";\nexport * from \"./e-shape-data-value-extensions\";\nexport * from \"./e-shape-data-value-formatter\";\nexport * from \"./e-shape-data-value-impl\";\nexport * from \"./e-shape-data-value-order\";\nexport * from \"./e-shape-data-value-range-impl\";\nexport * from \"./e-shape-data-value-range\";\nexport * from \"./e-shape-data-value-scope\";\nexport * from \"./e-shape-data-value-state\";\nexport * from \"./e-shape-data-value-type\";\nexport * from \"./e-shape-data-value\";\nexport * from \"./e-shape-data\";\nexport * from \"./e-shape-defaults\";\nexport * from \"./e-shape-deleter\";\nexport * from \"./e-shape-deserializers\";\nexport * from \"./e-shape-editor\";\nexport * from \"./e-shape-fill\";\nexport * from \"./e-shape-gradient\";\nexport * from \"./e-shape-layer-container\";\nexport * from \"./e-shape-layer-state\";\nexport * from \"./e-shape-layer\";\nexport * from \"./e-shape-layout\";\nexport * from \"./e-shape-points-formatted\";\nexport * from \"./e-shape-points-formatter-curve\";\nexport * from \"./e-shape-points-formatter\";\nexport * from \"./e-shape-points-marker-base\";\nexport * from \"./e-shape-points-marker-container-impl-noop\";\nexport * from \"./e-shape-points-marker-container-impl\";\nexport * from \"./e-shape-points-marker-container\";\nexport * from \"./e-shape-points-marker-head\";\nexport * from \"./e-shape-points-marker-noop\";\nexport * from \"./e-shape-points-marker-tail\";\nexport * from \"./e-shape-points-marker-type\";\nexport * from \"./e-shape-points-marker\";\nexport * from \"./e-shape-points-style\";\nexport * from \"./e-shape-points-styles\";\nexport * from \"./e-shape-points\";\nexport * from \"./e-shape-renderer-iterator-datum\";\nexport * from \"./e-shape-renderer-iterator\";\nexport * from \"./e-shape-renderer\";\nexport * from \"./e-shape-resource-manager-deserialization-mode\";\nexport * from \"./e-shape-resource-manager-deserialization\";\nexport * from \"./e-shape-resource-manager-serialization\";\nexport * from \"./e-shape-runtime-impl\";\nexport * from \"./e-shape-runtime-reset\";\nexport * from \"./e-shape-runtime\";\nexport * from \"./e-shape-runtimes\";\nexport * from \"./e-shape-search\";\nexport * from \"./e-shape-state-set-impl-observable\";\nexport * from \"./e-shape-state-set\";\nexport * from \"./e-shape-state\";\nexport * from \"./e-shape-stroke-side\";\nexport * from \"./e-shape-stroke-style\";\nexport * from \"./e-shape-stroke\";\nexport * from \"./e-shape-text-align-horizontal\";\nexport * from \"./e-shape-text-align-vertical\";\nexport * from \"./e-shape-text-align\";\nexport * from \"./e-shape-text-direction\";\nexport * from \"./e-shape-text-offset\";\nexport * from \"./e-shape-text-outline\";\nexport * from \"./e-shape-text\";\nexport * from \"./e-shape-transform-parent\";\nexport * from \"./e-shape-transform\";\nexport * from \"./e-shape-transforms\";\nexport * from \"./e-shape-type\";\nexport * from \"./e-shape-uploaded-constructor\";\nexport * from \"./e-shape-uploaded\";\nexport * from \"./e-shape-uploadeds\";\nexport * from \"./e-shape-uuid-mapping-impl\";\nexport * from \"./e-shape-uuid-mapping\";\nexport * from \"./e-shape\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/index.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport * from \"./action\";\nexport * from \"./load\";\nexport * from \"./variant\";\nexport * from \"./e-shape-acceptor-impl\";\nexport * from \"./e-shape-acceptor-type\";\nexport * from \"./e-shape-acceptor\";\nexport * from \"./e-shape-acceptors\";\nexport * from \"./e-shape-buffer-unit-builder\";\nexport * from \"./e-shape-buffer-unit\";\nexport * from \"./e-shape-buffer\";\nexport * from \"./e-shape-capabilities\";\nexport * from \"./e-shape-capability-container-impl\";\nexport * from \"./e-shape-capability-container\";\nexport * from \"./e-shape-capability\";\nexport * from \"./e-shape-connector-bodies\";\nexport * from \"./e-shape-connector-body-impl\";\nexport * from \"./e-shape-connector-body\";\nexport * from \"./e-shape-connector-container-impl\";\nexport * from \"./e-shape-connector-container\";\nexport * from \"./e-shape-connector-edge-acceptor-impl\";\nexport * from \"./e-shape-connector-edge-acceptor\";\nexport * from \"./e-shape-connector-edge-container-impl\";\nexport * from \"./e-shape-connector-edge-container\";\nexport * from \"./e-shape-connector-edge-impl\";\nexport * from \"./e-shape-connector-edge\";\nexport * from \"./e-shape-connector\";\nexport * from \"./e-shape-connectors\";\nexport * from \"./e-shape-container\";\nexport * from \"./e-shape-copy-part\";\nexport * from \"./e-shape-corner\";\nexport * from \"./e-shape-data-impl\";\nexport * from \"./e-shape-data-mapper-impl\";\nexport * from \"./e-shape-data-mapper\";\nexport * from \"./e-shape-data-mapping-impl\";\nexport * from \"./e-shape-data-mapping\";\nexport * from \"./e-shape-data-scoped-impl\";\nexport * from \"./e-shape-data-scoped\";\nexport * from \"./e-shape-data-system-impl\";\nexport * from \"./e-shape-data-system\";\nexport * from \"./e-shape-data-value-extension\";\nexport * from \"./e-shape-data-value-extensions\";\nexport * from \"./e-shape-data-value-formatter\";\nexport * from \"./e-shape-data-value-impl\";\nexport * from \"./e-shape-data-value-order\";\nexport * from \"./e-shape-data-value-range-impl\";\nexport * from \"./e-shape-data-value-range\";\nexport * from \"./e-shape-data-value-scope\";\nexport * from \"./e-shape-data-value-state\";\nexport * from \"./e-shape-data-value-type\";\nexport * from \"./e-shape-data-value\";\nexport * from \"./e-shape-data\";\nexport * from \"./e-shape-defaults\";\nexport * from \"./e-shape-deleter\";\nexport * from \"./e-shape-deserializers\";\nexport * from \"./e-shape-editor\";\nexport * from \"./e-shape-fill\";\nexport * from \"./e-shape-gradient\";\nexport * from \"./e-shape-layer-container\";\nexport * from \"./e-shape-layer-state\";\nexport * from \"./e-shape-layer\";\nexport * from \"./e-shape-layout\";\nexport * from \"./e-shape-points-formatted\";\nexport * from \"./e-shape-points-formatter-curve\";\nexport * from \"./e-shape-points-formatter\";\nexport * from \"./e-shape-points-marker-base\";\nexport * from \"./e-shape-points-marker-container-impl-noop\";\nexport * from \"./e-shape-points-marker-container-impl\";\nexport * from \"./e-shape-points-marker-container\";\nexport * from \"./e-shape-points-marker-head\";\nexport * from \"./e-shape-points-marker-noop\";\nexport * from \"./e-shape-points-marker-tail\";\nexport * from \"./e-shape-points-marker-type\";\nexport * from \"./e-shape-points-marker\";\nexport * from \"./e-shape-points-style\";\nexport * from \"./e-shape-points-styles\";\nexport * from \"./e-shape-points\";\nexport * from \"./e-shape-renderer-iterator-datum\";\nexport * from \"./e-shape-renderer-iterator\";\nexport * from \"./e-shape-renderer\";\nexport * from \"./e-shape-resource-manager-deserialization-mode\";\nexport * from \"./e-shape-resource-manager-deserialization\";\nexport * from \"./e-shape-resource-manager-serialization\";\nexport * from \"./e-shape-runtime-impl\";\nexport * from \"./e-shape-runtime-reset\";\nexport * from \"./e-shape-runtime\";\nexport * from \"./e-shape-runtimes\";\nexport * from \"./e-shape-search\";\nexport * from \"./e-shape-state-set-impl-observable\";\nexport * from \"./e-shape-state-set\";\nexport * from \"./e-shape-state\";\nexport * from \"./e-shape-stroke-side\";\nexport * from \"./e-shape-stroke-style\";\nexport * from \"./e-shape-stroke\";\nexport * from \"./e-shape-text-align-horizontal\";\nexport * from \"./e-shape-text-align-vertical\";\nexport * from \"./e-shape-text-align\";\nexport * from \"./e-shape-text-direction\";\nexport * from \"./e-shape-text-offset\";\nexport * from \"./e-shape-text-outline\";\nexport * from \"./e-shape-text\";\nexport * from \"./e-shape-transform-parent\";\nexport * from \"./e-shape-transform\";\nexport * from \"./e-shape-transforms\";\nexport * from \"./e-shape-type\";\nexport * from \"./e-shape-uploaded-constructor\";\nexport * from \"./e-shape-uploaded\";\nexport * from \"./e-shape-uploadeds\";\nexport * from \"./e-shape-uuid-mapping-impl\";\nexport * from \"./e-shape-uuid-mapping\";\nexport * from \"./e-shape\";\n"]}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
import { Point } from "pixi.js";
|
|
6
6
|
import { toIndexOf } from "../../util/to-index-of";
|
|
7
7
|
import { EShapePointsStyle } from "../e-shape-points-style";
|
|
8
|
-
import { eShapePointsFormatterCurve } from "../e-shape-points-formatter-curve";
|
|
9
8
|
import { toPointsBoundary } from "../e-shape-points-formatted";
|
|
10
9
|
import { EShapePointsMarkerContainerImpl } from "../e-shape-points-marker-container-impl";
|
|
10
|
+
import { EShapePointsFormatters } from "../e-shape-points-formatters";
|
|
11
11
|
var EShapeLinePoints = /** @class */ (function () {
|
|
12
12
|
function EShapeLinePoints(parent) {
|
|
13
13
|
this._parent = parent;
|
|
@@ -216,12 +216,7 @@ var EShapeLinePoints = /** @class */ (function () {
|
|
|
216
216
|
if (this._formattedId !== id) {
|
|
217
217
|
this._formattedId = id;
|
|
218
218
|
var style = this._style;
|
|
219
|
-
var formatter = this._formatter;
|
|
220
|
-
if (formatter == null) {
|
|
221
|
-
if (style & EShapePointsStyle.CURVE) {
|
|
222
|
-
formatter = eShapePointsFormatterCurve;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
219
|
+
var formatter = this._formatter || EShapePointsFormatters.find(style);
|
|
225
220
|
if (formatter != null) {
|
|
226
221
|
if (result == null) {
|
|
227
222
|
result = {
|
|
@@ -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 { eShapePointsFormatterCurve } from \"../e-shape-points-formatter-curve\";\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\";\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\tprotected _formattedValuesBase?: number[];\n\tprotected _formattedBoundaryBase?: EShapePointsFormattedBoundary;\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(): void {\n\t\tthis._valuesBase = undefined;\n\t\tconst parentSize = this._parent.size;\n\t\tthis._parentSizeFitted.copyFrom(parentSize);\n\t\tthis._parentSizeBase.copyFrom(parentSize);\n\t}\n\n\tprotected fit(): void {\n\t\tconst psizef = this._parentSizeFitted;\n\t\tconst psize = this._parent.size;\n\t\tconst psizeX = psize.x;\n\t\tconst psizeY = psize.y;\n\t\tconst threshold = 0.00001;\n\t\tif (threshold < Math.abs(psizeX - psizef.x) || threshold < Math.abs(psizeY - psizef.y)) {\n\t\t\tpsizef.set(psizeX, psizeY);\n\n\t\t\tconst psizeBase = this._parentSizeBase;\n\t\t\tconst isValidX = threshold < Math.abs(psizeBase.x);\n\t\t\tconst isValidY = threshold < Math.abs(psizeBase.y);\n\t\t\tif (isValidX || isValidY) {\n\t\t\t\tconst scaleX = isValidX ? psizeX / psizeBase.x : 1;\n\t\t\t\tconst scaleY = isValidY ? psizeY / psizeBase.y : 1;\n\n\t\t\t\t// Values\n\t\t\t\tconst values = this._values;\n\t\t\t\tlet valuesBase = this._valuesBase;\n\t\t\t\tif (valuesBase == null) {\n\t\t\t\t\tvaluesBase = [];\n\t\t\t\t\tthis._valuesBase = valuesBase;\n\n\t\t\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\t\t\tconst x = values[i];\n\t\t\t\t\t\tconst y = values[i + 1];\n\t\t\t\t\t\tvalues[i] = x * scaleX;\n\t\t\t\t\t\tvalues[i + 1] = y * scaleY;\n\t\t\t\t\t\tvaluesBase.push(x, y);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Formatted ID, values and boundary\n\t\t\t\tif (this._id === this._formattedId) {\n\t\t\t\t\tconst formatted = this._formatted;\n\t\t\t\t\tif (formatted != null) {\n\t\t\t\t\t\t// Formatted values\n\t\t\t\t\t\tconst formattedValues = formatted.values;\n\t\t\t\t\t\tlet formattedValuesBase = this._formattedValuesBase;\n\t\t\t\t\t\tif (formattedValuesBase == null) {\n\t\t\t\t\t\t\tformattedValuesBase = [];\n\t\t\t\t\t\t\tthis._formattedValuesBase = formattedValuesBase;\n\n\t\t\t\t\t\t\tfor (let i = 0, imax = formattedValues.length; i < imax; i += 2) {\n\t\t\t\t\t\t\t\tconst x = formattedValues[i];\n\t\t\t\t\t\t\t\tconst y = formattedValues[i + 1];\n\t\t\t\t\t\t\t\tformattedValues[i] = x * scaleX;\n\t\t\t\t\t\t\t\tformattedValues[i + 1] = y * scaleY;\n\t\t\t\t\t\t\t\tformattedValuesBase.push(x, y);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor (let i = 0, imax = formattedValues.length; i < imax; i += 2) {\n\t\t\t\t\t\t\t\tformattedValues[i] = formattedValuesBase[i] * scaleX;\n\t\t\t\t\t\t\t\tformattedValues[i + 1] = formattedValuesBase[i + 1] * scaleY;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Formatted boundary\n\t\t\t\t\t\tconst formattedBoundary = formatted.boundary;\n\t\t\t\t\t\tlet formattedBoundaryBase = this._formattedBoundaryBase;\n\t\t\t\t\t\tif (formattedBoundaryBase == null) {\n\t\t\t\t\t\t\tformattedBoundaryBase = [0, 0, 0, 0];\n\t\t\t\t\t\t\tthis._formattedBoundaryBase = formattedBoundaryBase;\n\n\t\t\t\t\t\t\tfor (let i = 0, imax = formattedBoundary.length; i < imax; i += 2) {\n\t\t\t\t\t\t\t\tconst x = formattedBoundary[i];\n\t\t\t\t\t\t\t\tconst y = formattedBoundary[i + 1];\n\t\t\t\t\t\t\t\tformattedBoundary[i] = x * scaleX;\n\t\t\t\t\t\t\t\tformattedBoundary[i + 1] = y * scaleY;\n\t\t\t\t\t\t\t\tformattedBoundaryBase[i] = x;\n\t\t\t\t\t\t\t\tformattedBoundaryBase[i + 1] = y;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor (let i = 0, imax = formattedBoundary.length; i < imax; i += 2) {\n\t\t\t\t\t\t\t\tformattedBoundary[i] = formattedBoundaryBase[i] * scaleX;\n\t\t\t\t\t\t\t\tformattedBoundary[i + 1] = formattedBoundaryBase[i + 1] * scaleY;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Formatted ID\n\t\t\t\t\t\tthis._formattedId += 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis._id += 1;\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\tlet formatter = this._formatter;\n\t\t\tif (formatter == null) {\n\t\t\t\tif (style & EShapePointsStyle.CURVE) {\n\t\t\t\t\tformatter = eShapePointsFormatterCurve;\n\t\t\t\t}\n\t\t\t}\n\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 valuesBase = this._valuesBase;\n\t\t\t\tconst segments = this._segments;\n\t\t\t\tif (valuesBase != null) {\n\t\t\t\t\tconst length = valuesBase.length >> 1;\n\t\t\t\t\tformatter(length, valuesBase, segments, style, result);\n\t\t\t\t\ttoPointsBoundary(result.values, result.boundary);\n\n\t\t\t\t\tconst formattedValues = result.values;\n\t\t\t\t\tconst formattedValuesBase = formattedValues.splice(0);\n\t\t\t\t\tthis._formattedValuesBase = formattedValuesBase;\n\n\t\t\t\t\tconst formattedBoundary = result.boundary;\n\t\t\t\t\tconst formattedBoundaryBase: EShapePointsFormattedBoundary = [\n\t\t\t\t\t\tformattedBoundary[0],\n\t\t\t\t\t\tformattedBoundary[1],\n\t\t\t\t\t\tformattedBoundary[2],\n\t\t\t\t\t\tformattedBoundary[3]\n\t\t\t\t\t];\n\t\t\t\t\tthis._formattedBoundaryBase = formattedBoundaryBase;\n\n\t\t\t\t\tthis.toScaled(\n\t\t\t\t\t\tformattedValues,\n\t\t\t\t\t\tformattedValuesBase,\n\t\t\t\t\t\tformattedBoundary,\n\t\t\t\t\t\tformattedBoundaryBase\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tconst values = this._values;\n\t\t\t\t\tconst length = values.length >> 1;\n\t\t\t\t\tformatter(length, values, segments, style, result);\n\t\t\t\t\ttoPointsBoundary(result.values, result.boundary);\n\t\t\t\t\tthis._formattedValuesBase = undefined;\n\t\t\t\t\tthis._formattedBoundaryBase = undefined;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresult = undefined;\n\t\t\t\tthis._formattedValuesBase = undefined;\n\t\t\t\tthis._formattedBoundaryBase = 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\tthis.toFitted();\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":"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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\tprotected _formattedValuesBase?: number[];\n\tprotected _formattedBoundaryBase?: EShapePointsFormattedBoundary;\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(): void {\n\t\tthis._valuesBase = undefined;\n\t\tconst parentSize = this._parent.size;\n\t\tthis._parentSizeFitted.copyFrom(parentSize);\n\t\tthis._parentSizeBase.copyFrom(parentSize);\n\t}\n\n\tprotected fit(): void {\n\t\tconst psizef = this._parentSizeFitted;\n\t\tconst psize = this._parent.size;\n\t\tconst psizeX = psize.x;\n\t\tconst psizeY = psize.y;\n\t\tconst threshold = 0.00001;\n\t\tif (threshold < Math.abs(psizeX - psizef.x) || threshold < Math.abs(psizeY - psizef.y)) {\n\t\t\tpsizef.set(psizeX, psizeY);\n\n\t\t\tconst psizeBase = this._parentSizeBase;\n\t\t\tconst isValidX = threshold < Math.abs(psizeBase.x);\n\t\t\tconst isValidY = threshold < Math.abs(psizeBase.y);\n\t\t\tif (isValidX || isValidY) {\n\t\t\t\tconst scaleX = isValidX ? psizeX / psizeBase.x : 1;\n\t\t\t\tconst scaleY = isValidY ? psizeY / psizeBase.y : 1;\n\n\t\t\t\t// Values\n\t\t\t\tconst values = this._values;\n\t\t\t\tlet valuesBase = this._valuesBase;\n\t\t\t\tif (valuesBase == null) {\n\t\t\t\t\tvaluesBase = [];\n\t\t\t\t\tthis._valuesBase = valuesBase;\n\n\t\t\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\t\t\tconst x = values[i];\n\t\t\t\t\t\tconst y = values[i + 1];\n\t\t\t\t\t\tvalues[i] = x * scaleX;\n\t\t\t\t\t\tvalues[i + 1] = y * scaleY;\n\t\t\t\t\t\tvaluesBase.push(x, y);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Formatted ID, values and boundary\n\t\t\t\tif (this._id === this._formattedId) {\n\t\t\t\t\tconst formatted = this._formatted;\n\t\t\t\t\tif (formatted != null) {\n\t\t\t\t\t\t// Formatted values\n\t\t\t\t\t\tconst formattedValues = formatted.values;\n\t\t\t\t\t\tlet formattedValuesBase = this._formattedValuesBase;\n\t\t\t\t\t\tif (formattedValuesBase == null) {\n\t\t\t\t\t\t\tformattedValuesBase = [];\n\t\t\t\t\t\t\tthis._formattedValuesBase = formattedValuesBase;\n\n\t\t\t\t\t\t\tfor (let i = 0, imax = formattedValues.length; i < imax; i += 2) {\n\t\t\t\t\t\t\t\tconst x = formattedValues[i];\n\t\t\t\t\t\t\t\tconst y = formattedValues[i + 1];\n\t\t\t\t\t\t\t\tformattedValues[i] = x * scaleX;\n\t\t\t\t\t\t\t\tformattedValues[i + 1] = y * scaleY;\n\t\t\t\t\t\t\t\tformattedValuesBase.push(x, y);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor (let i = 0, imax = formattedValues.length; i < imax; i += 2) {\n\t\t\t\t\t\t\t\tformattedValues[i] = formattedValuesBase[i] * scaleX;\n\t\t\t\t\t\t\t\tformattedValues[i + 1] = formattedValuesBase[i + 1] * scaleY;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Formatted boundary\n\t\t\t\t\t\tconst formattedBoundary = formatted.boundary;\n\t\t\t\t\t\tlet formattedBoundaryBase = this._formattedBoundaryBase;\n\t\t\t\t\t\tif (formattedBoundaryBase == null) {\n\t\t\t\t\t\t\tformattedBoundaryBase = [0, 0, 0, 0];\n\t\t\t\t\t\t\tthis._formattedBoundaryBase = formattedBoundaryBase;\n\n\t\t\t\t\t\t\tfor (let i = 0, imax = formattedBoundary.length; i < imax; i += 2) {\n\t\t\t\t\t\t\t\tconst x = formattedBoundary[i];\n\t\t\t\t\t\t\t\tconst y = formattedBoundary[i + 1];\n\t\t\t\t\t\t\t\tformattedBoundary[i] = x * scaleX;\n\t\t\t\t\t\t\t\tformattedBoundary[i + 1] = y * scaleY;\n\t\t\t\t\t\t\t\tformattedBoundaryBase[i] = x;\n\t\t\t\t\t\t\t\tformattedBoundaryBase[i + 1] = y;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor (let i = 0, imax = formattedBoundary.length; i < imax; i += 2) {\n\t\t\t\t\t\t\t\tformattedBoundary[i] = formattedBoundaryBase[i] * scaleX;\n\t\t\t\t\t\t\t\tformattedBoundary[i + 1] = formattedBoundaryBase[i + 1] * scaleY;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Formatted ID\n\t\t\t\t\t\tthis._formattedId += 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis._id += 1;\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);\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 valuesBase = this._valuesBase;\n\t\t\t\tconst segments = this._segments;\n\t\t\t\tif (valuesBase != null) {\n\t\t\t\t\tconst length = valuesBase.length >> 1;\n\t\t\t\t\tformatter(length, valuesBase, segments, style, result);\n\t\t\t\t\ttoPointsBoundary(result.values, result.boundary);\n\n\t\t\t\t\tconst formattedValues = result.values;\n\t\t\t\t\tconst formattedValuesBase = formattedValues.splice(0);\n\t\t\t\t\tthis._formattedValuesBase = formattedValuesBase;\n\n\t\t\t\t\tconst formattedBoundary = result.boundary;\n\t\t\t\t\tconst formattedBoundaryBase: EShapePointsFormattedBoundary = [\n\t\t\t\t\t\tformattedBoundary[0],\n\t\t\t\t\t\tformattedBoundary[1],\n\t\t\t\t\t\tformattedBoundary[2],\n\t\t\t\t\t\tformattedBoundary[3]\n\t\t\t\t\t];\n\t\t\t\t\tthis._formattedBoundaryBase = formattedBoundaryBase;\n\n\t\t\t\t\tthis.toScaled(\n\t\t\t\t\t\tformattedValues,\n\t\t\t\t\t\tformattedValuesBase,\n\t\t\t\t\t\tformattedBoundary,\n\t\t\t\t\t\tformattedBoundaryBase\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tconst values = this._values;\n\t\t\t\t\tconst length = values.length >> 1;\n\t\t\t\t\tformatter(length, values, segments, style, result);\n\t\t\t\t\ttoPointsBoundary(result.values, result.boundary);\n\t\t\t\t\tthis._formattedValuesBase = undefined;\n\t\t\t\t\tthis._formattedBoundaryBase = undefined;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresult = undefined;\n\t\t\t\tthis._formattedValuesBase = undefined;\n\t\t\t\tthis._formattedBoundaryBase = 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\tthis.toFitted();\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"]}
|