@node-projects/web-component-designer 0.2.4 → 0.2.5
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/elements/item/DesignItem.d.ts +1 -1
- package/dist/elements/services/propertiesService/DefaultEditorTypesService.js +4 -4
- package/dist/elements/services/propertiesService/DefaultEditorTypesService.js.map +1 -1
- package/dist/elements/services/propertiesService/PropertyGroupsService.js +1 -2
- package/dist/elements/services/propertiesService/PropertyGroupsService.js.map +1 -1
- package/dist/elements/services/propertiesService/propertyEditors/{CssNumericPropertyEditor.d.ts → UnitPropertyEditor.d.ts} +1 -1
- package/dist/elements/services/propertiesService/propertyEditors/{CssNumericPropertyEditor.js → UnitPropertyEditor.js} +3 -3
- package/dist/elements/services/propertiesService/propertyEditors/UnitPropertyEditor.js.map +1 -0
- package/dist/elements/services/propertiesService/propertyEditors/UnitPropertyEditorConfig.d.ts +30 -0
- package/dist/elements/services/propertiesService/propertyEditors/{CssNumericPropertyEditorConfig.js → UnitPropertyEditorConfig.js} +34 -91
- package/dist/elements/services/propertiesService/propertyEditors/UnitPropertyEditorConfig.js.map +1 -0
- package/dist/elements/services/propertiesService/services/AbstractCssPropertiesService.js +1 -1
- package/dist/elements/services/propertiesService/services/AbstractCssPropertiesService.js.map +1 -1
- package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.d.ts +0 -1
- package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js +3 -7
- package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js.map +1 -1
- package/dist/elements/services/propertiesService/services/CssProperties.json +107 -33
- package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +3 -0
- package/dist/elements/services/propertiesService/services/CssPropertiesService.js +12 -2
- package/dist/elements/services/propertiesService/services/CssPropertiesService.js.map +1 -1
- package/dist/elements/services/propertiesService/services/SVGElementsPropertiesService.d.ts +2 -0
- package/dist/elements/services/propertiesService/services/SVGElementsPropertiesService.js +39 -41
- package/dist/elements/services/propertiesService/services/SVGElementsPropertiesService.js.map +1 -1
- package/dist/elements/widgets/designerView/DomConverter.d.ts +1 -1
- package/dist/index-min.js +7 -7
- package/dist/index-min.js.map +4 -4
- package/dist/index.d.ts +1 -4
- package/dist/index.js +1 -4
- package/dist/index.js.map +1 -1
- package/jest.config.js +3 -0
- package/package.json +1 -1
- package/dist/basepath.d.ts +0 -2
- package/dist/basepath.js +0 -2
- package/dist/basepath.js.map +0 -1
- package/dist/elements/controls/NumericPopup.d.ts +0 -6
- package/dist/elements/controls/NumericPopup.js +0 -40
- package/dist/elements/controls/NumericPopup.js.map +0 -1
- package/dist/elements/helper/DesignItem.d.ts +0 -11
- package/dist/elements/helper/DesignItem.js +0 -67
- package/dist/elements/helper/DesignItem.js.map +0 -1
- package/dist/elements/helper/Screenshot copy.d.ts +0 -11
- package/dist/elements/helper/Screenshot copy.js +0 -67
- package/dist/elements/helper/Screenshot copy.js.map +0 -1
- package/dist/elements/services/collaborationService/DefaultCollaborationService.d.ts +0 -45
- package/dist/elements/services/collaborationService/DefaultCollaborationService.js +0 -298
- package/dist/elements/services/collaborationService/DefaultCollaborationService.js.map +0 -1
- package/dist/elements/services/collaborationService/WebRtcTabCollaborationTransport.d.ts +0 -95
- package/dist/elements/services/collaborationService/WebRtcTabCollaborationTransport.js +0 -571
- package/dist/elements/services/collaborationService/WebRtcTabCollaborationTransport.js.map +0 -1
- package/dist/elements/services/contentService/ContentService.d.ts +0 -9
- package/dist/elements/services/contentService/ContentService.js +0 -9
- package/dist/elements/services/contentService/ContentService.js.map +0 -1
- package/dist/elements/services/contentService/IContentChanged.d.ts +0 -10
- package/dist/elements/services/contentService/IContentChanged.js +0 -12
- package/dist/elements/services/contentService/IContentChanged.js.map +0 -1
- package/dist/elements/services/contentService/IContentService.d.ts +0 -7
- package/dist/elements/services/contentService/IContentService.js +0 -2
- package/dist/elements/services/contentService/IContentService.js.map +0 -1
- package/dist/elements/services/htmlWriterService/LitTsElementWriterService.d.ts +0 -10
- package/dist/elements/services/htmlWriterService/LitTsElementWriterService.js +0 -53
- package/dist/elements/services/htmlWriterService/LitTsElementWriterService.js.map +0 -1
- package/dist/elements/services/miniatureViewService/IMinatureViewService copy.d.ts +0 -2
- package/dist/elements/services/miniatureViewService/IMinatureViewService copy.js +0 -2
- package/dist/elements/services/miniatureViewService/IMinatureViewService copy.js.map +0 -1
- package/dist/elements/services/miniatureViewService/IMinatureViewService.d.ts +0 -4
- package/dist/elements/services/miniatureViewService/IMinatureViewService.js +0 -2
- package/dist/elements/services/miniatureViewService/IMinatureViewService.js.map +0 -1
- package/dist/elements/services/miniatureViewService/MinatureViewService.d.ts +0 -5
- package/dist/elements/services/miniatureViewService/MinatureViewService.js +0 -10
- package/dist/elements/services/miniatureViewService/MinatureViewService.js.map +0 -1
- package/dist/elements/services/popupService/IPopupService.d.ts +0 -16
- package/dist/elements/services/popupService/IPopupService.js +0 -2
- package/dist/elements/services/popupService/IPopupService.js.map +0 -1
- package/dist/elements/services/popupService/PopupService.d.ts +0 -9
- package/dist/elements/services/popupService/PopupService.js +0 -21
- package/dist/elements/services/popupService/PopupService.js.map +0 -1
- package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditor.d.ts +0 -1
- package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditor.js +0 -2
- package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditor.js.map +0 -1
- package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditorConfig.d.ts +0 -3
- package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditorConfig.js +0 -4
- package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditorConfig.js.map +0 -1
- package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditor.js.map +0 -1
- package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditorConfig.d.ts +0 -30
- package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditorConfig.js.map +0 -1
- package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor copy.d.ts +0 -7
- package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor copy.js +0 -19
- package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor copy.js.map +0 -1
- package/dist/elements/services/undoService/transactionItems/AttributeChangeAction copy.d.ts +0 -15
- package/dist/elements/services/undoService/transactionItems/AttributeChangeAction copy.js +0 -75
- package/dist/elements/services/undoService/transactionItems/AttributeChangeAction copy.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/CollaborationCursorOverlayExtension.d.ts +0 -11
- package/dist/elements/widgets/designerView/extensions/CollaborationCursorOverlayExtension.js +0 -72
- package/dist/elements/widgets/designerView/extensions/CollaborationCursorOverlayExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/CollaborationCursorOverlayExtensionProvider.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/CollaborationCursorOverlayExtensionProvider.js +0 -22
- package/dist/elements/widgets/designerView/extensions/CollaborationCursorOverlayExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/CollaborationOverlayExtension.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/CollaborationOverlayExtension.js +0 -116
- package/dist/elements/widgets/designerView/extensions/CollaborationOverlayExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/CollaborationOverlayExtensionProvider.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/CollaborationOverlayExtensionProvider.js +0 -31
- package/dist/elements/widgets/designerView/extensions/CollaborationOverlayExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/FlexboxExtension.d.ts +0 -11
- package/dist/elements/widgets/designerView/extensions/FlexboxExtension.js +0 -20
- package/dist/elements/widgets/designerView/extensions/FlexboxExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/FlexboxExtensionProvider.d.ts +0 -11
- package/dist/elements/widgets/designerView/extensions/FlexboxExtensionProvider.js +0 -18
- package/dist/elements/widgets/designerView/extensions/FlexboxExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/ProjectiveTransformExtension.d.ts +0 -33
- package/dist/elements/widgets/designerView/extensions/ProjectiveTransformExtension.js +0 -337
- package/dist/elements/widgets/designerView/extensions/ProjectiveTransformExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/ProjectiveTransformExtensionProvider.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/ProjectiveTransformExtensionProvider.js +0 -22
- package/dist/elements/widgets/designerView/extensions/ProjectiveTransformExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/QuadEdgeHandleHelper.d.ts +0 -5
- package/dist/elements/widgets/designerView/extensions/QuadEdgeHandleHelper.js +0 -42
- package/dist/elements/widgets/designerView/extensions/QuadEdgeHandleHelper.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/RotateExtension.d.ts +0 -16
- package/dist/elements/widgets/designerView/extensions/RotateExtension.js +0 -109
- package/dist/elements/widgets/designerView/extensions/RotateExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.d.ts +0 -12
- package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js +0 -25
- package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/RotateGroupExtension.d.ts +0 -29
- package/dist/elements/widgets/designerView/extensions/RotateGroupExtension.js +0 -229
- package/dist/elements/widgets/designerView/extensions/RotateGroupExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/RotateGroupExtensionProvider.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/RotateGroupExtensionProvider.js +0 -20
- package/dist/elements/widgets/designerView/extensions/RotateGroupExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/SkewExtension.d.ts +0 -30
- package/dist/elements/widgets/designerView/extensions/SkewExtension.js +0 -291
- package/dist/elements/widgets/designerView/extensions/SkewExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/SkewExtensionProvider.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/SkewExtensionProvider.js +0 -20
- package/dist/elements/widgets/designerView/extensions/SkewExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.d.ts +0 -16
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +0 -120
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.d.ts +0 -12
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +0 -34
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/ChildContextMenu copy.d.ts +0 -11
- package/dist/elements/widgets/designerView/extensions/contextMenu/ChildContextMenu copy.js +0 -16
- package/dist/elements/widgets/designerView/extensions/contextMenu/ChildContextMenu copy.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/CollaborationCommentsContextMenu.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/contextMenu/CollaborationCommentsContextMenu.js +0 -72
- package/dist/elements/widgets/designerView/extensions/contextMenu/CollaborationCommentsContextMenu.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.d.ts +0 -43
- package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.js +0 -187
- package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtensionProvider.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtensionProvider.js +0 -14
- package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/svg/LineExtension.d.ts +0 -32
- package/dist/elements/widgets/designerView/extensions/svg/LineExtension.js +0 -148
- package/dist/elements/widgets/designerView/extensions/svg/LineExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/svg/LineExtensionProvider.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/svg/LineExtensionProvider.js +0 -15
- package/dist/elements/widgets/designerView/extensions/svg/LineExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/svg/PathExtension.d.ts +0 -31
- package/dist/elements/widgets/designerView/extensions/svg/PathExtension.js +0 -330
- package/dist/elements/widgets/designerView/extensions/svg/PathExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/svg/PathExtensionProvider.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/svg/PathExtensionProvider.js +0 -15
- package/dist/elements/widgets/designerView/extensions/svg/PathExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/svg/RectExtension.d.ts +0 -49
- package/dist/elements/widgets/designerView/extensions/svg/RectExtension.js +0 -215
- package/dist/elements/widgets/designerView/extensions/svg/RectExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider.js +0 -15
- package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtension.d.ts +0 -26
- package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtension.js +0 -145
- package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtension.js.map +0 -1
- package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtensionProvider.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtensionProvider.js +0 -17
- package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtensionProvider.js.map +0 -1
- package/dist/elements/widgets/miniatureView/FirefoxElementMiniatiureView.d.ts +0 -9
- package/dist/elements/widgets/miniatureView/FirefoxElementMiniatiureView.js +0 -19
- package/dist/elements/widgets/miniatureView/FirefoxElementMiniatiureView.js.map +0 -1
- package/dist/elements/widgets/miniatureView/miniature-view.d.ts +0 -33
- package/dist/elements/widgets/miniatureView/miniature-view.js +0 -178
- package/dist/elements/widgets/miniatureView/miniature-view.js.map +0 -1
- package/dist/elements/widgets/propertyGrid/PropertyGridMutationHandling.d.ts +0 -5
- package/dist/elements/widgets/propertyGrid/PropertyGridMutationHandling.js +0 -13
- package/dist/elements/widgets/propertyGrid/PropertyGridMutationHandling.js.map +0 -1
- package/dist/elements/widgets/propertyGrid/PropertyGridPropertyStructureSignature.d.ts +0 -4
- package/dist/elements/widgets/propertyGrid/PropertyGridPropertyStructureSignature.js +0 -31
- package/dist/elements/widgets/propertyGrid/PropertyGridPropertyStructureSignature.js.map +0 -1
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { IDesignItem } from '../../../../item/IDesignItem.js';
|
|
2
|
-
import { IDesignerCanvas } from '../../IDesignerCanvas.js';
|
|
3
|
-
import { AbstractExtension } from '../AbstractExtension.js';
|
|
4
|
-
import "../../../../helper/PathDataPolyfill.js";
|
|
5
|
-
import { IPoint } from '../../../../../interfaces/IPoint.js';
|
|
6
|
-
import { IExtensionManager } from '../IExtensionManger.js';
|
|
7
|
-
import { PathData } from '../../../../helper/PathDataPolyfill.js';
|
|
8
|
-
import { IRect } from '../../../../../interfaces/IRect.js';
|
|
9
|
-
export declare class PathExtension extends AbstractExtension {
|
|
10
|
-
private _lastPos;
|
|
11
|
-
private _parentRect;
|
|
12
|
-
private _startPos;
|
|
13
|
-
private _circlePos;
|
|
14
|
-
private _originalPathPoint;
|
|
15
|
-
private _pathdata;
|
|
16
|
-
private _offsetSvg;
|
|
17
|
-
private _pathElement;
|
|
18
|
-
private _parentCoordinates;
|
|
19
|
-
private _startScrollOffset;
|
|
20
|
-
private _deltaScrollOffset;
|
|
21
|
-
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
22
|
-
extend(): void;
|
|
23
|
-
pointerEvent(event: PointerEvent, circle: SVGCircleElement, p: PathData, index: number): void;
|
|
24
|
-
_drawPathCircle(x: number, y: number, p: PathData, index: number): void;
|
|
25
|
-
_drawPathLine(x1: number, y1: number, x2: number, y2: number): void;
|
|
26
|
-
_checkCircleIndex(p: PathData, circlePos: IPoint): boolean;
|
|
27
|
-
_rearrangeSvgElement(): void;
|
|
28
|
-
_rearrangePointsFromElement(oldParentCoords: IRect, pathData: PathData[]): void;
|
|
29
|
-
refresh(): void;
|
|
30
|
-
dispose(): void;
|
|
31
|
-
}
|
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
import { AbstractExtension } from '../AbstractExtension.js';
|
|
2
|
-
import "../../../../helper/PathDataPolyfill.js";
|
|
3
|
-
import { EventNames } from '../../../../../enums/EventNames.js';
|
|
4
|
-
import { createPathD } from '../../../../helper/PathDataPolyfill.js';
|
|
5
|
-
import { ContextMenu } from '../../../../helper/contextMenu/ContextMenu.js';
|
|
6
|
-
export class PathExtension extends AbstractExtension {
|
|
7
|
-
_lastPos;
|
|
8
|
-
_parentRect;
|
|
9
|
-
_startPos;
|
|
10
|
-
_circlePos;
|
|
11
|
-
_originalPathPoint;
|
|
12
|
-
_pathdata;
|
|
13
|
-
_offsetSvg = 10.0;
|
|
14
|
-
_pathElement;
|
|
15
|
-
_parentCoordinates;
|
|
16
|
-
_startScrollOffset;
|
|
17
|
-
_deltaScrollOffset;
|
|
18
|
-
constructor(extensionManager, designerView, extendedItem) {
|
|
19
|
-
super(extensionManager, designerView, extendedItem);
|
|
20
|
-
}
|
|
21
|
-
extend() {
|
|
22
|
-
this._parentRect = this.extendedItem.element.parentElement.getBoundingClientRect();
|
|
23
|
-
this._pathdata = this.extendedItem.node.getPathData({ normalize: false });
|
|
24
|
-
this._pathElement = this.extendedItem.node;
|
|
25
|
-
this._lastPos = { x: 0, y: 0 };
|
|
26
|
-
this._startScrollOffset = this.designerCanvas.canvasOffset;
|
|
27
|
-
if (!this._deltaScrollOffset)
|
|
28
|
-
this._deltaScrollOffset = { x: 0, y: 0 };
|
|
29
|
-
for (let p of this._pathdata) {
|
|
30
|
-
switch (p.type) {
|
|
31
|
-
case 'M':
|
|
32
|
-
this._drawPathCircle(p.values[0], p.values[1], p, 0);
|
|
33
|
-
this._lastPos = { x: p.values[0], y: p.values[1] };
|
|
34
|
-
break;
|
|
35
|
-
case 'm':
|
|
36
|
-
this._drawPathCircle(p.values[0] + this._lastPos.x, p.values[1] + this._lastPos.y, p, 0);
|
|
37
|
-
this._lastPos = { x: p.values[0] + this._lastPos.x, y: p.values[1] + this._lastPos.y };
|
|
38
|
-
break;
|
|
39
|
-
case 'L':
|
|
40
|
-
this._drawPathCircle(p.values[0], p.values[1], p, 0);
|
|
41
|
-
this._lastPos = { x: p.values[0], y: p.values[1] };
|
|
42
|
-
break;
|
|
43
|
-
case 'l':
|
|
44
|
-
this._drawPathCircle(p.values[0] + this._lastPos.x, p.values[1] + this._lastPos.y, p, 0);
|
|
45
|
-
this._lastPos = { x: p.values[0] + this._lastPos.x, y: p.values[1] + this._lastPos.y };
|
|
46
|
-
break;
|
|
47
|
-
case 'H':
|
|
48
|
-
this._drawPathCircle(p.values[0], this._lastPos.y, p, 0);
|
|
49
|
-
this._lastPos = { x: p.values[0], y: this._lastPos.y };
|
|
50
|
-
break;
|
|
51
|
-
case 'h':
|
|
52
|
-
this._drawPathCircle(p.values[0] + this._lastPos.x, this._lastPos.y, p, 0);
|
|
53
|
-
this._lastPos = { x: p.values[0] + this._lastPos.x, y: this._lastPos.y };
|
|
54
|
-
break;
|
|
55
|
-
case 'V':
|
|
56
|
-
this._drawPathCircle(this._lastPos.x, p.values[0], p, 0);
|
|
57
|
-
this._lastPos = { x: this._lastPos.x, y: p.values[0] };
|
|
58
|
-
break;
|
|
59
|
-
case 'v':
|
|
60
|
-
this._drawPathCircle(this._lastPos.x, p.values[0] + this._lastPos.y, p, 0);
|
|
61
|
-
this._lastPos = { x: this._lastPos.x, y: p.values[0] + this._lastPos.y };
|
|
62
|
-
break;
|
|
63
|
-
case 'Z':
|
|
64
|
-
break;
|
|
65
|
-
case 'C':
|
|
66
|
-
this._drawPathLine(this._lastPos.x, this._lastPos.y, p.values[0], p.values[1]);
|
|
67
|
-
this._drawPathLine(p.values[4], p.values[5], p.values[2], p.values[3]);
|
|
68
|
-
this._drawPathCircle(p.values[0], p.values[1], p, 0);
|
|
69
|
-
this._drawPathCircle(p.values[2], p.values[3], p, 2);
|
|
70
|
-
this._drawPathCircle(p.values[4], p.values[5], p, 4);
|
|
71
|
-
this._lastPos = { x: p.values[4], y: p.values[5] };
|
|
72
|
-
break;
|
|
73
|
-
case 'c':
|
|
74
|
-
this._drawPathLine(this._lastPos.x, this._lastPos.y, p.values[0], p.values[1]);
|
|
75
|
-
this._drawPathLine(this._lastPos.x + p.values[4], this._lastPos.y + p.values[5], p.values[2], p.values[3]);
|
|
76
|
-
this._drawPathCircle(p.values[0], p.values[1], p, 0);
|
|
77
|
-
this._drawPathCircle(p.values[2], p.values[3], p, 2);
|
|
78
|
-
this._drawPathCircle(this._lastPos.x + p.values[4], this._lastPos.y + p.values[5], p, 4);
|
|
79
|
-
this._lastPos = { x: p.values[4] + this._lastPos.x, y: p.values[5] + this._lastPos.y };
|
|
80
|
-
break;
|
|
81
|
-
case 'S':
|
|
82
|
-
this._drawPathCircle(p.values[0], p.values[1], p, 0);
|
|
83
|
-
this._drawPathCircle(p.values[2], p.values[3], p, 2);
|
|
84
|
-
this._drawPathLine(this._lastPos.x, this._lastPos.y, p.values[0], p.values[1]);
|
|
85
|
-
this._drawPathLine(p.values[0], p.values[1], p.values[2], p.values[3]);
|
|
86
|
-
this._lastPos = { x: p.values[2], y: p.values[3] };
|
|
87
|
-
break;
|
|
88
|
-
case 's':
|
|
89
|
-
this._drawPathCircle(p.values[0] + this._lastPos.x, p.values[1] + this._lastPos.y, p, 0);
|
|
90
|
-
this._drawPathCircle(p.values[2] + this._lastPos.x, p.values[3] + this._lastPos.y, p, 2);
|
|
91
|
-
this._drawPathLine(this._lastPos.x, this._lastPos.y, p.values[0] + this._lastPos.x, p.values[1] + this._lastPos.y);
|
|
92
|
-
this._drawPathLine(p.values[0] + this._lastPos.x, p.values[1] + this._lastPos.y, p.values[2] + this._lastPos.x, p.values[3] + this._lastPos.y);
|
|
93
|
-
this._lastPos = { x: p.values[2] + this._lastPos.x, y: p.values[3] + this._lastPos.y };
|
|
94
|
-
break;
|
|
95
|
-
case 'Q':
|
|
96
|
-
this._drawPathLine(this._lastPos.x, this._lastPos.y, p.values[0], p.values[1]);
|
|
97
|
-
this._drawPathLine(p.values[0], p.values[1], p.values[2], p.values[3]);
|
|
98
|
-
this._drawPathCircle(p.values[0], p.values[1], p, 0);
|
|
99
|
-
this._drawPathCircle(p.values[2], p.values[3], p, 2);
|
|
100
|
-
this._lastPos = { x: p.values[2], y: p.values[3] };
|
|
101
|
-
break;
|
|
102
|
-
case 'T':
|
|
103
|
-
this._drawPathCircle(p.values[0], p.values[1], p, 0);
|
|
104
|
-
this._lastPos = { x: p.values[0], y: p.values[1] };
|
|
105
|
-
break;
|
|
106
|
-
case 'A':
|
|
107
|
-
this._drawPathCircle(p.values[0], p.values[1], p, 0);
|
|
108
|
-
this._drawPathCircle(p.values[5], p.values[6], p, 5);
|
|
109
|
-
this._lastPos = { x: p.values[0], y: p.values[1] };
|
|
110
|
-
break;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
pointerEvent(event, circle, p, index) {
|
|
115
|
-
event.stopPropagation();
|
|
116
|
-
const cursorPos = this.designerCanvas.getNormalizedEventCoordinates(event);
|
|
117
|
-
switch (event.type) {
|
|
118
|
-
case EventNames.PointerDown:
|
|
119
|
-
event.target.setPointerCapture(event.pointerId);
|
|
120
|
-
this._startPos = cursorPos;
|
|
121
|
-
this._circlePos = { x: parseFloat(circle.getAttribute("cx")), y: parseFloat(circle.getAttribute("cy")) };
|
|
122
|
-
this._originalPathPoint = { x: p.values[index], y: p.values[index + 1] };
|
|
123
|
-
this._parentCoordinates = this.extendedItem.element.parentElement.getBoundingClientRect();
|
|
124
|
-
break;
|
|
125
|
-
case EventNames.PointerMove:
|
|
126
|
-
if (this._startPos && event.buttons > 0) {
|
|
127
|
-
this._deltaScrollOffset = {
|
|
128
|
-
x: this._startScrollOffset.x - this.designerCanvas.canvasOffset.x,
|
|
129
|
-
y: this._startScrollOffset.y - this.designerCanvas.canvasOffset.y
|
|
130
|
-
};
|
|
131
|
-
this._lastPos = { x: this._startPos.x, y: this._startPos.y };
|
|
132
|
-
const cx = cursorPos.x - this._lastPos.x + this._circlePos.x;
|
|
133
|
-
const cy = cursorPos.y - this._lastPos.y + this._circlePos.y;
|
|
134
|
-
const dx = cx - this._circlePos.x;
|
|
135
|
-
const dy = cy - this._circlePos.y;
|
|
136
|
-
if (event.shiftKey) {
|
|
137
|
-
if (Math.abs(dx) >= Math.abs(dy)) {
|
|
138
|
-
p.values[index] = this._originalPathPoint.x + dx;
|
|
139
|
-
circle.setAttribute("cx", (this._circlePos.x + dx).toString());
|
|
140
|
-
p.values[index + 1] = this._originalPathPoint.y;
|
|
141
|
-
circle.setAttribute("cy", (this._circlePos.y).toString());
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
p.values[index] = this._originalPathPoint.x;
|
|
145
|
-
circle.setAttribute("cx", (this._circlePos.x).toString());
|
|
146
|
-
p.values[index + 1] = this._originalPathPoint.y + dy;
|
|
147
|
-
circle.setAttribute("cy", (this._circlePos.y + dy).toString());
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
p.values[index] = this._originalPathPoint.x + dx;
|
|
152
|
-
p.values[index + 1] = this._originalPathPoint.y + dy;
|
|
153
|
-
if (p.type == 'V' || p.type == 'v') {
|
|
154
|
-
p.values[index] = this._originalPathPoint.x + dy;
|
|
155
|
-
circle.setAttribute("cy", (this._circlePos.y + dy).toString());
|
|
156
|
-
}
|
|
157
|
-
else if (p.type == 'H' || p.type == 'h') {
|
|
158
|
-
circle.setAttribute("cy", (this._circlePos.x + dx).toString());
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
circle.setAttribute("cx", (this._circlePos.x + dx).toString());
|
|
162
|
-
circle.setAttribute("cy", (this._circlePos.y + dy).toString());
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
this.designerCanvas.extensionManager.refreshAllExtensions([this.extendedItem], this);
|
|
166
|
-
this.extendedItem.element.setAttribute("d", createPathD(this._pathdata));
|
|
167
|
-
}
|
|
168
|
-
break;
|
|
169
|
-
case EventNames.PointerUp:
|
|
170
|
-
event.target.releasePointerCapture(event.pointerId);
|
|
171
|
-
this._startPos = null;
|
|
172
|
-
this._circlePos = null;
|
|
173
|
-
this._lastPos = null;
|
|
174
|
-
this.extendedItem.setAttribute('d', createPathD(this._pathdata));
|
|
175
|
-
if (getComputedStyle(this._pathElement.parentElement).position == "absolute") {
|
|
176
|
-
let group = this.extendedItem.openGroup('rearrangeSvg');
|
|
177
|
-
let dataPath = this._pathdata;
|
|
178
|
-
this._rearrangeSvgElement();
|
|
179
|
-
this._rearrangePointsFromElement(this._parentCoordinates, dataPath);
|
|
180
|
-
group.commit();
|
|
181
|
-
}
|
|
182
|
-
break;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
_drawPathCircle(x, y, p, index) {
|
|
186
|
-
let circle = this._drawCircle((this._parentRect.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor + x, (this._parentRect.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor + y, 5 / this.designerCanvas.scaleFactor, 'svg-path');
|
|
187
|
-
circle.style.strokeWidth = (1 / this.designerCanvas.zoomFactor).toString();
|
|
188
|
-
let circlePos = { x: x, y: y };
|
|
189
|
-
const items = [];
|
|
190
|
-
const pidx = this._pathdata.indexOf(p);
|
|
191
|
-
items.push({
|
|
192
|
-
title: 'delete point', action: () => {
|
|
193
|
-
this._pathdata.splice(pidx, 1);
|
|
194
|
-
if (pidx == 0)
|
|
195
|
-
this._pathdata[0].type = 'M';
|
|
196
|
-
this.extendedItem.setAttribute('d', createPathD(this._pathdata));
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
items.push({
|
|
200
|
-
title: 'insert point after', action: () => {
|
|
201
|
-
const l = { type: 'L', values: [p.values[0], p.values[1]] };
|
|
202
|
-
this._pathdata.splice(pidx + 1, 0, l);
|
|
203
|
-
this.extendedItem.setAttribute('d', createPathD(this._pathdata));
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
if (pidx != 0 && this._checkCircleIndex(p, circlePos)) {
|
|
207
|
-
items.push({
|
|
208
|
-
title: 'convert to quadratic bézier', action: () => {
|
|
209
|
-
let p1x = this._pathdata[pidx - 1].values[0];
|
|
210
|
-
let p1y = this._pathdata[pidx - 1].values[1];
|
|
211
|
-
if (this._pathdata[pidx - 1].type === 'C') {
|
|
212
|
-
p1x = this._pathdata[pidx - 1].values[4];
|
|
213
|
-
p1y = this._pathdata[pidx - 1].values[5];
|
|
214
|
-
}
|
|
215
|
-
else if (this._pathdata[pidx - 1].type === 'Q') {
|
|
216
|
-
p1x = this._pathdata[pidx - 1].values[2];
|
|
217
|
-
p1y = this._pathdata[pidx - 1].values[3];
|
|
218
|
-
}
|
|
219
|
-
const p2x = this._pathdata[pidx].values[0];
|
|
220
|
-
const p2y = this._pathdata[pidx].values[1];
|
|
221
|
-
const mpx = (p2x + p1x) * 0.5;
|
|
222
|
-
const mpy = (p2y + p1y) * 0.5;
|
|
223
|
-
const theta = Math.atan2(p2y - p1y, p2x - p1x) - Math.PI / 2;
|
|
224
|
-
const offset = 50;
|
|
225
|
-
const c1x = mpx + offset * Math.cos(theta);
|
|
226
|
-
const c1y = mpy + offset * Math.sin(theta);
|
|
227
|
-
this._pathdata[pidx].type = 'Q';
|
|
228
|
-
this._pathdata[pidx].values[0] = c1x;
|
|
229
|
-
this._pathdata[pidx].values[1] = c1y;
|
|
230
|
-
this._pathdata[pidx].values[2] = p2x;
|
|
231
|
-
this._pathdata[pidx].values[3] = p2y;
|
|
232
|
-
this.extendedItem.setAttribute('d', createPathD(this._pathdata));
|
|
233
|
-
}
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
if (pidx != 0 && this._checkCircleIndex(p, circlePos)) {
|
|
237
|
-
items.push({
|
|
238
|
-
title: 'convert to cubic bézier', action: () => {
|
|
239
|
-
let p1x = this._pathdata[pidx - 1].values[0];
|
|
240
|
-
let p1y = this._pathdata[pidx - 1].values[1];
|
|
241
|
-
if (this._pathdata[pidx - 1].type === 'C') {
|
|
242
|
-
p1x = this._pathdata[pidx - 1].values[4];
|
|
243
|
-
p1y = this._pathdata[pidx - 1].values[5];
|
|
244
|
-
}
|
|
245
|
-
else if (this._pathdata[pidx - 1].type === 'Q') {
|
|
246
|
-
p1x = this._pathdata[pidx - 1].values[2];
|
|
247
|
-
p1y = this._pathdata[pidx - 1].values[3];
|
|
248
|
-
}
|
|
249
|
-
const p2x = this._pathdata[pidx].values[0];
|
|
250
|
-
const p2y = this._pathdata[pidx].values[1];
|
|
251
|
-
const mpx = (p2x + p1x) * 0.5;
|
|
252
|
-
const mpy = (p2y + p1y) * 0.5;
|
|
253
|
-
const theta = Math.atan2(p2y - p1y, p2x - p1x) - Math.PI / 2;
|
|
254
|
-
const offset = 50;
|
|
255
|
-
let c1x = mpx + offset * Math.cos(theta);
|
|
256
|
-
let c1y = mpy + offset * Math.sin(theta);
|
|
257
|
-
c1x = p.values[0] + 2 * (p1x - p.values[0]) / 3;
|
|
258
|
-
c1y = p.values[1] + 2 * (p1y - p.values[1]) / 3;
|
|
259
|
-
const c2x = x + 2 * (p1x - x) / 3;
|
|
260
|
-
const c2y = y + 2 * (p1y - y) / 3;
|
|
261
|
-
this._pathdata[pidx].type = 'C';
|
|
262
|
-
this._pathdata[pidx].values[0] = c1x;
|
|
263
|
-
this._pathdata[pidx].values[1] = c1y;
|
|
264
|
-
this._pathdata[pidx].values[2] = c2x;
|
|
265
|
-
this._pathdata[pidx].values[3] = c2y;
|
|
266
|
-
this._pathdata[pidx].values[4] = p2x;
|
|
267
|
-
this._pathdata[pidx].values[5] = p2y;
|
|
268
|
-
this.extendedItem.setAttribute('d', createPathD(this._pathdata));
|
|
269
|
-
}
|
|
270
|
-
});
|
|
271
|
-
}
|
|
272
|
-
circle.addEventListener(EventNames.PointerDown, event => this.pointerEvent(event, circle, p, index));
|
|
273
|
-
circle.addEventListener(EventNames.PointerMove, event => this.pointerEvent(event, circle, p, index));
|
|
274
|
-
circle.addEventListener(EventNames.PointerUp, event => this.pointerEvent(event, circle, p, index));
|
|
275
|
-
circle.addEventListener(EventNames.ContextMenu, event => {
|
|
276
|
-
event.preventDefault();
|
|
277
|
-
ContextMenu.show(items, event);
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
_drawPathLine(x1, y1, x2, y2) {
|
|
281
|
-
this._drawLine((this._parentRect.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor + x1, (this._parentRect.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor + y1, (this._parentRect.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor + x2, (this._parentRect.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor + y2, 'svg-path-line');
|
|
282
|
-
}
|
|
283
|
-
_checkCircleIndex(p, circlePos) {
|
|
284
|
-
switch (p.type) {
|
|
285
|
-
case 'M':
|
|
286
|
-
case 'L':
|
|
287
|
-
if (p.values[0] == circlePos.x && p.values[1] == circlePos.y)
|
|
288
|
-
return true;
|
|
289
|
-
break;
|
|
290
|
-
case 'Q':
|
|
291
|
-
if (p.values[2] == circlePos.x && p.values[3] == circlePos.y)
|
|
292
|
-
return true;
|
|
293
|
-
break;
|
|
294
|
-
case 'C':
|
|
295
|
-
if (p.values[4] == circlePos.x && p.values[5] == circlePos.y)
|
|
296
|
-
return true;
|
|
297
|
-
break;
|
|
298
|
-
}
|
|
299
|
-
return false;
|
|
300
|
-
}
|
|
301
|
-
_rearrangeSvgElement() {
|
|
302
|
-
let newElementCoords = this.extendedItem.element.getBoundingClientRect();
|
|
303
|
-
let parentLeft = (newElementCoords.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor - this._offsetSvg;
|
|
304
|
-
let parentTop = (newElementCoords.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor - this._offsetSvg;
|
|
305
|
-
let heightSvgElement = newElementCoords.height / this.designerCanvas.scaleFactor + (2 * this._offsetSvg);
|
|
306
|
-
let widthSvgElement = newElementCoords.width / this.designerCanvas.scaleFactor + (2 * this._offsetSvg);
|
|
307
|
-
this.extendedItem.element.parentElement.style.setProperty("left", parentLeft.toString() + "px");
|
|
308
|
-
this.extendedItem.element.parentElement.style.setProperty("top", parentTop.toString() + "px");
|
|
309
|
-
this.extendedItem.element.parentElement.style.setProperty("height", Math.round(heightSvgElement).toString() + "px");
|
|
310
|
-
this.extendedItem.element.parentElement.style.setProperty("width", Math.round(widthSvgElement).toString() + "px");
|
|
311
|
-
}
|
|
312
|
-
_rearrangePointsFromElement(oldParentCoords, pathData) {
|
|
313
|
-
let newParentCoords = this.extendedItem.element.parentElement.getBoundingClientRect();
|
|
314
|
-
let diffX = (oldParentCoords.x - newParentCoords.x) / this.designerCanvas.scaleFactor - this._deltaScrollOffset.x;
|
|
315
|
-
let diffY = (oldParentCoords.y - newParentCoords.y) / this.designerCanvas.scaleFactor - this._deltaScrollOffset.y;
|
|
316
|
-
for (let i = 0; i < pathData.length; i++) {
|
|
317
|
-
pathData[i].values[0] = pathData[i].values[0] + diffX;
|
|
318
|
-
pathData[i].values[1] = pathData[i].values[1] + diffY;
|
|
319
|
-
}
|
|
320
|
-
this.extendedItem.element.setAttribute("d", createPathD(this._pathdata));
|
|
321
|
-
}
|
|
322
|
-
refresh() {
|
|
323
|
-
this._removeAllOverlays();
|
|
324
|
-
this.extend();
|
|
325
|
-
}
|
|
326
|
-
dispose() {
|
|
327
|
-
this._removeAllOverlays();
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
//# sourceMappingURL=PathExtension.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PathExtension.js","sourceRoot":"","sources":["../../../../../../src/elements/widgets/designerView/extensions/svg/PathExtension.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IDesignerExtensionProvider } from '../IDesignerExtensionProvider.js';
|
|
2
|
-
import { IDesignItem } from '../../../../item/IDesignItem.js';
|
|
3
|
-
import { IDesignerCanvas } from '../../IDesignerCanvas.js';
|
|
4
|
-
import { IDesignerExtension } from '../IDesignerExtension.js';
|
|
5
|
-
import { IExtensionManager } from '../IExtensionManger.js';
|
|
6
|
-
export declare class PathExtensionProvider implements IDesignerExtensionProvider {
|
|
7
|
-
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
|
-
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { PathExtension } from './PathExtension.js';
|
|
2
|
-
import { isVisualSvgElement } from '../../../../helper/SvgHelper.js';
|
|
3
|
-
export class PathExtensionProvider {
|
|
4
|
-
shouldExtend(extensionManager, designerView, designItem) {
|
|
5
|
-
if (designItem.node instanceof SVGPathElement) {
|
|
6
|
-
return isVisualSvgElement(designItem.node);
|
|
7
|
-
;
|
|
8
|
-
}
|
|
9
|
-
return false;
|
|
10
|
-
}
|
|
11
|
-
getExtension(extensionManager, designerView, designItem) {
|
|
12
|
-
return new PathExtension(extensionManager, designerView, designItem);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=PathExtensionProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PathExtensionProvider.js","sourceRoot":"","sources":["../../../../../../src/elements/widgets/designerView/extensions/svg/PathExtensionProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,OAAO,qBAAqB;IAChC,YAAY,CAAC,gBAAmC,EAAE,YAA6B,EAAE,UAAuB;QACtG,IAAI,UAAU,CAAC,IAAI,YAAY,cAAc,EAAE,CAAC;YAC9C,OAAO,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAAA,CAAC;QAC9C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,CAAC,gBAAmC,EAAE,YAA6B,EAAE,UAAuB;QACtG,OAAO,IAAI,aAAa,CAAC,gBAAgB,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;CACF"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { IRect } from '../../../../../interfaces/IRect.js';
|
|
2
|
-
import { IDesignItem } from '../../../../item/IDesignItem.js';
|
|
3
|
-
import { IDesignerCanvas } from '../../IDesignerCanvas.js';
|
|
4
|
-
import { AbstractExtension } from '../AbstractExtension.js';
|
|
5
|
-
import { IExtensionManager } from '../IExtensionManger.js';
|
|
6
|
-
export declare class RectExtension extends AbstractExtension {
|
|
7
|
-
private _parentRect;
|
|
8
|
-
private _rectElement;
|
|
9
|
-
private _circlePos;
|
|
10
|
-
private _startPos;
|
|
11
|
-
private _lastPos;
|
|
12
|
-
private _originalPoint;
|
|
13
|
-
private _x;
|
|
14
|
-
private _y;
|
|
15
|
-
private _w;
|
|
16
|
-
private _h;
|
|
17
|
-
private _circle1;
|
|
18
|
-
private _circle2;
|
|
19
|
-
private _circle3;
|
|
20
|
-
private _circle4;
|
|
21
|
-
private _startScrollOffset;
|
|
22
|
-
private _deltaScrollOffset;
|
|
23
|
-
private _rect;
|
|
24
|
-
private _parentCoordinates;
|
|
25
|
-
private _offsetSvg;
|
|
26
|
-
private _circleMoved;
|
|
27
|
-
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
28
|
-
extend(): void;
|
|
29
|
-
refresh(): void;
|
|
30
|
-
pointerEvent(event: PointerEvent, circle: SVGCircleElement, r: SVGRectElement, index: number): void;
|
|
31
|
-
_drawPathCircle(x: number, y: number, r: SVGRectElement, index: number, circle: SVGCircleElement): SVGCircleElement;
|
|
32
|
-
_redrawPathCircle(x: number, y: number, oldCircle: SVGCircleElement): SVGCircleElement;
|
|
33
|
-
_calculateRect(x: number, y: number, w: number, h: number): {
|
|
34
|
-
x: number;
|
|
35
|
-
y: number;
|
|
36
|
-
w: number;
|
|
37
|
-
h: number;
|
|
38
|
-
};
|
|
39
|
-
_getPointsFromRect(elementCoords: IRect): number[];
|
|
40
|
-
_getMinMaxValues(coords: any): {
|
|
41
|
-
xMin: number;
|
|
42
|
-
xMax: number;
|
|
43
|
-
yMin: number;
|
|
44
|
-
yMax: number;
|
|
45
|
-
};
|
|
46
|
-
_rearrangeSvgParent(newRectExtrema: any): void;
|
|
47
|
-
_rearrangePointsFromElement(oldParentCoords: IRect): void;
|
|
48
|
-
dispose(): void;
|
|
49
|
-
}
|