@wcardinal/wcardinal-ui 0.455.0 → 0.457.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/action/e-shape-actions.d.ts +3 -0
- package/dist/types/wcardinal/ui/shape/action/e-shapes.d.ts +5 -0
- package/dist/types/wcardinal/ui/shape/variant/e-shape-embedded.d.ts +4 -1
- package/dist/wcardinal/ui/d-diagram-canvas.js +29 -0
- package/dist/wcardinal/ui/d-diagram-canvas.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-layer.js +3 -0
- package/dist/wcardinal/ui/d-diagram-layer.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-actions.js +8 -0
- package/dist/wcardinal/ui/shape/action/e-shape-actions.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shapes.js +4 -0
- package/dist/wcardinal/ui/shape/action/e-shapes.js.map +1 -0
- package/dist/wcardinal/ui/shape/variant/e-shape-base.js +17 -2
- package/dist/wcardinal/ui/shape/variant/e-shape-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-embedded-layer.js +2 -0
- package/dist/wcardinal/ui/shape/variant/e-shape-embedded-layer.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-embedded.js +20 -13
- package/dist/wcardinal/ui/shape/variant/e-shape-embedded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-group.js +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-group.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 +79 -17
- package/dist/wcardinal-ui.js +79 -17
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -17,6 +17,7 @@ import { EShapeCapabilityContainerImpl } from "../e-shape-capability-container-i
|
|
|
17
17
|
import { EShapeCapability } from "../e-shape-capability";
|
|
18
18
|
import { EShapeLock } from "./e-shape-lock";
|
|
19
19
|
import { EShapeLockPart } from "./e-shape-lock-part";
|
|
20
|
+
import { EShapes } from "../action/e-shapes";
|
|
20
21
|
var EShapeBase = /** @class */ (function (_super) {
|
|
21
22
|
__extends(EShapeBase, _super);
|
|
22
23
|
function EShapeBase(type) {
|
|
@@ -65,7 +66,9 @@ var EShapeBase = /** @class */ (function (_super) {
|
|
|
65
66
|
}
|
|
66
67
|
var runtime = this.runtime;
|
|
67
68
|
if (runtime != null) {
|
|
69
|
+
EShapes.CURRENT = this;
|
|
68
70
|
runtime.onResize(this);
|
|
71
|
+
EShapes.CURRENT = null;
|
|
69
72
|
}
|
|
70
73
|
};
|
|
71
74
|
EShapeBase.prototype.onTransformChange = function () {
|
|
@@ -614,7 +617,9 @@ var EShapeBase = /** @class */ (function (_super) {
|
|
|
614
617
|
EShapeBase.prototype.onStateChange = function (newState, oldState) {
|
|
615
618
|
var runtime = this.runtime;
|
|
616
619
|
if (runtime != null) {
|
|
620
|
+
EShapes.CURRENT = this;
|
|
617
621
|
runtime.onStateChange(this, newState, oldState);
|
|
622
|
+
EShapes.CURRENT = null;
|
|
618
623
|
}
|
|
619
624
|
var children = this.children;
|
|
620
625
|
for (var i = 0, imax = children.length; i < imax; ++i) {
|
|
@@ -673,14 +678,20 @@ var EShapeBase = /** @class */ (function (_super) {
|
|
|
673
678
|
EShapeBase.prototype.onKeyDown = function (e) {
|
|
674
679
|
var runtime = this.runtime;
|
|
675
680
|
if (runtime) {
|
|
676
|
-
|
|
681
|
+
EShapes.CURRENT = this;
|
|
682
|
+
var result = runtime.onKeyDown(this, e);
|
|
683
|
+
EShapes.CURRENT = null;
|
|
684
|
+
return result;
|
|
677
685
|
}
|
|
678
686
|
return false;
|
|
679
687
|
};
|
|
680
688
|
EShapeBase.prototype.onKeyUp = function (e) {
|
|
681
689
|
var runtime = this.runtime;
|
|
682
690
|
if (runtime) {
|
|
683
|
-
|
|
691
|
+
EShapes.CURRENT = this;
|
|
692
|
+
var result = runtime.onKeyUp(this, e);
|
|
693
|
+
EShapes.CURRENT = null;
|
|
694
|
+
return result;
|
|
684
695
|
}
|
|
685
696
|
return false;
|
|
686
697
|
};
|
|
@@ -688,13 +699,17 @@ var EShapeBase = /** @class */ (function (_super) {
|
|
|
688
699
|
EShapeBase.prototype.update = function (time) {
|
|
689
700
|
var runtime = this.runtime;
|
|
690
701
|
if (runtime) {
|
|
702
|
+
EShapes.CURRENT = this;
|
|
691
703
|
runtime.update(this, time);
|
|
704
|
+
EShapes.CURRENT = null;
|
|
692
705
|
}
|
|
693
706
|
};
|
|
694
707
|
EShapeBase.prototype.onRender = function (time, renderer) {
|
|
695
708
|
var runtime = this.runtime;
|
|
696
709
|
if (runtime) {
|
|
710
|
+
EShapes.CURRENT = this;
|
|
697
711
|
runtime.onRender(this, time, renderer);
|
|
712
|
+
EShapes.CURRENT = null;
|
|
698
713
|
}
|
|
699
714
|
};
|
|
700
715
|
EShapeBase.prototype.copy = function (source, part) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-base.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n\tDisplayObject,\n\tIPoint,\n\tMatrix,\n\tPoint,\n\tRectangle,\n\tRenderer,\n\tTexture,\n\tTransform,\n\tutils\n} from \"pixi.js\";\nimport { DApplications } from \"../../d-applications\";\nimport { DBaseStateSet } from \"../../d-base-state-set\";\nimport { DDiagramSerializedItem } from \"../../d-diagram-serialized\";\nimport { EShapeAction } from \"../action/e-shape-action\";\nimport { EShape } from \"../e-shape\";\nimport { EShapeImageLike } from \"../e-shape-image-like\";\nimport { EShapeConnectorContainer } from \"../e-shape-connector-container\";\nimport { EShapeConnectorContainerImpl } from \"../e-shape-connector-container-impl\";\nimport { EShapeContainer } from \"../e-shape-container\";\nimport { EShapeCopyPart } from \"../e-shape-copy-part\";\nimport { EShapeCorner } from \"../e-shape-corner\";\nimport { EShapeEditor } from \"../e-shape-editor\";\nimport { EShapeFill } from \"../e-shape-fill\";\nimport { EShapeGradientLike } from \"../e-shape-gradient\";\nimport { EShapeLayout } from \"../e-shape-layout\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeRuntime } from \"../e-shape-runtime\";\nimport { EShapeStateSet } from \"../e-shape-state-set\";\nimport { EShapeStateSetImplObservable } from \"../e-shape-state-set-impl-observable\";\nimport { EShapeStroke } from \"../e-shape-stroke\";\nimport { EShapeStrokeStyle } from \"../e-shape-stroke-style\";\nimport { EShapeData } from \"../e-shape-data\";\nimport { EShapeText } from \"../e-shape-text\";\nimport { EShapeTransform, EShapeTransformImpl } from \"../e-shape-transform\";\nimport { EShapeType } from \"../e-shape-type\";\nimport { EShapeUploaded } from \"../e-shape-uploaded\";\nimport { EShapeBaseHitTestData } from \"./e-shape-base-hit-test-data\";\nimport { hitTestBBox } from \"./hit-test-bbox\";\nimport { EShapeCapabilityContainer } from \"../e-shape-capability-container\";\nimport { EShapeCapabilityContainerImpl } from \"../e-shape-capability-container-impl\";\nimport { EShapeCapability } from \"../e-shape-capability\";\nimport { EShapeLock } from \"./e-shape-lock\";\nimport { EShapeLockPart } from \"./e-shape-lock-part\";\n\nexport abstract class EShapeBase extends utils.EventEmitter implements EShape {\n\tprotected static WORK_HIT_TEST_DATA?: EShapeBaseHitTestData;\n\tid: string;\n\tuuid: number;\n\treadonly type: EShapeType;\n\tabstract readonly size: IPoint;\n\tabstract readonly fill: EShapeFill;\n\tabstract readonly stroke: EShapeStroke;\n\treadonly transform: EShapeTransform;\n\tabstract radius: number;\n\tabstract corner: EShapeCorner;\n\tprotected _points?: EShapePoints;\n\tabstract image?: EShapeImageLike;\n\ttexture?: Texture;\n\tabstract gradient?: EShapeGradientLike;\n\tabstract readonly text: EShapeText;\n\t/** @deprecated in favor of {@link data} */\n\tabstract readonly tag: EShapeData;\n\tabstract readonly data: EShapeData;\n\treadonly action: EShapeAction;\n\tcursor?: string;\n\tinteractive: boolean;\n\tshortcut?: string;\n\ttitle?: string;\n\n\tprotected _connector?: EShapeConnectorContainer;\n\n\tprotected _visible: boolean;\n\n\tprotected _lockTransformChild: EShapeLock;\n\tprotected _lockTransformThis: EShapeLock;\n\tprotected _lockTransformParent: EShapeLock;\n\tprotected _lockUploaded: EShapeLock;\n\n\tprotected _bounds?: Rectangle;\n\tprotected _boundsTransformId: number;\n\tprotected _boundsInternal?: Rectangle;\n\tprotected _boundsInternalTransformId: number;\n\tprotected _boundsLocal?: Rectangle;\n\tprotected _boundsLocalTransformId: number;\n\n\tprotected _state?: EShapeStateSet;\n\tprotected _capability?: EShapeCapabilityContainer;\n\n\t// Hierarchy\n\tparent: EShapeContainer | EShape | null;\n\tchildren: EShape[];\n\tlayout?: EShapeLayout;\n\n\t// Working space\n\tindex: number; // A work space for sorting.\n\tselected: boolean;\n\treference: number; // Count of references from commands\n\n\t// Working space for the viewer\n\truntime?: EShapeRuntime;\n\n\t// Working space for the editor\n\teditor?: EShapeEditor;\n\n\t// Working space for the renderer\n\tuploaded?: EShapeUploaded;\n\n\tconstructor(type: EShapeType) {\n\t\tsuper();\n\t\tthis.id = \"\";\n\t\tthis.uuid = 0;\n\t\tthis.type = type;\n\t\tthis.transform = this.newTransform();\n\t\tthis.action = new EShapeAction();\n\t\tthis._visible = true;\n\n\t\tthis._lockTransformChild = new EShapeLock();\n\t\tthis._lockTransformThis = new EShapeLock();\n\t\tthis._lockTransformParent = new EShapeLock();\n\t\tthis._lockUploaded = new EShapeLock();\n\n\t\tthis._boundsTransformId = -1;\n\t\tthis._boundsInternalTransformId = -1;\n\t\tthis._boundsLocalTransformId = -1;\n\n\t\tthis.interactive = false;\n\n\t\t//\n\t\tthis.parent = null;\n\t\tthis.children = [];\n\n\t\t//\n\t\tthis.selected = false;\n\t\tthis.index = 0;\n\t\tthis.reference = 0;\n\t}\n\n\tprotected newTransform(): EShapeTransform {\n\t\treturn new EShapeTransformImpl(this);\n\t}\n\n\tonSizeChange(): void {\n\t\tthis._boundsTransformId = -1;\n\t\tthis._boundsInternalTransformId = -1;\n\t\tthis._boundsLocalTransformId = -1;\n\n\t\tif (!this._lockTransformChild.isLocked()) {\n\t\t\tthis.callChildTransformChange();\n\t\t}\n\t\tconst points = this._points;\n\t\tif (points != null) {\n\t\t\tpoints.onSizeChange();\n\t\t}\n\t\tthis.updateUploaded();\n\n\t\tconst connector = this._connector;\n\t\tif (connector != null) {\n\t\t\tconnector.fit(true);\n\t\t}\n\n\t\tconst runtime = this.runtime;\n\t\tif (runtime != null) {\n\t\t\truntime.onResize(this);\n\t\t}\n\t}\n\n\tonTransformChange(): void {\n\t\tif (!this._lockTransformChild.isLocked()) {\n\t\t\tthis.callChildTransformChange();\n\t\t}\n\t\tif (!this._lockTransformThis.isLocked()) {\n\t\t\tthis.onThisTransformChange();\n\t\t}\n\t\tif (!this._lockTransformParent.isLocked()) {\n\t\t\tthis.callParentTransformChange();\n\t\t}\n\t}\n\n\tprotected callChildTransformChange(): void {\n\t\tconst parent = this.parent;\n\t\tif (parent != null) {\n\t\t\tparent.onChildTransformChange();\n\t\t}\n\t}\n\n\tprotected onThisTransformChange(): void {\n\t\tthis.updateUploaded();\n\t\tconst connector = this._connector;\n\t\tif (connector != null) {\n\t\t\tconnector.fit(true);\n\t\t}\n\t}\n\n\tprotected callParentTransformChange(): void {\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].onParentTransformChange();\n\t\t}\n\t}\n\n\tonParentTransformChange(): void {\n\t\tif (!this._lockTransformThis.isLocked()) {\n\t\t\tthis.onThisTransformChange();\n\t\t}\n\t\tif (!this._lockTransformParent.isLocked()) {\n\t\t\tthis.callParentTransformChange();\n\t\t}\n\t}\n\n\tlock(part: EShapeLockPart): this {\n\t\tif (part & EShapeLockPart.UPLOADED) {\n\t\t\tthis._lockUploaded.lock();\n\t\t}\n\t\tif (part & EShapeLockPart.TRANSFORM_PARENT) {\n\t\t\tthis._lockTransformParent.lock();\n\t\t}\n\t\tif (part & EShapeLockPart.TRANSFORM_THIS) {\n\t\t\tthis._lockTransformThis.lock();\n\t\t}\n\t\tif (part & EShapeLockPart.TRANSFORM_CHILD) {\n\t\t\tthis._lockTransformChild.lock();\n\t\t}\n\t\treturn this;\n\t}\n\n\tunlock(part: EShapeLockPart, invoke: boolean): this {\n\t\tif (part & EShapeLockPart.TRANSFORM_CHILD) {\n\t\t\tif (this._lockTransformChild.unlock() && invoke) {\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.onChildTransformChange();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (part & EShapeLockPart.TRANSFORM_THIS) {\n\t\t\tif (this._lockTransformThis.unlock() && invoke) {\n\t\t\t\tthis.onThisTransformChange();\n\t\t\t}\n\t\t}\n\t\tif (part & EShapeLockPart.TRANSFORM_PARENT) {\n\t\t\tif (this._lockTransformParent.unlock() && invoke) {\n\t\t\t\tconst children = this.children;\n\t\t\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\t\t\tchildren[i].onParentTransformChange();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (part & EShapeLockPart.UPLOADED) {\n\t\t\tconst lockUploaded = this._lockUploaded;\n\t\t\tif (lockUploaded.unlock() && invoke) {\n\t\t\t\tthis.updateUploaded(lockUploaded.isHigh());\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tonChildTransformChange(): void {\n\t\t//\n\t}\n\n\tupdateUploaded(recursively?: boolean): void {\n\t\tif (this._lockUploaded.isLocked(recursively)) {\n\t\t\treturn;\n\t\t}\n\t\tconst uploaded = this.uploaded;\n\t\tif (uploaded != null) {\n\t\t\tuploaded.update(this);\n\t\t}\n\t\tif (recursively === true) {\n\t\t\tconst children = this.children;\n\t\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\t\tchildren[i].updateUploaded(true);\n\t\t\t}\n\t\t}\n\t}\n\n\tget points(): EShapePoints | undefined {\n\t\treturn this._points;\n\t}\n\n\tget root(): EShape {\n\t\tlet root: EShape = this;\n\t\twhile (root.parent instanceof EShapeBase) {\n\t\t\troot = root.parent;\n\t\t}\n\t\treturn root;\n\t}\n\n\tget connector(): EShapeConnectorContainer {\n\t\tlet result = this._connector;\n\t\tif (result == null) {\n\t\t\tresult = new EShapeConnectorContainerImpl(this);\n\t\t\tthis._connector = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget visible(): boolean {\n\t\tif (this._visible) {\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\treturn parent.visible;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tset visible(visible: boolean) {\n\t\tif (this._visible !== visible) {\n\t\t\tthis._visible = visible;\n\t\t\tthis.updateUploaded(true);\n\t\t}\n\t}\n\n\tget worldVisible(): boolean {\n\t\tif (this._visible) {\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent) {\n\t\t\t\treturn parent.worldVisible;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t//\n\tabstract clone(): EShape;\n\n\t//\n\ttoDirty(): void {\n\t\tconst parent = this.parent;\n\t\tif (parent != null) {\n\t\t\tparent.toDirty();\n\t\t}\n\t}\n\n\t// Hierarchy\n\tattach(parent: EShapeContainer | EShape, at?: number): this {\n\t\tthis.detach();\n\t\tthis.parent = parent;\n\t\tconst children = parent.children;\n\t\tif (at != null && 0 <= at && at < children.length) {\n\t\t\tchildren.splice(at, 0, this);\n\t\t} else {\n\t\t\tchildren.push(this);\n\t\t}\n\t\tparent.onChildTransformChange();\n\t\tparent.toDirty();\n\t\tthis.onAttach();\n\t\treturn this;\n\t}\n\n\tonAttach(): void {\n\t\tthis.uploaded = undefined;\n\t\tconst connector = this._connector;\n\t\tif (connector) {\n\t\t\tconnector.attach();\n\t\t\tconnector.fit(true);\n\t\t}\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].onAttach();\n\t\t}\n\t}\n\n\tdetach(exceptions?: Set<EShape>): this {\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tthis.parent = null;\n\t\t\tconst children = parent.children;\n\t\t\tconst index = children.indexOf(this);\n\t\t\tif (0 <= index) {\n\t\t\t\tchildren.splice(index, 1);\n\t\t\t\tparent.onChildTransformChange();\n\t\t\t\tparent.toDirty();\n\t\t\t\tthis.onDetach(exceptions);\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tonDetach(exceptions?: Set<EShape>): void {\n\t\tthis.uploaded = undefined;\n\t\tconst connector = this._connector;\n\t\tif (connector) {\n\t\t\tconnector.detach(exceptions);\n\t\t}\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].onDetach(exceptions);\n\t\t}\n\t}\n\n\t// Transform\n\tupdateTransform(): void {\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tif (parent.parent) {\n\t\t\t\tparent.updateTransform();\n\t\t\t}\n\t\t\tthis.transform.updateTransform(parent.transform);\n\t\t} else {\n\t\t\tthis.transform.updateTransform(Transform.IDENTITY);\n\t\t}\n\t}\n\n\t// Serialization\n\tserializeChildren(manager: EShapeResourceManagerSerialization): DDiagramSerializedItem[] {\n\t\tconst children = this.children;\n\t\tconst childrenSerialized = [];\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst child = children[i];\n\t\t\tchildrenSerialized.push(child.serialize(manager));\n\t\t}\n\t\treturn childrenSerialized;\n\t}\n\n\tabstract serializeImage(manager: EShapeResourceManagerSerialization): number;\n\n\tabstract serializeGradient(manager: EShapeResourceManagerSerialization): number;\n\n\tserializeState(manager: EShapeResourceManagerSerialization): number {\n\t\tconst state = this.state;\n\t\treturn (this.interactive ? 1 : 0) | (state.isFocusable ? 0 : 2) | (state.isActive ? 4 : 0);\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): DDiagramSerializedItem {\n\t\tconst transform = this.transform;\n\t\tconst position = transform.position;\n\t\tconst pivot = transform.pivot;\n\t\tconst size = this.size;\n\t\tconst shortcut = this.shortcut;\n\t\tconst shortcutId = shortcut != null ? manager.addResource(shortcut) : -1;\n\t\tconst cursor = this.cursor;\n\t\tconst cursorId = cursor != null ? manager.addResource(cursor) : -1;\n\t\tconst title = this.title;\n\t\tconst titleId = title != null ? manager.addResource(title) : -1;\n\t\tlet capabilitiesAdded: EShapeCapability = EShapeCapability.NONE;\n\t\tlet capabilitiesRemoved: EShapeCapability = EShapeCapability.NONE;\n\t\tlet capabilitiesLocked: EShapeCapability = EShapeCapability.NONE;\n\t\tconst capability = this._capability;\n\t\tif (capability != null) {\n\t\t\tcapabilitiesAdded = capability.added;\n\t\t\tcapabilitiesRemoved = capability.removed;\n\t\t\tcapabilitiesLocked = capability.locked;\n\t\t}\n\t\treturn [\n\t\t\tthis.type,\n\t\t\tmanager.addResource(this.id),\n\t\t\tposition.x,\n\t\t\tposition.y,\n\t\t\tsize.x,\n\t\t\tsize.y,\n\t\t\ttransform.rotation,\n\t\t\ttransform.skew.x,\n\t\t\tthis.fill.serialize(manager),\n\t\t\tthis.stroke.serialize(manager),\n\t\t\tcursorId,\n\t\t\tthis.text.serialize(manager),\n\t\t\tthis.data.serialize(manager),\n\t\t\tthis.radius,\n\t\t\tthis.corner,\n\t\t\t-1,\n\t\t\t-1,\n\t\t\tthis.action.serialize(manager),\n\t\t\tthis.serializeImage(manager),\n\t\t\tthis.serializeGradient(manager),\n\t\t\tthis.serializeChildren(manager),\n\t\t\tpivot.x,\n\t\t\tpivot.y,\n\t\t\tthis.serializeState(manager),\n\t\t\tshortcutId,\n\t\t\ttitleId,\n\t\t\tthis.uuid,\n\t\t\tcapabilitiesAdded,\n\t\t\tcapabilitiesRemoved,\n\t\t\tcapabilitiesLocked\n\t\t];\n\t}\n\n\taddUuid(manager: EShapeResourceManagerSerialization): void {\n\t\tthis.uuid = manager.addUuid(this.uuid);\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].addUuid(manager);\n\t\t}\n\t}\n\n\tupdateUuid(manager: EShapeResourceManagerSerialization): void {\n\t\tthis.uuid = manager.updateUuid(this.uuid);\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].updateUuid(manager);\n\t\t}\n\t}\n\n\t// Hit test\n\tprotected getShapeScale(): number {\n\t\tconst container = this.root.parent as any;\n\t\tif (container != null && container.getShapeScale != null) {\n\t\t\treturn container.getShapeScale();\n\t\t}\n\t\treturn 1.0;\n\t}\n\n\tprotected getStrokeWidthScale(style: EShapeStrokeStyle): number {\n\t\tif (style & EShapeStrokeStyle.NON_EXPANDING_WIDTH) {\n\t\t\tif (style & EShapeStrokeStyle.NON_SHRINKING_WIDTH) {\n\t\t\t\treturn this.getShapeScale();\n\t\t\t} else {\n\t\t\t\treturn Math.min(1.0, this.getShapeScale());\n\t\t\t}\n\t\t} else {\n\t\t\tif (style & EShapeStrokeStyle.NON_SHRINKING_WIDTH) {\n\t\t\t\treturn Math.max(1.0, this.getShapeScale());\n\t\t\t} else {\n\t\t\t\treturn 1.0;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getHitTestSize(result: EShapeBaseHitTestData): EShapeBaseHitTestData {\n\t\tconst size = this.size;\n\t\tresult.width = 0.5 * size.x;\n\t\tresult.height = 0.5 * size.y;\n\t\treturn result;\n\t}\n\n\ttoHitTestData(x: number, y: number): EShapeBaseHitTestData {\n\t\tconst result = this.getHitTestSize(\n\t\t\t(EShapeBase.WORK_HIT_TEST_DATA ??= new EShapeBaseHitTestData())\n\t\t);\n\t\tconst sx = result.width;\n\t\tconst sy = result.height;\n\t\tconst pivot = this.transform.pivot;\n\t\tconst dx = x - pivot.x;\n\t\tconst dy = y - pivot.y;\n\t\tconst stroke = this.stroke;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeScale = this.getStrokeWidthScale(stroke.style);\n\t\tconst strokeAlign = stroke.align;\n\t\tconst s = strokeWidth * strokeScale * strokeAlign;\n\t\treturn result.set(\n\t\t\t0 <= sx ? +dx : -dx,\n\t\t\t0 <= sy ? +dy : -dy,\n\t\t\tMath.abs(sx) + s,\n\t\t\tMath.abs(sy) + s,\n\t\t\tstrokeWidth,\n\t\t\tstrokeScale,\n\t\t\tstrokeAlign\n\t\t);\n\t}\n\n\tcontains(x: number, y: number): EShape | null {\n\t\tconst data = this.toHitTestData(x, y);\n\t\tif (\n\t\t\tthis.containsAbs(\n\t\t\t\tdata.x,\n\t\t\t\tdata.y,\n\t\t\t\tdata.width,\n\t\t\t\tdata.height,\n\t\t\t\tdata.strokeWidth,\n\t\t\t\tdata.strokeScale,\n\t\t\t\tdata.strokeAlign\n\t\t\t)\n\t\t) {\n\t\t\treturn this;\n\t\t}\n\t\treturn this.containsText(x, y) || this.containsChildren(x, y);\n\t}\n\n\tprotected containsText(x: number, y: number): EShape | null {\n\t\tconst text = this.text;\n\t\tconst textAtlas = text.atlas;\n\t\tif (textAtlas != null) {\n\t\t\tconst textWorld = text.world;\n\t\t\tif (textWorld != null) {\n\t\t\t\tconst transform = this.transform.internalTransform;\n\t\t\t\tconst tx = transform.a * x + transform.c * y + transform.tx - textWorld[0];\n\t\t\t\tconst ty = transform.b * x + transform.d * y + transform.ty - textWorld[1];\n\t\t\t\tconst th = textWorld[2] * tx + textWorld[3] * ty;\n\t\t\t\tconst tv = textWorld[4] * tx + textWorld[5] * ty;\n\t\t\t\tconst w = textWorld[6];\n\t\t\t\tconst h = textWorld[7];\n\t\t\t\tif (0 <= th && th <= w && 0 <= tv && tv <= h) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected containsChildren(x: number, y: number): EShape | null {\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tchild.updateTransform();\n\t\t\tconst localTransform = child.transform.localTransform;\n\t\t\tconst a = localTransform.a;\n\t\t\tconst b = localTransform.b;\n\t\t\tconst c = localTransform.c;\n\t\t\tconst d = localTransform.d;\n\t\t\tconst tx = localTransform.tx;\n\t\t\tconst ty = localTransform.ty;\n\t\t\tconst id = 1 / (a * d - c * b);\n\t\t\tconst lx = (d * x - c * y + ty * c - tx * d) * id;\n\t\t\tconst ly = (a * y - b * x - ty * a + tx * b) * id;\n\t\t\tconst childResult = child.contains(lx, ly);\n\t\t\tif (childResult != null) {\n\t\t\t\treturn childResult;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tcontainsBBox(x: number, y: number): boolean {\n\t\tconst data = this.toHitTestData(x, y);\n\t\treturn this.containsAbsBBox(data.x, data.y, data.width, data.height);\n\t}\n\n\tcontainsAbs(\n\t\tx: number,\n\t\ty: number,\n\t\tax: number,\n\t\tay: number,\n\t\tsw: number,\n\t\tss: number,\n\t\tsa: number\n\t): boolean {\n\t\treturn this.containsAbsBBox(x, y, ax, ay);\n\t}\n\n\tcontainsAbsBBox(x: number, y: number, ax: number, ay: number): boolean {\n\t\treturn hitTestBBox(x, y, ax, ay);\n\t}\n\n\tselect(point: Point): boolean {\n\t\treturn false;\n\t}\n\n\t//\n\ttoGlobal(position: IPoint, result: Point, skipUpdate?: boolean): Point {\n\t\tif (skipUpdate !== true) {\n\t\t\tthis.updateTransform();\n\t\t}\n\t\tresult.copyFrom(position);\n\t\tthis.transform.worldTransform.apply(result, result);\n\t\treturn result;\n\t}\n\n\ttoLocal(position: IPoint, from?: DisplayObject, result?: Point, skipUpdate?: boolean): Point {\n\t\tif (skipUpdate !== true) {\n\t\t\tthis.updateTransform();\n\t\t}\n\t\tif (result === undefined) {\n\t\t\tresult = new Point();\n\t\t}\n\t\tresult.copyFrom(position);\n\t\tthis.transform.worldTransform.applyInverse(result, result);\n\t\treturn result;\n\t}\n\n\tgetBounds(skipUpdate?: boolean, result?: Rectangle): Rectangle {\n\t\tif (skipUpdate !== true) {\n\t\t\tthis.updateTransform();\n\t\t}\n\t\tconst bounds = this._bounds || new Rectangle();\n\t\tthis._bounds = bounds;\n\t\tconst worldId = this.transform.getWorldId();\n\t\tif (worldId !== this._boundsTransformId) {\n\t\t\tthis._boundsTransformId = worldId;\n\t\t\tthis.getBounds_(this.transform.worldTransform, bounds);\n\t\t}\n\t\tresult ??= new Rectangle();\n\t\tresult.copyFrom(bounds);\n\t\treturn result;\n\t}\n\n\tgetBoundsInternal(skipUpdate?: boolean, result?: Rectangle): Rectangle {\n\t\tif (skipUpdate !== true) {\n\t\t\tthis.updateTransform();\n\t\t}\n\t\tconst boundsInternal = this._boundsInternal || new Rectangle();\n\t\tthis._boundsInternal = boundsInternal;\n\t\tconst currentLocalId = this.transform.getLocalIdCurrent();\n\t\tif (currentLocalId !== this._boundsInternalTransformId) {\n\t\t\tthis._boundsInternalTransformId = currentLocalId;\n\t\t\tthis.getBounds_(this.transform.internalTransform, boundsInternal);\n\t\t}\n\t\tresult ??= new Rectangle();\n\t\tresult.copyFrom(boundsInternal);\n\t\treturn result;\n\t}\n\n\tgetBoundsLocal(skipUpdate?: boolean, result?: Rectangle): Rectangle {\n\t\tif (skipUpdate !== true) {\n\t\t\tthis.updateTransform();\n\t\t}\n\t\tconst boundsLocal = this._boundsLocal || new Rectangle();\n\t\tthis._boundsLocal = boundsLocal;\n\t\tconst currentLocalId = this.transform.getLocalIdCurrent();\n\t\tif (currentLocalId !== this._boundsLocalTransformId) {\n\t\t\tthis._boundsLocalTransformId = currentLocalId;\n\t\t\tthis.getBounds_(this.transform.localTransform, boundsLocal);\n\t\t}\n\t\tresult ??= new Rectangle();\n\t\tresult.copyFrom(boundsLocal);\n\t\treturn result;\n\t}\n\n\tprotected getBoundsSize(): IPoint {\n\t\treturn this.size;\n\t}\n\n\tprotected getBounds_(transform: Matrix, result: Rectangle): Rectangle {\n\t\tconst pivot = this.transform.pivot;\n\t\tconst px = pivot.x;\n\t\tconst py = pivot.y;\n\t\tconst size = this.getBoundsSize();\n\t\tconst sx = 0.5 * size.x;\n\t\tconst sy = 0.5 * size.y;\n\n\t\tconst a = transform.a;\n\t\tconst b = transform.b;\n\t\tconst c = transform.c;\n\t\tconst d = transform.d;\n\n\t\tlet x = -sx + px;\n\t\tlet y = -sy + py;\n\t\tconst x0 = a * x + c * y;\n\t\tconst y0 = b * x + d * y;\n\n\t\tx = +sx + px;\n\t\ty = -sy + py;\n\t\tconst x1 = a * x + c * y;\n\t\tconst y1 = b * x + d * y;\n\n\t\tx = -sx + px;\n\t\ty = +sy + py;\n\t\tconst x2 = a * x + c * y;\n\t\tconst y2 = b * x + d * y;\n\n\t\tx = +sx + px;\n\t\ty = +sy + py;\n\t\tconst x3 = a * x + c * y;\n\t\tconst y3 = b * x + d * y;\n\n\t\tconst xmin = Math.min(x0, x1, x2, x3);\n\t\tconst ymin = Math.min(y0, y1, y2, y3);\n\t\tconst xmax = Math.max(x0, x1, x2, x3);\n\t\tconst ymax = Math.max(y0, y1, y2, y3);\n\t\tresult.x = xmin + transform.tx;\n\t\tresult.y = ymin + transform.ty;\n\t\tresult.width = xmax - xmin;\n\t\tresult.height = ymax - ymin;\n\t\treturn result;\n\t}\n\n\t//\n\tdestroy(): void {\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tchildren[i].destroy();\n\t\t}\n\t\tchildren.length = 0;\n\t}\n\n\t//\n\tprotected onStateChange(newState: DBaseStateSet, oldState: DBaseStateSet): void {\n\t\tconst runtime = this.runtime;\n\t\tif (runtime != null) {\n\t\t\truntime.onStateChange(this, newState, oldState);\n\t\t}\n\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child instanceof EShapeBase) {\n\t\t\t\tchild.state.onParentChange(newState, oldState);\n\t\t\t}\n\t\t}\n\t}\n\n\tget state(): EShapeStateSet {\n\t\tlet result = this._state;\n\t\tif (result == null) {\n\t\t\tresult = new EShapeStateSetImplObservable((newState, oldState): void => {\n\t\t\t\tthis.onStateChange(newState, oldState);\n\t\t\t});\n\t\t\tthis._state = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget capability(): EShapeCapabilityContainer {\n\t\tlet result = this._capability;\n\t\tif (result == null) {\n\t\t\tresult = new EShapeCapabilityContainerImpl();\n\t\t\tthis._capability = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetCapability(): EShapeCapabilityContainer | undefined {\n\t\treturn this._capability;\n\t}\n\n\tfocus(): this {\n\t\tthis.setFocused(true);\n\t\treturn this;\n\t}\n\n\tblur(): this {\n\t\tthis.setFocused(false);\n\t\treturn this;\n\t}\n\n\tprotected setFocused(isFocused: boolean): void {\n\t\tif (this.state.isFocused !== isFocused) {\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer) {\n\t\t\t\tlayer.getFocusController().set(this, isFocused);\n\t\t\t}\n\t\t}\n\t}\n\n\tonKeyDown(e: KeyboardEvent): boolean {\n\t\tconst runtime = this.runtime;\n\t\tif (runtime) {\n\t\t\treturn runtime.onKeyDown(this, e);\n\t\t}\n\t\treturn false;\n\t}\n\n\tonKeyUp(e: KeyboardEvent): boolean {\n\t\tconst runtime = this.runtime;\n\t\tif (runtime) {\n\t\t\treturn runtime.onKeyUp(this, e);\n\t\t}\n\t\treturn false;\n\t}\n\n\t//\n\tupdate(time: number): void {\n\t\tconst runtime = this.runtime;\n\t\tif (runtime) {\n\t\t\truntime.update(this, time);\n\t\t}\n\t}\n\n\tonRender(time: number, renderer: Renderer): void {\n\t\tconst runtime = this.runtime;\n\t\tif (runtime) {\n\t\t\truntime.onRender(this, time, renderer);\n\t\t}\n\t}\n\n\tcopy(source: EShape, part: EShapeCopyPart = EShapeCopyPart.ALL): this {\n\t\tthis.lock(EShapeLockPart.ALL);\n\t\tthis.id = source.id;\n\t\tthis.uuid = source.uuid;\n\t\tthis.visible = source.visible;\n\t\tif (part & EShapeCopyPart.TRANSFORM) {\n\t\t\tconst transform = this.transform;\n\t\t\tconst sourceTransform = source.transform;\n\t\t\ttransform.position.copyFrom(sourceTransform.position);\n\t\t\ttransform.rotation = sourceTransform.rotation;\n\t\t\ttransform.skew.copyFrom(sourceTransform.skew);\n\t\t\ttransform.pivot.copyFrom(sourceTransform.pivot);\n\t\t\ttransform.scale.copyFrom(sourceTransform.scale);\n\t\t}\n\t\tif (part & EShapeCopyPart.SIZE) {\n\t\t\tthis.size.copyFrom(source.size);\n\t\t}\n\t\tif (part & EShapeCopyPart.STYLE) {\n\t\t\tthis.fill.copy(source.fill);\n\t\t\tthis.stroke.copy(source.stroke);\n\t\t\tthis.text.copy(source.text);\n\t\t\tthis.radius = source.radius;\n\t\t\tthis.corner = source.corner;\n\t\t}\n\t\tif (part & EShapeCopyPart.DATA) {\n\t\t\tthis.data.copy(source.data);\n\t\t}\n\t\tif (part & EShapeCopyPart.IMAGE) {\n\t\t\tthis.image = source.image;\n\t\t}\n\t\tif (part & EShapeCopyPart.ACTION) {\n\t\t\tthis.action.clearAndAddAll(source.action.values);\n\t\t\tthis.interactive = source.interactive;\n\t\t\tthis.title = source.title;\n\t\t\tthis.cursor = source.cursor;\n\t\t\tthis.shortcut = source.shortcut;\n\t\t}\n\t\tif (part & EShapeCopyPart.POINTS) {\n\t\t\tconst sourcePoints = source.points;\n\t\t\tif (sourcePoints != null) {\n\t\t\t\tconst points = this.points;\n\t\t\t\tif (points != null) {\n\t\t\t\t\tpoints.copy(sourcePoints);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (part & EShapeCopyPart.STATE) {\n\t\t\tthis.state.lock(false).copy(source.state).unlock();\n\t\t}\n\t\tif (part & EShapeCopyPart.CONNECTOR) {\n\t\t\tif (source instanceof EShapeBase) {\n\t\t\t\tconst sourceConnector = source._connector;\n\t\t\t\tif (sourceConnector) {\n\t\t\t\t\tthis.connector.copy(sourceConnector);\n\t\t\t\t} else {\n\t\t\t\t\tconst connector = this._connector;\n\t\t\t\t\tif (connector) {\n\t\t\t\t\t\tconnector.clear();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst connector = this._connector;\n\t\t\t\tif (connector) {\n\t\t\t\t\tconnector.clear();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (part & EShapeCopyPart.CAPABILITY) {\n\t\t\tconst sourceCapability = source.getCapability();\n\t\t\tif (sourceCapability != null) {\n\t\t\t\tthis.capability.copy(sourceCapability);\n\t\t\t} else {\n\t\t\t\tconst capability = this._capability;\n\t\t\t\tif (capability != null) {\n\t\t\t\t\tcapability.clear();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.unlock(EShapeLockPart.ALL, true);\n\t\treturn this;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"e-shape-base.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n\tDisplayObject,\n\tIPoint,\n\tMatrix,\n\tPoint,\n\tRectangle,\n\tRenderer,\n\tTexture,\n\tTransform,\n\tutils\n} from \"pixi.js\";\nimport { DApplications } from \"../../d-applications\";\nimport { DBaseStateSet } from \"../../d-base-state-set\";\nimport { DDiagramSerializedItem } from \"../../d-diagram-serialized\";\nimport { EShapeAction } from \"../action/e-shape-action\";\nimport { EShape } from \"../e-shape\";\nimport { EShapeImageLike } from \"../e-shape-image-like\";\nimport { EShapeConnectorContainer } from \"../e-shape-connector-container\";\nimport { EShapeConnectorContainerImpl } from \"../e-shape-connector-container-impl\";\nimport { EShapeContainer } from \"../e-shape-container\";\nimport { EShapeCopyPart } from \"../e-shape-copy-part\";\nimport { EShapeCorner } from \"../e-shape-corner\";\nimport { EShapeEditor } from \"../e-shape-editor\";\nimport { EShapeFill } from \"../e-shape-fill\";\nimport { EShapeGradientLike } from \"../e-shape-gradient\";\nimport { EShapeLayout } from \"../e-shape-layout\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeRuntime } from \"../e-shape-runtime\";\nimport { EShapeStateSet } from \"../e-shape-state-set\";\nimport { EShapeStateSetImplObservable } from \"../e-shape-state-set-impl-observable\";\nimport { EShapeStroke } from \"../e-shape-stroke\";\nimport { EShapeStrokeStyle } from \"../e-shape-stroke-style\";\nimport { EShapeData } from \"../e-shape-data\";\nimport { EShapeText } from \"../e-shape-text\";\nimport { EShapeTransform, EShapeTransformImpl } from \"../e-shape-transform\";\nimport { EShapeType } from \"../e-shape-type\";\nimport { EShapeUploaded } from \"../e-shape-uploaded\";\nimport { EShapeBaseHitTestData } from \"./e-shape-base-hit-test-data\";\nimport { hitTestBBox } from \"./hit-test-bbox\";\nimport { EShapeCapabilityContainer } from \"../e-shape-capability-container\";\nimport { EShapeCapabilityContainerImpl } from \"../e-shape-capability-container-impl\";\nimport { EShapeCapability } from \"../e-shape-capability\";\nimport { EShapeLock } from \"./e-shape-lock\";\nimport { EShapeLockPart } from \"./e-shape-lock-part\";\nimport { EShapes } from \"../action/e-shapes\";\n\nexport abstract class EShapeBase extends utils.EventEmitter implements EShape {\n\tprotected static WORK_HIT_TEST_DATA?: EShapeBaseHitTestData;\n\tid: string;\n\tuuid: number;\n\treadonly type: EShapeType;\n\tabstract readonly size: IPoint;\n\tabstract readonly fill: EShapeFill;\n\tabstract readonly stroke: EShapeStroke;\n\treadonly transform: EShapeTransform;\n\tabstract radius: number;\n\tabstract corner: EShapeCorner;\n\tprotected _points?: EShapePoints;\n\tabstract image?: EShapeImageLike;\n\ttexture?: Texture;\n\tabstract gradient?: EShapeGradientLike;\n\tabstract readonly text: EShapeText;\n\t/** @deprecated in favor of {@link data} */\n\tabstract readonly tag: EShapeData;\n\tabstract readonly data: EShapeData;\n\treadonly action: EShapeAction;\n\tcursor?: string;\n\tinteractive: boolean;\n\tshortcut?: string;\n\ttitle?: string;\n\n\tprotected _connector?: EShapeConnectorContainer;\n\n\tprotected _visible: boolean;\n\n\tprotected _lockTransformChild: EShapeLock;\n\tprotected _lockTransformThis: EShapeLock;\n\tprotected _lockTransformParent: EShapeLock;\n\tprotected _lockUploaded: EShapeLock;\n\n\tprotected _bounds?: Rectangle;\n\tprotected _boundsTransformId: number;\n\tprotected _boundsInternal?: Rectangle;\n\tprotected _boundsInternalTransformId: number;\n\tprotected _boundsLocal?: Rectangle;\n\tprotected _boundsLocalTransformId: number;\n\n\tprotected _state?: EShapeStateSet;\n\tprotected _capability?: EShapeCapabilityContainer;\n\n\t// Hierarchy\n\tparent: EShapeContainer | EShape | null;\n\tchildren: EShape[];\n\tlayout?: EShapeLayout;\n\n\t// Working space\n\tindex: number; // A work space for sorting.\n\tselected: boolean;\n\treference: number; // Count of references from commands\n\n\t// Working space for the viewer\n\truntime?: EShapeRuntime;\n\n\t// Working space for the editor\n\teditor?: EShapeEditor;\n\n\t// Working space for the renderer\n\tuploaded?: EShapeUploaded;\n\n\tconstructor(type: EShapeType) {\n\t\tsuper();\n\t\tthis.id = \"\";\n\t\tthis.uuid = 0;\n\t\tthis.type = type;\n\t\tthis.transform = this.newTransform();\n\t\tthis.action = new EShapeAction();\n\t\tthis._visible = true;\n\n\t\tthis._lockTransformChild = new EShapeLock();\n\t\tthis._lockTransformThis = new EShapeLock();\n\t\tthis._lockTransformParent = new EShapeLock();\n\t\tthis._lockUploaded = new EShapeLock();\n\n\t\tthis._boundsTransformId = -1;\n\t\tthis._boundsInternalTransformId = -1;\n\t\tthis._boundsLocalTransformId = -1;\n\n\t\tthis.interactive = false;\n\n\t\t//\n\t\tthis.parent = null;\n\t\tthis.children = [];\n\n\t\t//\n\t\tthis.selected = false;\n\t\tthis.index = 0;\n\t\tthis.reference = 0;\n\t}\n\n\tprotected newTransform(): EShapeTransform {\n\t\treturn new EShapeTransformImpl(this);\n\t}\n\n\tonSizeChange(): void {\n\t\tthis._boundsTransformId = -1;\n\t\tthis._boundsInternalTransformId = -1;\n\t\tthis._boundsLocalTransformId = -1;\n\n\t\tif (!this._lockTransformChild.isLocked()) {\n\t\t\tthis.callChildTransformChange();\n\t\t}\n\t\tconst points = this._points;\n\t\tif (points != null) {\n\t\t\tpoints.onSizeChange();\n\t\t}\n\t\tthis.updateUploaded();\n\n\t\tconst connector = this._connector;\n\t\tif (connector != null) {\n\t\t\tconnector.fit(true);\n\t\t}\n\n\t\tconst runtime = this.runtime;\n\t\tif (runtime != null) {\n\t\t\tEShapes.CURRENT = this;\n\t\t\truntime.onResize(this);\n\t\t\tEShapes.CURRENT = null;\n\t\t}\n\t}\n\n\tonTransformChange(): void {\n\t\tif (!this._lockTransformChild.isLocked()) {\n\t\t\tthis.callChildTransformChange();\n\t\t}\n\t\tif (!this._lockTransformThis.isLocked()) {\n\t\t\tthis.onThisTransformChange();\n\t\t}\n\t\tif (!this._lockTransformParent.isLocked()) {\n\t\t\tthis.callParentTransformChange();\n\t\t}\n\t}\n\n\tprotected callChildTransformChange(): void {\n\t\tconst parent = this.parent;\n\t\tif (parent != null) {\n\t\t\tparent.onChildTransformChange();\n\t\t}\n\t}\n\n\tprotected onThisTransformChange(): void {\n\t\tthis.updateUploaded();\n\t\tconst connector = this._connector;\n\t\tif (connector != null) {\n\t\t\tconnector.fit(true);\n\t\t}\n\t}\n\n\tprotected callParentTransformChange(): void {\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].onParentTransformChange();\n\t\t}\n\t}\n\n\tonParentTransformChange(): void {\n\t\tif (!this._lockTransformThis.isLocked()) {\n\t\t\tthis.onThisTransformChange();\n\t\t}\n\t\tif (!this._lockTransformParent.isLocked()) {\n\t\t\tthis.callParentTransformChange();\n\t\t}\n\t}\n\n\tlock(part: EShapeLockPart): this {\n\t\tif (part & EShapeLockPart.UPLOADED) {\n\t\t\tthis._lockUploaded.lock();\n\t\t}\n\t\tif (part & EShapeLockPart.TRANSFORM_PARENT) {\n\t\t\tthis._lockTransformParent.lock();\n\t\t}\n\t\tif (part & EShapeLockPart.TRANSFORM_THIS) {\n\t\t\tthis._lockTransformThis.lock();\n\t\t}\n\t\tif (part & EShapeLockPart.TRANSFORM_CHILD) {\n\t\t\tthis._lockTransformChild.lock();\n\t\t}\n\t\treturn this;\n\t}\n\n\tunlock(part: EShapeLockPart, invoke: boolean): this {\n\t\tif (part & EShapeLockPart.TRANSFORM_CHILD) {\n\t\t\tif (this._lockTransformChild.unlock() && invoke) {\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.onChildTransformChange();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (part & EShapeLockPart.TRANSFORM_THIS) {\n\t\t\tif (this._lockTransformThis.unlock() && invoke) {\n\t\t\t\tthis.onThisTransformChange();\n\t\t\t}\n\t\t}\n\t\tif (part & EShapeLockPart.TRANSFORM_PARENT) {\n\t\t\tif (this._lockTransformParent.unlock() && invoke) {\n\t\t\t\tconst children = this.children;\n\t\t\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\t\t\tchildren[i].onParentTransformChange();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (part & EShapeLockPart.UPLOADED) {\n\t\t\tconst lockUploaded = this._lockUploaded;\n\t\t\tif (lockUploaded.unlock() && invoke) {\n\t\t\t\tthis.updateUploaded(lockUploaded.isHigh());\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tonChildTransformChange(): void {\n\t\t//\n\t}\n\n\tupdateUploaded(recursively?: boolean): void {\n\t\tif (this._lockUploaded.isLocked(recursively)) {\n\t\t\treturn;\n\t\t}\n\t\tconst uploaded = this.uploaded;\n\t\tif (uploaded != null) {\n\t\t\tuploaded.update(this);\n\t\t}\n\t\tif (recursively === true) {\n\t\t\tconst children = this.children;\n\t\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\t\tchildren[i].updateUploaded(true);\n\t\t\t}\n\t\t}\n\t}\n\n\tget points(): EShapePoints | undefined {\n\t\treturn this._points;\n\t}\n\n\tget root(): EShape {\n\t\tlet root: EShape = this;\n\t\twhile (root.parent instanceof EShapeBase) {\n\t\t\troot = root.parent;\n\t\t}\n\t\treturn root;\n\t}\n\n\tget connector(): EShapeConnectorContainer {\n\t\tlet result = this._connector;\n\t\tif (result == null) {\n\t\t\tresult = new EShapeConnectorContainerImpl(this);\n\t\t\tthis._connector = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget visible(): boolean {\n\t\tif (this._visible) {\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\treturn parent.visible;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tset visible(visible: boolean) {\n\t\tif (this._visible !== visible) {\n\t\t\tthis._visible = visible;\n\t\t\tthis.updateUploaded(true);\n\t\t}\n\t}\n\n\tget worldVisible(): boolean {\n\t\tif (this._visible) {\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent) {\n\t\t\t\treturn parent.worldVisible;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t//\n\tabstract clone(): EShape;\n\n\t//\n\ttoDirty(): void {\n\t\tconst parent = this.parent;\n\t\tif (parent != null) {\n\t\t\tparent.toDirty();\n\t\t}\n\t}\n\n\t// Hierarchy\n\tattach(parent: EShapeContainer | EShape, at?: number): this {\n\t\tthis.detach();\n\t\tthis.parent = parent;\n\t\tconst children = parent.children;\n\t\tif (at != null && 0 <= at && at < children.length) {\n\t\t\tchildren.splice(at, 0, this);\n\t\t} else {\n\t\t\tchildren.push(this);\n\t\t}\n\t\tparent.onChildTransformChange();\n\t\tparent.toDirty();\n\t\tthis.onAttach();\n\t\treturn this;\n\t}\n\n\tonAttach(): void {\n\t\tthis.uploaded = undefined;\n\t\tconst connector = this._connector;\n\t\tif (connector) {\n\t\t\tconnector.attach();\n\t\t\tconnector.fit(true);\n\t\t}\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].onAttach();\n\t\t}\n\t}\n\n\tdetach(exceptions?: Set<EShape>): this {\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tthis.parent = null;\n\t\t\tconst children = parent.children;\n\t\t\tconst index = children.indexOf(this);\n\t\t\tif (0 <= index) {\n\t\t\t\tchildren.splice(index, 1);\n\t\t\t\tparent.onChildTransformChange();\n\t\t\t\tparent.toDirty();\n\t\t\t\tthis.onDetach(exceptions);\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tonDetach(exceptions?: Set<EShape>): void {\n\t\tthis.uploaded = undefined;\n\t\tconst connector = this._connector;\n\t\tif (connector) {\n\t\t\tconnector.detach(exceptions);\n\t\t}\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].onDetach(exceptions);\n\t\t}\n\t}\n\n\t// Transform\n\tupdateTransform(): void {\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tif (parent.parent) {\n\t\t\t\tparent.updateTransform();\n\t\t\t}\n\t\t\tthis.transform.updateTransform(parent.transform);\n\t\t} else {\n\t\t\tthis.transform.updateTransform(Transform.IDENTITY);\n\t\t}\n\t}\n\n\t// Serialization\n\tserializeChildren(manager: EShapeResourceManagerSerialization): DDiagramSerializedItem[] {\n\t\tconst children = this.children;\n\t\tconst childrenSerialized = [];\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst child = children[i];\n\t\t\tchildrenSerialized.push(child.serialize(manager));\n\t\t}\n\t\treturn childrenSerialized;\n\t}\n\n\tabstract serializeImage(manager: EShapeResourceManagerSerialization): number;\n\n\tabstract serializeGradient(manager: EShapeResourceManagerSerialization): number;\n\n\tserializeState(manager: EShapeResourceManagerSerialization): number {\n\t\tconst state = this.state;\n\t\treturn (this.interactive ? 1 : 0) | (state.isFocusable ? 0 : 2) | (state.isActive ? 4 : 0);\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): DDiagramSerializedItem {\n\t\tconst transform = this.transform;\n\t\tconst position = transform.position;\n\t\tconst pivot = transform.pivot;\n\t\tconst size = this.size;\n\t\tconst shortcut = this.shortcut;\n\t\tconst shortcutId = shortcut != null ? manager.addResource(shortcut) : -1;\n\t\tconst cursor = this.cursor;\n\t\tconst cursorId = cursor != null ? manager.addResource(cursor) : -1;\n\t\tconst title = this.title;\n\t\tconst titleId = title != null ? manager.addResource(title) : -1;\n\t\tlet capabilitiesAdded: EShapeCapability = EShapeCapability.NONE;\n\t\tlet capabilitiesRemoved: EShapeCapability = EShapeCapability.NONE;\n\t\tlet capabilitiesLocked: EShapeCapability = EShapeCapability.NONE;\n\t\tconst capability = this._capability;\n\t\tif (capability != null) {\n\t\t\tcapabilitiesAdded = capability.added;\n\t\t\tcapabilitiesRemoved = capability.removed;\n\t\t\tcapabilitiesLocked = capability.locked;\n\t\t}\n\t\treturn [\n\t\t\tthis.type,\n\t\t\tmanager.addResource(this.id),\n\t\t\tposition.x,\n\t\t\tposition.y,\n\t\t\tsize.x,\n\t\t\tsize.y,\n\t\t\ttransform.rotation,\n\t\t\ttransform.skew.x,\n\t\t\tthis.fill.serialize(manager),\n\t\t\tthis.stroke.serialize(manager),\n\t\t\tcursorId,\n\t\t\tthis.text.serialize(manager),\n\t\t\tthis.data.serialize(manager),\n\t\t\tthis.radius,\n\t\t\tthis.corner,\n\t\t\t-1,\n\t\t\t-1,\n\t\t\tthis.action.serialize(manager),\n\t\t\tthis.serializeImage(manager),\n\t\t\tthis.serializeGradient(manager),\n\t\t\tthis.serializeChildren(manager),\n\t\t\tpivot.x,\n\t\t\tpivot.y,\n\t\t\tthis.serializeState(manager),\n\t\t\tshortcutId,\n\t\t\ttitleId,\n\t\t\tthis.uuid,\n\t\t\tcapabilitiesAdded,\n\t\t\tcapabilitiesRemoved,\n\t\t\tcapabilitiesLocked\n\t\t];\n\t}\n\n\taddUuid(manager: EShapeResourceManagerSerialization): void {\n\t\tthis.uuid = manager.addUuid(this.uuid);\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].addUuid(manager);\n\t\t}\n\t}\n\n\tupdateUuid(manager: EShapeResourceManagerSerialization): void {\n\t\tthis.uuid = manager.updateUuid(this.uuid);\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].updateUuid(manager);\n\t\t}\n\t}\n\n\t// Hit test\n\tprotected getShapeScale(): number {\n\t\tconst container = this.root.parent as any;\n\t\tif (container != null && container.getShapeScale != null) {\n\t\t\treturn container.getShapeScale();\n\t\t}\n\t\treturn 1.0;\n\t}\n\n\tprotected getStrokeWidthScale(style: EShapeStrokeStyle): number {\n\t\tif (style & EShapeStrokeStyle.NON_EXPANDING_WIDTH) {\n\t\t\tif (style & EShapeStrokeStyle.NON_SHRINKING_WIDTH) {\n\t\t\t\treturn this.getShapeScale();\n\t\t\t} else {\n\t\t\t\treturn Math.min(1.0, this.getShapeScale());\n\t\t\t}\n\t\t} else {\n\t\t\tif (style & EShapeStrokeStyle.NON_SHRINKING_WIDTH) {\n\t\t\t\treturn Math.max(1.0, this.getShapeScale());\n\t\t\t} else {\n\t\t\t\treturn 1.0;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getHitTestSize(result: EShapeBaseHitTestData): EShapeBaseHitTestData {\n\t\tconst size = this.size;\n\t\tresult.width = 0.5 * size.x;\n\t\tresult.height = 0.5 * size.y;\n\t\treturn result;\n\t}\n\n\ttoHitTestData(x: number, y: number): EShapeBaseHitTestData {\n\t\tconst result = this.getHitTestSize(\n\t\t\t(EShapeBase.WORK_HIT_TEST_DATA ??= new EShapeBaseHitTestData())\n\t\t);\n\t\tconst sx = result.width;\n\t\tconst sy = result.height;\n\t\tconst pivot = this.transform.pivot;\n\t\tconst dx = x - pivot.x;\n\t\tconst dy = y - pivot.y;\n\t\tconst stroke = this.stroke;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeScale = this.getStrokeWidthScale(stroke.style);\n\t\tconst strokeAlign = stroke.align;\n\t\tconst s = strokeWidth * strokeScale * strokeAlign;\n\t\treturn result.set(\n\t\t\t0 <= sx ? +dx : -dx,\n\t\t\t0 <= sy ? +dy : -dy,\n\t\t\tMath.abs(sx) + s,\n\t\t\tMath.abs(sy) + s,\n\t\t\tstrokeWidth,\n\t\t\tstrokeScale,\n\t\t\tstrokeAlign\n\t\t);\n\t}\n\n\tcontains(x: number, y: number): EShape | null {\n\t\tconst data = this.toHitTestData(x, y);\n\t\tif (\n\t\t\tthis.containsAbs(\n\t\t\t\tdata.x,\n\t\t\t\tdata.y,\n\t\t\t\tdata.width,\n\t\t\t\tdata.height,\n\t\t\t\tdata.strokeWidth,\n\t\t\t\tdata.strokeScale,\n\t\t\t\tdata.strokeAlign\n\t\t\t)\n\t\t) {\n\t\t\treturn this;\n\t\t}\n\t\treturn this.containsText(x, y) || this.containsChildren(x, y);\n\t}\n\n\tprotected containsText(x: number, y: number): EShape | null {\n\t\tconst text = this.text;\n\t\tconst textAtlas = text.atlas;\n\t\tif (textAtlas != null) {\n\t\t\tconst textWorld = text.world;\n\t\t\tif (textWorld != null) {\n\t\t\t\tconst transform = this.transform.internalTransform;\n\t\t\t\tconst tx = transform.a * x + transform.c * y + transform.tx - textWorld[0];\n\t\t\t\tconst ty = transform.b * x + transform.d * y + transform.ty - textWorld[1];\n\t\t\t\tconst th = textWorld[2] * tx + textWorld[3] * ty;\n\t\t\t\tconst tv = textWorld[4] * tx + textWorld[5] * ty;\n\t\t\t\tconst w = textWorld[6];\n\t\t\t\tconst h = textWorld[7];\n\t\t\t\tif (0 <= th && th <= w && 0 <= tv && tv <= h) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected containsChildren(x: number, y: number): EShape | null {\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tchild.updateTransform();\n\t\t\tconst localTransform = child.transform.localTransform;\n\t\t\tconst a = localTransform.a;\n\t\t\tconst b = localTransform.b;\n\t\t\tconst c = localTransform.c;\n\t\t\tconst d = localTransform.d;\n\t\t\tconst tx = localTransform.tx;\n\t\t\tconst ty = localTransform.ty;\n\t\t\tconst id = 1 / (a * d - c * b);\n\t\t\tconst lx = (d * x - c * y + ty * c - tx * d) * id;\n\t\t\tconst ly = (a * y - b * x - ty * a + tx * b) * id;\n\t\t\tconst childResult = child.contains(lx, ly);\n\t\t\tif (childResult != null) {\n\t\t\t\treturn childResult;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tcontainsBBox(x: number, y: number): boolean {\n\t\tconst data = this.toHitTestData(x, y);\n\t\treturn this.containsAbsBBox(data.x, data.y, data.width, data.height);\n\t}\n\n\tcontainsAbs(\n\t\tx: number,\n\t\ty: number,\n\t\tax: number,\n\t\tay: number,\n\t\tsw: number,\n\t\tss: number,\n\t\tsa: number\n\t): boolean {\n\t\treturn this.containsAbsBBox(x, y, ax, ay);\n\t}\n\n\tcontainsAbsBBox(x: number, y: number, ax: number, ay: number): boolean {\n\t\treturn hitTestBBox(x, y, ax, ay);\n\t}\n\n\tselect(point: Point): boolean {\n\t\treturn false;\n\t}\n\n\t//\n\ttoGlobal(position: IPoint, result: Point, skipUpdate?: boolean): Point {\n\t\tif (skipUpdate !== true) {\n\t\t\tthis.updateTransform();\n\t\t}\n\t\tresult.copyFrom(position);\n\t\tthis.transform.worldTransform.apply(result, result);\n\t\treturn result;\n\t}\n\n\ttoLocal(position: IPoint, from?: DisplayObject, result?: Point, skipUpdate?: boolean): Point {\n\t\tif (skipUpdate !== true) {\n\t\t\tthis.updateTransform();\n\t\t}\n\t\tif (result === undefined) {\n\t\t\tresult = new Point();\n\t\t}\n\t\tresult.copyFrom(position);\n\t\tthis.transform.worldTransform.applyInverse(result, result);\n\t\treturn result;\n\t}\n\n\tgetBounds(skipUpdate?: boolean, result?: Rectangle): Rectangle {\n\t\tif (skipUpdate !== true) {\n\t\t\tthis.updateTransform();\n\t\t}\n\t\tconst bounds = this._bounds || new Rectangle();\n\t\tthis._bounds = bounds;\n\t\tconst worldId = this.transform.getWorldId();\n\t\tif (worldId !== this._boundsTransformId) {\n\t\t\tthis._boundsTransformId = worldId;\n\t\t\tthis.getBounds_(this.transform.worldTransform, bounds);\n\t\t}\n\t\tresult ??= new Rectangle();\n\t\tresult.copyFrom(bounds);\n\t\treturn result;\n\t}\n\n\tgetBoundsInternal(skipUpdate?: boolean, result?: Rectangle): Rectangle {\n\t\tif (skipUpdate !== true) {\n\t\t\tthis.updateTransform();\n\t\t}\n\t\tconst boundsInternal = this._boundsInternal || new Rectangle();\n\t\tthis._boundsInternal = boundsInternal;\n\t\tconst currentLocalId = this.transform.getLocalIdCurrent();\n\t\tif (currentLocalId !== this._boundsInternalTransformId) {\n\t\t\tthis._boundsInternalTransformId = currentLocalId;\n\t\t\tthis.getBounds_(this.transform.internalTransform, boundsInternal);\n\t\t}\n\t\tresult ??= new Rectangle();\n\t\tresult.copyFrom(boundsInternal);\n\t\treturn result;\n\t}\n\n\tgetBoundsLocal(skipUpdate?: boolean, result?: Rectangle): Rectangle {\n\t\tif (skipUpdate !== true) {\n\t\t\tthis.updateTransform();\n\t\t}\n\t\tconst boundsLocal = this._boundsLocal || new Rectangle();\n\t\tthis._boundsLocal = boundsLocal;\n\t\tconst currentLocalId = this.transform.getLocalIdCurrent();\n\t\tif (currentLocalId !== this._boundsLocalTransformId) {\n\t\t\tthis._boundsLocalTransformId = currentLocalId;\n\t\t\tthis.getBounds_(this.transform.localTransform, boundsLocal);\n\t\t}\n\t\tresult ??= new Rectangle();\n\t\tresult.copyFrom(boundsLocal);\n\t\treturn result;\n\t}\n\n\tprotected getBoundsSize(): IPoint {\n\t\treturn this.size;\n\t}\n\n\tprotected getBounds_(transform: Matrix, result: Rectangle): Rectangle {\n\t\tconst pivot = this.transform.pivot;\n\t\tconst px = pivot.x;\n\t\tconst py = pivot.y;\n\t\tconst size = this.getBoundsSize();\n\t\tconst sx = 0.5 * size.x;\n\t\tconst sy = 0.5 * size.y;\n\n\t\tconst a = transform.a;\n\t\tconst b = transform.b;\n\t\tconst c = transform.c;\n\t\tconst d = transform.d;\n\n\t\tlet x = -sx + px;\n\t\tlet y = -sy + py;\n\t\tconst x0 = a * x + c * y;\n\t\tconst y0 = b * x + d * y;\n\n\t\tx = +sx + px;\n\t\ty = -sy + py;\n\t\tconst x1 = a * x + c * y;\n\t\tconst y1 = b * x + d * y;\n\n\t\tx = -sx + px;\n\t\ty = +sy + py;\n\t\tconst x2 = a * x + c * y;\n\t\tconst y2 = b * x + d * y;\n\n\t\tx = +sx + px;\n\t\ty = +sy + py;\n\t\tconst x3 = a * x + c * y;\n\t\tconst y3 = b * x + d * y;\n\n\t\tconst xmin = Math.min(x0, x1, x2, x3);\n\t\tconst ymin = Math.min(y0, y1, y2, y3);\n\t\tconst xmax = Math.max(x0, x1, x2, x3);\n\t\tconst ymax = Math.max(y0, y1, y2, y3);\n\t\tresult.x = xmin + transform.tx;\n\t\tresult.y = ymin + transform.ty;\n\t\tresult.width = xmax - xmin;\n\t\tresult.height = ymax - ymin;\n\t\treturn result;\n\t}\n\n\t//\n\tdestroy(): void {\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tchildren[i].destroy();\n\t\t}\n\t\tchildren.length = 0;\n\t}\n\n\t//\n\tprotected onStateChange(newState: DBaseStateSet, oldState: DBaseStateSet): void {\n\t\tconst runtime = this.runtime;\n\t\tif (runtime != null) {\n\t\t\tEShapes.CURRENT = this;\n\t\t\truntime.onStateChange(this, newState, oldState);\n\t\t\tEShapes.CURRENT = null;\n\t\t}\n\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child instanceof EShapeBase) {\n\t\t\t\tchild.state.onParentChange(newState, oldState);\n\t\t\t}\n\t\t}\n\t}\n\n\tget state(): EShapeStateSet {\n\t\tlet result = this._state;\n\t\tif (result == null) {\n\t\t\tresult = new EShapeStateSetImplObservable((newState, oldState): void => {\n\t\t\t\tthis.onStateChange(newState, oldState);\n\t\t\t});\n\t\t\tthis._state = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget capability(): EShapeCapabilityContainer {\n\t\tlet result = this._capability;\n\t\tif (result == null) {\n\t\t\tresult = new EShapeCapabilityContainerImpl();\n\t\t\tthis._capability = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetCapability(): EShapeCapabilityContainer | undefined {\n\t\treturn this._capability;\n\t}\n\n\tfocus(): this {\n\t\tthis.setFocused(true);\n\t\treturn this;\n\t}\n\n\tblur(): this {\n\t\tthis.setFocused(false);\n\t\treturn this;\n\t}\n\n\tprotected setFocused(isFocused: boolean): void {\n\t\tif (this.state.isFocused !== isFocused) {\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer) {\n\t\t\t\tlayer.getFocusController().set(this, isFocused);\n\t\t\t}\n\t\t}\n\t}\n\n\tonKeyDown(e: KeyboardEvent): boolean {\n\t\tconst runtime = this.runtime;\n\t\tif (runtime) {\n\t\t\tEShapes.CURRENT = this;\n\t\t\tconst result = runtime.onKeyDown(this, e);\n\t\t\tEShapes.CURRENT = null;\n\t\t\treturn result;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonKeyUp(e: KeyboardEvent): boolean {\n\t\tconst runtime = this.runtime;\n\t\tif (runtime) {\n\t\t\tEShapes.CURRENT = this;\n\t\t\tconst result = runtime.onKeyUp(this, e);\n\t\t\tEShapes.CURRENT = null;\n\t\t\treturn result;\n\t\t}\n\t\treturn false;\n\t}\n\n\t//\n\tupdate(time: number): void {\n\t\tconst runtime = this.runtime;\n\t\tif (runtime) {\n\t\t\tEShapes.CURRENT = this;\n\t\t\truntime.update(this, time);\n\t\t\tEShapes.CURRENT = null;\n\t\t}\n\t}\n\n\tonRender(time: number, renderer: Renderer): void {\n\t\tconst runtime = this.runtime;\n\t\tif (runtime) {\n\t\t\tEShapes.CURRENT = this;\n\t\t\truntime.onRender(this, time, renderer);\n\t\t\tEShapes.CURRENT = null;\n\t\t}\n\t}\n\n\tcopy(source: EShape, part: EShapeCopyPart = EShapeCopyPart.ALL): this {\n\t\tthis.lock(EShapeLockPart.ALL);\n\t\tthis.id = source.id;\n\t\tthis.uuid = source.uuid;\n\t\tthis.visible = source.visible;\n\t\tif (part & EShapeCopyPart.TRANSFORM) {\n\t\t\tconst transform = this.transform;\n\t\t\tconst sourceTransform = source.transform;\n\t\t\ttransform.position.copyFrom(sourceTransform.position);\n\t\t\ttransform.rotation = sourceTransform.rotation;\n\t\t\ttransform.skew.copyFrom(sourceTransform.skew);\n\t\t\ttransform.pivot.copyFrom(sourceTransform.pivot);\n\t\t\ttransform.scale.copyFrom(sourceTransform.scale);\n\t\t}\n\t\tif (part & EShapeCopyPart.SIZE) {\n\t\t\tthis.size.copyFrom(source.size);\n\t\t}\n\t\tif (part & EShapeCopyPart.STYLE) {\n\t\t\tthis.fill.copy(source.fill);\n\t\t\tthis.stroke.copy(source.stroke);\n\t\t\tthis.text.copy(source.text);\n\t\t\tthis.radius = source.radius;\n\t\t\tthis.corner = source.corner;\n\t\t}\n\t\tif (part & EShapeCopyPart.DATA) {\n\t\t\tthis.data.copy(source.data);\n\t\t}\n\t\tif (part & EShapeCopyPart.IMAGE) {\n\t\t\tthis.image = source.image;\n\t\t}\n\t\tif (part & EShapeCopyPart.ACTION) {\n\t\t\tthis.action.clearAndAddAll(source.action.values);\n\t\t\tthis.interactive = source.interactive;\n\t\t\tthis.title = source.title;\n\t\t\tthis.cursor = source.cursor;\n\t\t\tthis.shortcut = source.shortcut;\n\t\t}\n\t\tif (part & EShapeCopyPart.POINTS) {\n\t\t\tconst sourcePoints = source.points;\n\t\t\tif (sourcePoints != null) {\n\t\t\t\tconst points = this.points;\n\t\t\t\tif (points != null) {\n\t\t\t\t\tpoints.copy(sourcePoints);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (part & EShapeCopyPart.STATE) {\n\t\t\tthis.state.lock(false).copy(source.state).unlock();\n\t\t}\n\t\tif (part & EShapeCopyPart.CONNECTOR) {\n\t\t\tif (source instanceof EShapeBase) {\n\t\t\t\tconst sourceConnector = source._connector;\n\t\t\t\tif (sourceConnector) {\n\t\t\t\t\tthis.connector.copy(sourceConnector);\n\t\t\t\t} else {\n\t\t\t\t\tconst connector = this._connector;\n\t\t\t\t\tif (connector) {\n\t\t\t\t\t\tconnector.clear();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst connector = this._connector;\n\t\t\t\tif (connector) {\n\t\t\t\t\tconnector.clear();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (part & EShapeCopyPart.CAPABILITY) {\n\t\t\tconst sourceCapability = source.getCapability();\n\t\t\tif (sourceCapability != null) {\n\t\t\t\tthis.capability.copy(sourceCapability);\n\t\t\t} else {\n\t\t\t\tconst capability = this._capability;\n\t\t\t\tif (capability != null) {\n\t\t\t\t\tcapability.clear();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.unlock(EShapeLockPart.ALL, true);\n\t\treturn this;\n\t}\n}\n"]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { __extends } from "tslib";
|
|
6
|
+
import { EShapeConnectors } from "../e-shape-connectors";
|
|
6
7
|
import { EShapeDefaults } from "../e-shape-defaults";
|
|
7
8
|
import { EShapeType } from "../e-shape-type";
|
|
8
9
|
import { EShapeFillImpl } from "./e-shape-fill-impl";
|
|
@@ -42,6 +43,7 @@ var EShapeEmbeddedLayer = /** @class */ (function (_super) {
|
|
|
42
43
|
clone.parent = result;
|
|
43
44
|
result.children.push(clone);
|
|
44
45
|
}
|
|
46
|
+
EShapeConnectors.move(this, result);
|
|
45
47
|
result.onChildTransformChange();
|
|
46
48
|
result.toDirty();
|
|
47
49
|
var size = this.size;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-embedded-layer.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-embedded-layer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"e-shape-embedded-layer.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-embedded-layer.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDiagramSerializedItem } from \"../../d-diagram-serialized\";\nimport { EShapeConnectors } from \"../e-shape-connectors\";\nimport { EShapeDefaults } from \"../e-shape-defaults\";\nimport { EShapeFill } from \"../e-shape-fill\";\nimport { EShapeLayer } from \"../e-shape-layer\";\nimport { EShapeResourceManagerDeserializationMode } from \"../e-shape-resource-manager-deserialization-mode\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeType } from \"../e-shape-type\";\nimport { EShapeFillImpl } from \"./e-shape-fill-impl\";\nimport { EShapeGroupSize } from \"./e-shape-group-size\";\nimport { EShapeGroupSizeViewer } from \"./e-shape-group-size-viewer\";\nimport { EShapeGroupViewer } from \"./e-shape-group-viewer\";\n\nexport class EShapeEmbeddedLayer extends EShapeGroupViewer implements EShapeLayer {\n\tprotected _name: string;\n\n\tconstructor(\n\t\tname: string,\n\t\tmode: EShapeResourceManagerDeserializationMode,\n\t\tdepth: number,\n\t\ttype: EShapeType = EShapeType.EMBEDDED_LAYER\n\t) {\n\t\tsuper(mode, depth, type);\n\t\tthis._name = name;\n\t}\n\n\tget name(): string {\n\t\treturn this._name;\n\t}\n\n\tprotected newGroupFill(): EShapeFill {\n\t\treturn new EShapeFillImpl(this, false, 0xffffff, 1);\n\t}\n\n\tprotected isGroupSizeFittable(): boolean {\n\t\treturn false;\n\t}\n\n\tprotected newGroupSize(\n\t\tmode: EShapeResourceManagerDeserializationMode,\n\t\tdepth: number\n\t): EShapeGroupSize {\n\t\tconst sizeX = EShapeDefaults.SIZE_X;\n\t\tconst sizeY = EShapeDefaults.SIZE_Y;\n\t\treturn new EShapeGroupSizeViewer(this, sizeX, sizeY, sizeX, sizeY);\n\t}\n\n\tclone(): EShapeEmbeddedLayer {\n\t\tconst result = this.newClone().copy(this);\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst clone = children[i].clone();\n\t\t\tclone.parent = result;\n\t\t\tresult.children.push(clone);\n\t\t}\n\t\tEShapeConnectors.move(this, result);\n\t\tresult.onChildTransformChange();\n\t\tresult.toDirty();\n\t\tconst size = this.size;\n\t\tif (size instanceof EShapeGroupSizeViewer) {\n\t\t\tconst base = size.base;\n\t\t\tresult.size.set(base.x, base.y).init().set(size.x, size.y);\n\t\t} else {\n\t\t\tresult.size.init();\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newClone(): EShapeEmbeddedLayer {\n\t\tconst constructor = this.constructor as typeof EShapeEmbeddedLayer;\n\t\treturn new constructor(this._name, this._mode, this._depth, this.type);\n\t}\n\n\tserializeChildren(manager: EShapeResourceManagerSerialization): DDiagramSerializedItem[] {\n\t\treturn [];\n\t}\n\n\tserializeImage(manager: EShapeResourceManagerSerialization): number {\n\t\treturn -1;\n\t}\n\n\tserializeGradient(manager: EShapeResourceManagerSerialization): number {\n\t\treturn -1;\n\t}\n}\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
+
import { Matrix } from "pixi.js";
|
|
2
3
|
import { EShapeDefaults } from "../e-shape-defaults";
|
|
3
4
|
import { EShapeResourceManagerDeserializationMode } from "../e-shape-resource-manager-deserialization-mode";
|
|
4
5
|
import { EShapeType } from "../e-shape-type";
|
|
@@ -31,30 +32,36 @@ var EShapeEmbedded = /** @class */ (function (_super) {
|
|
|
31
32
|
configurable: true
|
|
32
33
|
});
|
|
33
34
|
EShapeEmbedded.prototype.newEdges = function () {
|
|
35
|
+
var _a, _b;
|
|
34
36
|
var result = new Map();
|
|
35
37
|
var layers = this.children;
|
|
36
38
|
if (layers != null) {
|
|
37
39
|
var s = this.size;
|
|
38
40
|
var sx = s.x;
|
|
39
41
|
var sy = s.y;
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
+
var work1 = void 0;
|
|
43
|
+
var work2 = void 0;
|
|
42
44
|
for (var i = 0, imax = layers.length; i < imax; ++i) {
|
|
43
45
|
var layer = layers[i];
|
|
44
|
-
var lp = layer.transform.position;
|
|
45
|
-
var lpx = lp.x + sxh;
|
|
46
|
-
var lpy = lp.y + syh;
|
|
47
46
|
var children = layer.children;
|
|
48
47
|
for (var j = 0, jmax = children.length; j < jmax; ++j) {
|
|
49
48
|
var child = children[j];
|
|
50
49
|
if (child instanceof EShapeEmbeddedAcceptorEdge) {
|
|
51
|
-
child.
|
|
52
|
-
|
|
50
|
+
child.updateTransform();
|
|
51
|
+
if (work1 == null) {
|
|
52
|
+
work1 = ((_a = EShapeEmbedded.WORK_NEW_EDGE1) !== null && _a !== void 0 ? _a : (EShapeEmbedded.WORK_NEW_EDGE1 = new Matrix()))
|
|
53
|
+
.copyFrom(this.transform.internalTransform)
|
|
54
|
+
.invert();
|
|
55
|
+
}
|
|
56
|
+
if (work2 == null) {
|
|
57
|
+
work2 = (_b = EShapeEmbedded.WORK_NEW_EDGE2) !== null && _b !== void 0 ? _b : (EShapeEmbedded.WORK_NEW_EDGE2 = new Matrix());
|
|
58
|
+
}
|
|
59
|
+
work2.copyFrom(work1).append(child.transform.internalTransform);
|
|
53
60
|
result.set(child.id, {
|
|
54
61
|
type: child.subtype,
|
|
55
|
-
x: this.toEdgePosition(
|
|
56
|
-
y: this.toEdgePosition(
|
|
57
|
-
normal: this.toEdgeNormal(-
|
|
62
|
+
x: this.toEdgePosition(work2.tx, sx),
|
|
63
|
+
y: this.toEdgePosition(work2.ty, sy),
|
|
64
|
+
normal: this.toEdgeNormal(-work2.c, -work2.d),
|
|
58
65
|
size: {
|
|
59
66
|
x: 0,
|
|
60
67
|
y: 0
|
|
@@ -67,16 +74,16 @@ var EShapeEmbedded = /** @class */ (function (_super) {
|
|
|
67
74
|
}
|
|
68
75
|
return result;
|
|
69
76
|
};
|
|
70
|
-
EShapeEmbedded.prototype.toEdgePosition = function (
|
|
77
|
+
EShapeEmbedded.prototype.toEdgePosition = function (cp, s) {
|
|
71
78
|
if (0.00001 < Math.abs(s)) {
|
|
72
|
-
return
|
|
79
|
+
return cp / s;
|
|
73
80
|
}
|
|
74
81
|
return 0;
|
|
75
82
|
};
|
|
76
83
|
EShapeEmbedded.prototype.toEdgeNormal = function (x, y) {
|
|
77
84
|
var d = x * x + y * y;
|
|
78
85
|
if (0.00001 < d) {
|
|
79
|
-
var f = 1 / d;
|
|
86
|
+
var f = 1 / Math.sqrt(d);
|
|
80
87
|
return {
|
|
81
88
|
x: x * f,
|
|
82
89
|
y: y * f
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-embedded.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-embedded.ts"],"names":[],"mappings":"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","sourcesContent":["import { DDiagramSerializedItem } from \"../../d-diagram-serialized\";\nimport { EShapeAcceptorEdge } from \"../e-shape-acceptor-edge\";\nimport { EShapeAcceptorEdgeNormal } from \"../e-shape-acceptor-edge-normal\";\nimport { EShapeDefaults } from \"../e-shape-defaults\";\nimport { EShapeResourceManagerDeserializationMode } from \"../e-shape-resource-manager-deserialization-mode\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeType } from \"../e-shape-type\";\nimport { EShapeEmbeddedAcceptorEdge } from \"./e-shape-embedded-acceptor-edge\";\nimport { EShapeGroupSize } from \"./e-shape-group-size\";\nimport { EShapeGroupSizeEditor } from \"./e-shape-group-size-editor\";\nimport { EShapeGroupSizeViewer } from \"./e-shape-group-size-viewer\";\nimport { EShapeGroupViewer } from \"./e-shape-group-viewer\";\n\nexport class EShapeEmbedded extends EShapeGroupViewer {\n\tprotected _name: string;\n\tprotected _edges?: Map<string, EShapeAcceptorEdge>;\n\n\tconstructor(\n\t\tname: string,\n\t\tmode: EShapeResourceManagerDeserializationMode,\n\t\tdepth: number,\n\t\ttype: EShapeType = EShapeType.EMBEDDED\n\t) {\n\t\tsuper(mode, depth, type);\n\t\tthis._name = name;\n\t\tthis._depth = depth;\n\t}\n\n\tget name(): string {\n\t\treturn this._name;\n\t}\n\n\tget edges(): Map<string, EShapeAcceptorEdge> {\n\t\treturn (this._edges ??= this.newEdges());\n\t}\n\n\tprotected newEdges(): Map<string, EShapeAcceptorEdge> {\n\t\tconst result = new Map<string, EShapeAcceptorEdge>();\n\t\tconst layers = this.children;\n\t\tif (layers != null) {\n\t\t\tconst s = this.size;\n\t\t\tconst sx = s.x;\n\t\t\tconst sy = s.y;\n\t\t\tconst sxh = sx * 0.5;\n\t\t\tconst syh = sy * 0.5;\n\t\t\tfor (let i = 0, imax = layers.length; i < imax; ++i) {\n\t\t\t\tconst layer = layers[i];\n\t\t\t\tconst lp = layer.transform.position;\n\t\t\t\tconst lpx = lp.x + sxh;\n\t\t\t\tconst lpy = lp.y + syh;\n\t\t\t\tconst children = layer.children;\n\t\t\t\tfor (let j = 0, jmax = children.length; j < jmax; ++j) {\n\t\t\t\t\tconst child = children[j];\n\t\t\t\t\tif (child instanceof EShapeEmbeddedAcceptorEdge) {\n\t\t\t\t\t\tchild.transform.updateLocalTransform();\n\t\t\t\t\t\tconst clt = child.transform.localTransform;\n\t\t\t\t\t\tresult.set(child.id, {\n\t\t\t\t\t\t\ttype: child.subtype,\n\t\t\t\t\t\t\tx: this.toEdgePosition(lpx, clt.tx, sxh, sx),\n\t\t\t\t\t\t\ty: this.toEdgePosition(lpy, clt.ty, syh, sy),\n\t\t\t\t\t\t\tnormal: this.toEdgeNormal(-clt.c, -clt.d),\n\t\t\t\t\t\t\tsize: {\n\t\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\t\ty: 0\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tside: child.side\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected toEdgePosition(lp: number, cp: number, sh: number, s: number): number {\n\t\tif (0.00001 < Math.abs(s)) {\n\t\t\treturn (lp + cp - sh) / s;\n\t\t}\n\t\treturn 0;\n\t}\n\n\tprotected toEdgeNormal(x: number, y: number): EShapeAcceptorEdgeNormal {\n\t\tconst d = x * x + y * y;\n\t\tif (0.00001 < d) {\n\t\t\tconst f = 1 / d;\n\t\t\treturn {\n\t\t\t\tx: x * f,\n\t\t\t\ty: y * f\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tx: 0,\n\t\t\ty: -1\n\t\t};\n\t}\n\n\tprotected isGroupSizeFittable(): boolean {\n\t\treturn false;\n\t}\n\n\tprotected newGroupSize(\n\t\tmode: EShapeResourceManagerDeserializationMode,\n\t\tdepth: number\n\t): EShapeGroupSize {\n\t\tconst sizeX = EShapeDefaults.SIZE_X;\n\t\tconst sizeY = EShapeDefaults.SIZE_Y;\n\t\tif (mode !== EShapeResourceManagerDeserializationMode.VIEWER && depth <= 0) {\n\t\t\treturn new EShapeGroupSizeEditor(this, sizeX, sizeY, this.isGroupSizeFittable());\n\t\t} else {\n\t\t\treturn new EShapeGroupSizeViewer(this, sizeX, sizeY, sizeX, sizeY);\n\t\t}\n\t}\n\n\tclone(): EShapeEmbedded {\n\t\tconst result = this.newClone().copy(this);\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst clone = children[i].clone();\n\t\t\tclone.parent = result;\n\t\t\tresult.children.push(clone);\n\t\t}\n\t\tresult.onChildTransformChange();\n\t\tresult.toDirty();\n\t\treturn result;\n\t}\n\n\tprotected newClone(): EShapeEmbedded {\n\t\tconst constructor = this.constructor as typeof EShapeEmbedded;\n\t\treturn new constructor(this._name, this._mode, this._depth, this.type);\n\t}\n\n\tserializeChildren(manager: EShapeResourceManagerSerialization): DDiagramSerializedItem[] {\n\t\treturn [];\n\t}\n\n\tserializeImage(manager: EShapeResourceManagerSerialization): number {\n\t\treturn -1;\n\t}\n\n\tserializeGradient(manager: EShapeResourceManagerSerialization): number {\n\t\treturn -1;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): DDiagramSerializedItem {\n\t\tconst result = super.serialize(manager);\n\t\tresult[15] = manager.addPiece(this._name);\n\t\treturn result;\n\t}\n\n\taddUuid(manager: EShapeResourceManagerSerialization): void {\n\t\tthis.uuid = manager.addUuid(this.uuid);\n\t}\n\n\tupdateUuid(manager: EShapeResourceManagerSerialization): void {\n\t\tthis.uuid = manager.updateUuid(this.uuid);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"e-shape-embedded.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-embedded.ts"],"names":[],"mappings":"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","sourcesContent":["import { Matrix } from \"pixi.js\";\nimport { DDiagramSerializedItem } from \"../../d-diagram-serialized\";\nimport { EShapeAcceptorEdge } from \"../e-shape-acceptor-edge\";\nimport { EShapeAcceptorEdgeNormal } from \"../e-shape-acceptor-edge-normal\";\nimport { EShapeDefaults } from \"../e-shape-defaults\";\nimport { EShapeResourceManagerDeserializationMode } from \"../e-shape-resource-manager-deserialization-mode\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeType } from \"../e-shape-type\";\nimport { EShapeEmbeddedAcceptorEdge } from \"./e-shape-embedded-acceptor-edge\";\nimport { EShapeGroupSize } from \"./e-shape-group-size\";\nimport { EShapeGroupSizeEditor } from \"./e-shape-group-size-editor\";\nimport { EShapeGroupSizeViewer } from \"./e-shape-group-size-viewer\";\nimport { EShapeGroupViewer } from \"./e-shape-group-viewer\";\n\nexport class EShapeEmbedded extends EShapeGroupViewer {\n\tprotected static WORK_NEW_EDGE1?: Matrix;\n\tprotected static WORK_NEW_EDGE2?: Matrix;\n\tprotected _name: string;\n\tprotected _edges?: Map<string, EShapeAcceptorEdge>;\n\n\tconstructor(\n\t\tname: string,\n\t\tmode: EShapeResourceManagerDeserializationMode,\n\t\tdepth: number,\n\t\ttype: EShapeType = EShapeType.EMBEDDED\n\t) {\n\t\tsuper(mode, depth, type);\n\t\tthis._name = name;\n\t\tthis._depth = depth;\n\t}\n\n\tget name(): string {\n\t\treturn this._name;\n\t}\n\n\tget edges(): Map<string, EShapeAcceptorEdge> {\n\t\treturn (this._edges ??= this.newEdges());\n\t}\n\n\tprotected newEdges(): Map<string, EShapeAcceptorEdge> {\n\t\tconst result = new Map<string, EShapeAcceptorEdge>();\n\t\tconst layers = this.children;\n\t\tif (layers != null) {\n\t\t\tconst s = this.size;\n\t\t\tconst sx = s.x;\n\t\t\tconst sy = s.y;\n\t\t\tlet work1: Matrix | undefined;\n\t\t\tlet work2: Matrix | undefined;\n\t\t\tfor (let i = 0, imax = layers.length; i < imax; ++i) {\n\t\t\t\tconst layer = layers[i];\n\t\t\t\tconst children = layer.children;\n\t\t\t\tfor (let j = 0, jmax = children.length; j < jmax; ++j) {\n\t\t\t\t\tconst child = children[j];\n\t\t\t\t\tif (child instanceof EShapeEmbeddedAcceptorEdge) {\n\t\t\t\t\t\tchild.updateTransform();\n\t\t\t\t\t\tif (work1 == null) {\n\t\t\t\t\t\t\twork1 = (EShapeEmbedded.WORK_NEW_EDGE1 ??= new Matrix())\n\t\t\t\t\t\t\t\t.copyFrom(this.transform.internalTransform)\n\t\t\t\t\t\t\t\t.invert();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (work2 == null) {\n\t\t\t\t\t\t\twork2 = EShapeEmbedded.WORK_NEW_EDGE2 ??= new Matrix();\n\t\t\t\t\t\t}\n\t\t\t\t\t\twork2.copyFrom(work1).append(child.transform.internalTransform);\n\t\t\t\t\t\tresult.set(child.id, {\n\t\t\t\t\t\t\ttype: child.subtype,\n\t\t\t\t\t\t\tx: this.toEdgePosition(work2.tx, sx),\n\t\t\t\t\t\t\ty: this.toEdgePosition(work2.ty, sy),\n\t\t\t\t\t\t\tnormal: this.toEdgeNormal(-work2.c, -work2.d),\n\t\t\t\t\t\t\tsize: {\n\t\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\t\ty: 0\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tside: child.side\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected toEdgePosition(cp: number, s: number): number {\n\t\tif (0.00001 < Math.abs(s)) {\n\t\t\treturn cp / s;\n\t\t}\n\t\treturn 0;\n\t}\n\n\tprotected toEdgeNormal(x: number, y: number): EShapeAcceptorEdgeNormal {\n\t\tconst d = x * x + y * y;\n\t\tif (0.00001 < d) {\n\t\t\tconst f = 1 / Math.sqrt(d);\n\t\t\treturn {\n\t\t\t\tx: x * f,\n\t\t\t\ty: y * f\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tx: 0,\n\t\t\ty: -1\n\t\t};\n\t}\n\n\tprotected isGroupSizeFittable(): boolean {\n\t\treturn false;\n\t}\n\n\tprotected newGroupSize(\n\t\tmode: EShapeResourceManagerDeserializationMode,\n\t\tdepth: number\n\t): EShapeGroupSize {\n\t\tconst sizeX = EShapeDefaults.SIZE_X;\n\t\tconst sizeY = EShapeDefaults.SIZE_Y;\n\t\tif (mode !== EShapeResourceManagerDeserializationMode.VIEWER && depth <= 0) {\n\t\t\treturn new EShapeGroupSizeEditor(this, sizeX, sizeY, this.isGroupSizeFittable());\n\t\t} else {\n\t\t\treturn new EShapeGroupSizeViewer(this, sizeX, sizeY, sizeX, sizeY);\n\t\t}\n\t}\n\n\tclone(): EShapeEmbedded {\n\t\tconst result = this.newClone().copy(this);\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst clone = children[i].clone();\n\t\t\tclone.parent = result;\n\t\t\tresult.children.push(clone);\n\t\t}\n\t\tresult.onChildTransformChange();\n\t\tresult.toDirty();\n\t\treturn result;\n\t}\n\n\tprotected newClone(): EShapeEmbedded {\n\t\tconst constructor = this.constructor as typeof EShapeEmbedded;\n\t\treturn new constructor(this._name, this._mode, this._depth, this.type);\n\t}\n\n\tserializeChildren(manager: EShapeResourceManagerSerialization): DDiagramSerializedItem[] {\n\t\treturn [];\n\t}\n\n\tserializeImage(manager: EShapeResourceManagerSerialization): number {\n\t\treturn -1;\n\t}\n\n\tserializeGradient(manager: EShapeResourceManagerSerialization): number {\n\t\treturn -1;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): DDiagramSerializedItem {\n\t\tconst result = super.serialize(manager);\n\t\tresult[15] = manager.addPiece(this._name);\n\t\treturn result;\n\t}\n\n\taddUuid(manager: EShapeResourceManagerSerialization): void {\n\t\tthis.uuid = manager.addUuid(this.uuid);\n\t}\n\n\tupdateUuid(manager: EShapeResourceManagerSerialization): void {\n\t\tthis.uuid = manager.updateUuid(this.uuid);\n\t}\n}\n"]}
|
|
@@ -182,7 +182,7 @@ var EShapeGroup = /** @class */ (function (_super) {
|
|
|
182
182
|
clone.parent = result;
|
|
183
183
|
result.children.push(clone);
|
|
184
184
|
}
|
|
185
|
-
EShapeConnectors.
|
|
185
|
+
EShapeConnectors.move(this, result);
|
|
186
186
|
result.onChildTransformChange();
|
|
187
187
|
result.toDirty();
|
|
188
188
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-group.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-group.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint } from \"pixi.js\";\nimport { EShapeCorner } from \"../e-shape-corner\";\nimport { EShapeDefaults } from \"../e-shape-defaults\";\nimport { EShapeFill } from \"../e-shape-fill\";\nimport { EShapeGradientLike } from \"../e-shape-gradient\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapeStroke } from \"../e-shape-stroke\";\nimport { EShapeData } from \"../e-shape-data\";\nimport { EShapeText } from \"../e-shape-text\";\nimport { EShapeType } from \"../e-shape-type\";\nimport { EShapeBase } from \"./e-shape-base\";\nimport { EShapeGroupFillEditor } from \"./e-shape-group-fill-editor\";\nimport { EShapeGroupPoints } from \"./e-shape-group-points\";\nimport { EShapeGroupPropertyParent } from \"./e-shape-group-property-parent\";\nimport { EShapeGroupSize } from \"./e-shape-group-size\";\nimport { EShapeGroupSizeEditor } from \"./e-shape-group-size-editor\";\nimport { EShapeGroupSizeViewer } from \"./e-shape-group-size-viewer\";\nimport { EShapeGroupStrokeEditor } from \"./e-shape-group-stroke-editor\";\nimport { EShapeDataImpl } from \"../e-shape-data-impl\";\nimport { EShapeTextImpl } from \"./e-shape-text-impl\";\nimport { EShapeResourceManagerDeserializationMode } from \"../e-shape-resource-manager-deserialization-mode\";\nimport { EShapeConnectors } from \"../e-shape-connectors\";\nimport { EShapeImageLike } from \"../e-shape-image-like\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\n\nexport class EShapeGroup extends EShapeBase implements EShapeGroupPropertyParent {\n\tsize: EShapeGroupSize;\n\tfill: EShapeFill;\n\tstroke: EShapeStroke;\n\t/** @deprecated in favor of {@link data} */\n\ttag: EShapeData;\n\tdata: EShapeData;\n\ttext: EShapeText;\n\n\tprotected _mode: EShapeResourceManagerDeserializationMode;\n\tprotected _points?: EShapePoints;\n\n\tconstructor(\n\t\tmode: EShapeResourceManagerDeserializationMode,\n\t\ttype: EShapeType = EShapeType.GROUP\n\t) {\n\t\tsuper(type);\n\t\tthis._mode = mode;\n\t\tconst data = new EShapeDataImpl();\n\t\tthis.data = data;\n\t\tthis.tag = data;\n\t\tthis.size = this.newGroupSize(mode);\n\t\tthis.fill = this.newGroupFill();\n\t\tthis.stroke = this.newGroupStroke();\n\t\tthis.text = this.newGroupText();\n\t\tthis._points = this.newGroupPoints();\n\t}\n\n\tget mode(): EShapeResourceManagerDeserializationMode {\n\t\treturn this._mode;\n\t}\n\n\tprotected newGroupSize(mode: EShapeResourceManagerDeserializationMode): EShapeGroupSize {\n\t\tconst sizeX = EShapeDefaults.SIZE_X;\n\t\tconst sizeY = EShapeDefaults.SIZE_Y;\n\t\tif (mode !== EShapeResourceManagerDeserializationMode.VIEWER) {\n\t\t\treturn new EShapeGroupSizeEditor(this, sizeX, sizeY, this.isGroupSizeFittable());\n\t\t} else {\n\t\t\treturn new EShapeGroupSizeViewer(this, sizeX, sizeY, sizeX, sizeY);\n\t\t}\n\t}\n\n\tprotected isGroupSizeFittable(): boolean {\n\t\treturn true;\n\t}\n\n\tprotected newGroupFill(): EShapeFill {\n\t\treturn new EShapeGroupFillEditor(this);\n\t}\n\n\tprotected newGroupStroke(): EShapeStroke {\n\t\treturn new EShapeGroupStrokeEditor(this);\n\t}\n\n\tprotected newGroupText(): EShapeText {\n\t\treturn new EShapeTextImpl(\n\t\t\tthis,\n\t\t\tEShapeDefaults.TEXT_VALUE,\n\t\t\tEShapeDefaults.TEXT_COLOR,\n\t\t\tEShapeDefaults.TEXT_ALPHA,\n\t\t\tEShapeDefaults.TEXT_FAMILY,\n\t\t\tEShapeDefaults.TEXT_SIZE\n\t\t);\n\t}\n\n\tprotected newGroupPoints(): EShapePoints | undefined {\n\t\treturn new EShapeGroupPoints(this);\n\t}\n\n\tprotected getBoundsSize(): IPoint {\n\t\tconst size = this.size;\n\t\tif (size instanceof EShapeGroupSizeViewer) {\n\t\t\treturn size.base;\n\t\t} else {\n\t\t\treturn size;\n\t\t}\n\t}\n\n\tonChildTransformChange(): void {\n\t\tsuper.onChildTransformChange();\n\t\tthis.size.fit();\n\t}\n\n\tget corner(): EShapeCorner {\n\t\tconst children = this.children;\n\t\tif (0 < children.length) {\n\t\t\treturn children[children.length - 1].corner;\n\t\t}\n\t\treturn EShapeCorner.ALL;\n\t}\n\n\tset corner(corner: EShapeCorner) {\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].corner = corner;\n\t\t}\n\t}\n\n\tget gradient(): EShapeGradientLike | undefined {\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst gradient = children[i].gradient;\n\t\t\tif (gradient != null) {\n\t\t\t\treturn gradient;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tset gradient(gradient: EShapeGradientLike | undefined) {\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].gradient = gradient;\n\t\t}\n\t}\n\n\toverride serializeGradient(manager: EShapeResourceManagerSerialization): number {\n\t\treturn -1;\n\t}\n\n\tget radius(): number {\n\t\tconst children = this.children;\n\t\tif (0 < children.length) {\n\t\t\treturn children[children.length - 1].radius;\n\t\t}\n\t\treturn 0.5;\n\t}\n\n\tset radius(radius: number) {\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].radius = radius;\n\t\t}\n\t}\n\n\tget image(): EShapeImageLike | undefined {\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst image = children[i].image;\n\t\t\tif (image != null) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tset image(image: EShapeImageLike | undefined) {\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].image = image;\n\t\t}\n\t}\n\n\toverride serializeImage(manager: EShapeResourceManagerSerialization): number {\n\t\treturn -1;\n\t}\n\n\tget points(): EShapePoints | undefined {\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn this._points;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tset points(points: EShapePoints | undefined) {\n\t\t// DO NOTHING\n\t}\n\n\tclone(): EShapeGroup {\n\t\tconst result = this.newClone().copy(this);\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst clone = children[i].clone();\n\t\t\tclone.parent = result;\n\t\t\tresult.children.push(clone);\n\t\t}\n\t\tEShapeConnectors.moveAll(children, result.children, children, result.children);\n\t\tresult.onChildTransformChange();\n\t\tresult.toDirty();\n\t\treturn result;\n\t}\n\n\tprotected newClone(): EShapeGroup {\n\t\tconst constructor = this.constructor as typeof EShapeGroup;\n\t\treturn new constructor(this._mode, this.type);\n\t}\n\n\tcontainsAbs(\n\t\tx: number,\n\t\ty: number,\n\t\tax: number,\n\t\tay: number,\n\t\tsw: number,\n\t\tss: number,\n\t\tsa: number\n\t): boolean {\n\t\treturn false;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"e-shape-group.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-group.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint } from \"pixi.js\";\nimport { EShapeCorner } from \"../e-shape-corner\";\nimport { EShapeDefaults } from \"../e-shape-defaults\";\nimport { EShapeFill } from \"../e-shape-fill\";\nimport { EShapeGradientLike } from \"../e-shape-gradient\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapeStroke } from \"../e-shape-stroke\";\nimport { EShapeData } from \"../e-shape-data\";\nimport { EShapeText } from \"../e-shape-text\";\nimport { EShapeType } from \"../e-shape-type\";\nimport { EShapeBase } from \"./e-shape-base\";\nimport { EShapeGroupFillEditor } from \"./e-shape-group-fill-editor\";\nimport { EShapeGroupPoints } from \"./e-shape-group-points\";\nimport { EShapeGroupPropertyParent } from \"./e-shape-group-property-parent\";\nimport { EShapeGroupSize } from \"./e-shape-group-size\";\nimport { EShapeGroupSizeEditor } from \"./e-shape-group-size-editor\";\nimport { EShapeGroupSizeViewer } from \"./e-shape-group-size-viewer\";\nimport { EShapeGroupStrokeEditor } from \"./e-shape-group-stroke-editor\";\nimport { EShapeDataImpl } from \"../e-shape-data-impl\";\nimport { EShapeTextImpl } from \"./e-shape-text-impl\";\nimport { EShapeResourceManagerDeserializationMode } from \"../e-shape-resource-manager-deserialization-mode\";\nimport { EShapeConnectors } from \"../e-shape-connectors\";\nimport { EShapeImageLike } from \"../e-shape-image-like\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\n\nexport class EShapeGroup extends EShapeBase implements EShapeGroupPropertyParent {\n\tsize: EShapeGroupSize;\n\tfill: EShapeFill;\n\tstroke: EShapeStroke;\n\t/** @deprecated in favor of {@link data} */\n\ttag: EShapeData;\n\tdata: EShapeData;\n\ttext: EShapeText;\n\n\tprotected _mode: EShapeResourceManagerDeserializationMode;\n\tprotected _points?: EShapePoints;\n\n\tconstructor(\n\t\tmode: EShapeResourceManagerDeserializationMode,\n\t\ttype: EShapeType = EShapeType.GROUP\n\t) {\n\t\tsuper(type);\n\t\tthis._mode = mode;\n\t\tconst data = new EShapeDataImpl();\n\t\tthis.data = data;\n\t\tthis.tag = data;\n\t\tthis.size = this.newGroupSize(mode);\n\t\tthis.fill = this.newGroupFill();\n\t\tthis.stroke = this.newGroupStroke();\n\t\tthis.text = this.newGroupText();\n\t\tthis._points = this.newGroupPoints();\n\t}\n\n\tget mode(): EShapeResourceManagerDeserializationMode {\n\t\treturn this._mode;\n\t}\n\n\tprotected newGroupSize(mode: EShapeResourceManagerDeserializationMode): EShapeGroupSize {\n\t\tconst sizeX = EShapeDefaults.SIZE_X;\n\t\tconst sizeY = EShapeDefaults.SIZE_Y;\n\t\tif (mode !== EShapeResourceManagerDeserializationMode.VIEWER) {\n\t\t\treturn new EShapeGroupSizeEditor(this, sizeX, sizeY, this.isGroupSizeFittable());\n\t\t} else {\n\t\t\treturn new EShapeGroupSizeViewer(this, sizeX, sizeY, sizeX, sizeY);\n\t\t}\n\t}\n\n\tprotected isGroupSizeFittable(): boolean {\n\t\treturn true;\n\t}\n\n\tprotected newGroupFill(): EShapeFill {\n\t\treturn new EShapeGroupFillEditor(this);\n\t}\n\n\tprotected newGroupStroke(): EShapeStroke {\n\t\treturn new EShapeGroupStrokeEditor(this);\n\t}\n\n\tprotected newGroupText(): EShapeText {\n\t\treturn new EShapeTextImpl(\n\t\t\tthis,\n\t\t\tEShapeDefaults.TEXT_VALUE,\n\t\t\tEShapeDefaults.TEXT_COLOR,\n\t\t\tEShapeDefaults.TEXT_ALPHA,\n\t\t\tEShapeDefaults.TEXT_FAMILY,\n\t\t\tEShapeDefaults.TEXT_SIZE\n\t\t);\n\t}\n\n\tprotected newGroupPoints(): EShapePoints | undefined {\n\t\treturn new EShapeGroupPoints(this);\n\t}\n\n\tprotected getBoundsSize(): IPoint {\n\t\tconst size = this.size;\n\t\tif (size instanceof EShapeGroupSizeViewer) {\n\t\t\treturn size.base;\n\t\t} else {\n\t\t\treturn size;\n\t\t}\n\t}\n\n\tonChildTransformChange(): void {\n\t\tsuper.onChildTransformChange();\n\t\tthis.size.fit();\n\t}\n\n\tget corner(): EShapeCorner {\n\t\tconst children = this.children;\n\t\tif (0 < children.length) {\n\t\t\treturn children[children.length - 1].corner;\n\t\t}\n\t\treturn EShapeCorner.ALL;\n\t}\n\n\tset corner(corner: EShapeCorner) {\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].corner = corner;\n\t\t}\n\t}\n\n\tget gradient(): EShapeGradientLike | undefined {\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst gradient = children[i].gradient;\n\t\t\tif (gradient != null) {\n\t\t\t\treturn gradient;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tset gradient(gradient: EShapeGradientLike | undefined) {\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].gradient = gradient;\n\t\t}\n\t}\n\n\toverride serializeGradient(manager: EShapeResourceManagerSerialization): number {\n\t\treturn -1;\n\t}\n\n\tget radius(): number {\n\t\tconst children = this.children;\n\t\tif (0 < children.length) {\n\t\t\treturn children[children.length - 1].radius;\n\t\t}\n\t\treturn 0.5;\n\t}\n\n\tset radius(radius: number) {\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].radius = radius;\n\t\t}\n\t}\n\n\tget image(): EShapeImageLike | undefined {\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst image = children[i].image;\n\t\t\tif (image != null) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tset image(image: EShapeImageLike | undefined) {\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tchildren[i].image = image;\n\t\t}\n\t}\n\n\toverride serializeImage(manager: EShapeResourceManagerSerialization): number {\n\t\treturn -1;\n\t}\n\n\tget points(): EShapePoints | undefined {\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst points = children[i].points;\n\t\t\tif (points != null) {\n\t\t\t\treturn this._points;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tset points(points: EShapePoints | undefined) {\n\t\t// DO NOTHING\n\t}\n\n\tclone(): EShapeGroup {\n\t\tconst result = this.newClone().copy(this);\n\t\tconst children = this.children;\n\t\tfor (let i = 0, imax = children.length; i < imax; ++i) {\n\t\t\tconst clone = children[i].clone();\n\t\t\tclone.parent = result;\n\t\t\tresult.children.push(clone);\n\t\t}\n\t\tEShapeConnectors.move(this, result);\n\t\tresult.onChildTransformChange();\n\t\tresult.toDirty();\n\t\treturn result;\n\t}\n\n\tprotected newClone(): EShapeGroup {\n\t\tconst constructor = this.constructor as typeof EShapeGroup;\n\t\treturn new constructor(this._mode, this.type);\n\t}\n\n\tcontainsAbs(\n\t\tx: number,\n\t\ty: number,\n\t\tax: number,\n\t\tay: number,\n\t\tsw: number,\n\t\tss: number,\n\t\tsa: number\n\t): boolean {\n\t\treturn false;\n\t}\n}\n"]}
|