@leapfrog/interactive-canvas 2.0.8 → 2.0.9-beta.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/abstract-interactive-canvas.d.ts +372 -0
- package/dist/dimensions/millimeter-dimensions.d.ts +15 -0
- package/dist/dimensions/pixel-canvas-dimensions.d.ts +13 -0
- package/dist/dimensions/print-6-col-canvas-dimensions.d.ts +18 -0
- package/dist/dimensions/print-8-col-canvas-dimensions.d.ts +18 -0
- package/dist/font/font-library.d.ts +27 -0
- package/dist/font/font-library.interface.d.ts +24 -0
- package/dist/font/font.interface.d.ts +20 -0
- package/dist/font/unknown-font.d.ts +6 -0
- package/dist/headless-interactive-canvas.d.ts +10 -0
- package/dist/index.d.ts +54 -0
- package/dist/interactive-canvas.d.ts +25 -0
- package/dist/interactive-canvas.es.js +3995 -0
- package/dist/interactive-canvas.interface.d.ts +297 -0
- package/dist/interactive-canvas.js +4028 -0
- package/dist/layout/abstract-layout-manager.d.ts +17 -0
- package/dist/layout/advanced-layout-manager.d.ts +16 -0
- package/dist/layout/function/pin-to-bottom.layout-function.d.ts +4 -0
- package/dist/layout/function/redraw-all.layout-function.d.ts +4 -0
- package/dist/layout/function/reposition-backgrounds.layout-function.d.ts +4 -0
- package/dist/layout/function/reposition-borders.layout-function.d.ts +4 -0
- package/dist/layout/function/reposition-cutoffs.layout-function.d.ts +4 -0
- package/dist/layout/function/resize-canvas.layout-function.d.ts +4 -0
- package/dist/layout/function/stack-objects.layout-function.d.ts +11 -0
- package/dist/layout/function/update-object-dimensions.layout-function.d.ts +4 -0
- package/dist/layout/layout-manager.enum.d.ts +5 -0
- package/dist/layout/layout-manager.interface.d.ts +13 -0
- package/dist/layout/standard-layout-manager.d.ts +40 -0
- package/dist/mutator/mutable-background-color.interface.d.ts +15 -0
- package/dist/mutator/mutable-color.interface.d.ts +6 -0
- package/dist/mutator/mutable-image.interface.d.ts +28 -0
- package/dist/mutator/mutable-position.interface.d.ts +63 -0
- package/dist/mutator/mutable-stroke.interface.d.ts +8 -0
- package/dist/mutator/mutable-text-style.interface.d.ts +163 -0
- package/dist/mutator/mutable-text.interface.d.ts +80 -0
- package/dist/object/abstract-canvas-object.d.ts +207 -0
- package/dist/object/canvas-object-data.d.ts +24 -0
- package/dist/object/canvas-object.interface.d.ts +109 -0
- package/dist/object/impl/background-image.d.ts +38 -0
- package/dist/object/impl/border.d.ts +70 -0
- package/dist/object/impl/cutoff.d.ts +59 -0
- package/dist/object/impl/extended-fabric-object.interface.d.ts +7 -0
- package/dist/object/impl/extended-fabric-textbox.interface.d.ts +7 -0
- package/dist/object/impl/horizontal-rule.d.ts +83 -0
- package/dist/object/impl/image.d.ts +76 -0
- package/dist/object/impl/rectangle.d.ts +78 -0
- package/dist/object/impl/rich-text.d.ts +39 -0
- package/dist/object/impl/text.d.ts +314 -0
- package/dist/object/impl/vertical-rule.d.ts +83 -0
- package/dist/profile/canvas-profile.interface.d.ts +22 -0
- package/dist/profile/default-canvas-profile.d.ts +23 -0
- package/dist/types/canvas-dimension-restrictions.interface.d.ts +15 -0
- package/dist/types/canvas-dimensions.interface.d.ts +21 -0
- package/dist/types/canvas-state.interface.d.ts +11 -0
- package/dist/types/dimension-restrictions.interface.d.ts +6 -0
- package/dist/types/image-type.enum.d.ts +6 -0
- package/dist/types/margin.interface.d.ts +6 -0
- package/dist/types/object-dimensions.interface.d.ts +23 -0
- package/dist/types/object-type.enum.d.ts +12 -0
- package/dist/types/overflow.interface.d.ts +4 -0
- package/dist/types/position.interface.d.ts +9 -0
- package/dist/types/rect.interface.d.ts +6 -0
- package/dist/types/selection-data.interface.d.ts +19 -0
- package/dist/types/text-alignment.interface.d.ts +1 -0
- package/dist/undo-stack.d.ts +27 -0
- package/dist/undo-stack.interface.d.ts +6 -0
- package/package.json +30 -30
- package/readme.md +60 -60
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { Observable } from "rxjs";
|
|
2
|
+
import { ICanvasProfile, ILayoutManager, IMargin, IObjectDimensions, IOverflow, IPosition, ObjectType } from "..";
|
|
3
|
+
import { ICanvasObject } from "./canvas-object.interface";
|
|
4
|
+
import { CanvasObjectData } from "./canvas-object-data";
|
|
5
|
+
import { IInteractiveCanvas } from "../interactive-canvas.interface";
|
|
6
|
+
import { Object } from "fabric/fabric-impl";
|
|
7
|
+
export declare abstract class AbstractCanvasObject<T extends Object> implements ICanvasObject {
|
|
8
|
+
protected pinToBottomDistance: number;
|
|
9
|
+
protected canvas: IInteractiveCanvas;
|
|
10
|
+
protected fabricObject: T;
|
|
11
|
+
protected data: CanvasObjectData;
|
|
12
|
+
private readonly dimensions$;
|
|
13
|
+
private readonly opacity$;
|
|
14
|
+
/**
|
|
15
|
+
* Create a new instance.
|
|
16
|
+
* @param type Object type.
|
|
17
|
+
* @param canvas Interactive canvas that the field will be rendered on.
|
|
18
|
+
* @param fabricObject The fabric object to bind this field to.
|
|
19
|
+
* @param data Existing persisted field data to load from, if applicable.
|
|
20
|
+
*/
|
|
21
|
+
protected constructor(type: ObjectType, canvas: IInteractiveCanvas, fabricObject: any, data?: CanvasObjectData);
|
|
22
|
+
/**
|
|
23
|
+
* @override
|
|
24
|
+
* @inheritDoc
|
|
25
|
+
*/
|
|
26
|
+
getId(): string;
|
|
27
|
+
/**
|
|
28
|
+
* @override
|
|
29
|
+
* @inheritDoc
|
|
30
|
+
*/
|
|
31
|
+
getType(): ObjectType;
|
|
32
|
+
/**
|
|
33
|
+
* @override
|
|
34
|
+
* @inheritDoc
|
|
35
|
+
*/
|
|
36
|
+
getDescription(): string;
|
|
37
|
+
/**
|
|
38
|
+
* @override
|
|
39
|
+
* @inheritDoc
|
|
40
|
+
*/
|
|
41
|
+
setSortCaption(value: boolean): void;
|
|
42
|
+
/**
|
|
43
|
+
* @override
|
|
44
|
+
* @inheritDoc
|
|
45
|
+
*/
|
|
46
|
+
isSortCaption(): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* @override
|
|
49
|
+
* @inheritDoc
|
|
50
|
+
*/
|
|
51
|
+
getDimensions(): IObjectDimensions;
|
|
52
|
+
/**
|
|
53
|
+
* @override
|
|
54
|
+
* @inheritDoc
|
|
55
|
+
*/
|
|
56
|
+
getDimensions$(): Observable<IObjectDimensions>;
|
|
57
|
+
/**
|
|
58
|
+
* @override
|
|
59
|
+
* @inheritDoc
|
|
60
|
+
*/
|
|
61
|
+
getOpacity(): number;
|
|
62
|
+
/**
|
|
63
|
+
* @override
|
|
64
|
+
* @inheritDoc
|
|
65
|
+
*/
|
|
66
|
+
getOpacity$(): Observable<number>;
|
|
67
|
+
/**
|
|
68
|
+
* @override
|
|
69
|
+
* @inheritDoc
|
|
70
|
+
*/
|
|
71
|
+
setOpacity(value: number): void;
|
|
72
|
+
/**
|
|
73
|
+
* @override
|
|
74
|
+
* @inheritDoc
|
|
75
|
+
*/
|
|
76
|
+
getMargin(): IMargin;
|
|
77
|
+
/**
|
|
78
|
+
* @override
|
|
79
|
+
* @inheritDoc
|
|
80
|
+
*/
|
|
81
|
+
setMargin(margin: IMargin): void;
|
|
82
|
+
/**
|
|
83
|
+
* @override
|
|
84
|
+
* @inheritDoc
|
|
85
|
+
*/
|
|
86
|
+
getColumnWidthPercent(): number;
|
|
87
|
+
/**
|
|
88
|
+
* @override
|
|
89
|
+
* @inheritDoc
|
|
90
|
+
*/
|
|
91
|
+
setColumnWidthPercent(percent: number): void;
|
|
92
|
+
/**
|
|
93
|
+
* @override
|
|
94
|
+
* @inheritDoc
|
|
95
|
+
*/
|
|
96
|
+
bringForward(): void;
|
|
97
|
+
/**
|
|
98
|
+
* @override
|
|
99
|
+
* @inheritDoc
|
|
100
|
+
*/
|
|
101
|
+
bringToFront(): void;
|
|
102
|
+
/**
|
|
103
|
+
* @override
|
|
104
|
+
* @inheritDoc
|
|
105
|
+
*/
|
|
106
|
+
sendBackward(): void;
|
|
107
|
+
/**
|
|
108
|
+
* @override
|
|
109
|
+
* @inheritDoc
|
|
110
|
+
*/
|
|
111
|
+
sendToBack(): void;
|
|
112
|
+
/**
|
|
113
|
+
* @override
|
|
114
|
+
* @inheritDoc
|
|
115
|
+
*/
|
|
116
|
+
moveUp(): void;
|
|
117
|
+
/**
|
|
118
|
+
* @override
|
|
119
|
+
* @inheritDoc
|
|
120
|
+
*/
|
|
121
|
+
moveDown(): void;
|
|
122
|
+
/**
|
|
123
|
+
* @override
|
|
124
|
+
* @inheritDoc
|
|
125
|
+
*/
|
|
126
|
+
delete(): void;
|
|
127
|
+
/**
|
|
128
|
+
* @override
|
|
129
|
+
* @inheritDoc
|
|
130
|
+
*/
|
|
131
|
+
persist(): CanvasObjectData;
|
|
132
|
+
/**
|
|
133
|
+
* @override
|
|
134
|
+
* @inheritDoc
|
|
135
|
+
*/
|
|
136
|
+
isPinToBottom(): boolean;
|
|
137
|
+
/**
|
|
138
|
+
* @override
|
|
139
|
+
* @inheritDoc
|
|
140
|
+
*/
|
|
141
|
+
setPinToBottom(value?: boolean): void;
|
|
142
|
+
/**
|
|
143
|
+
* @override
|
|
144
|
+
* @inheritDoc
|
|
145
|
+
*/
|
|
146
|
+
setLeft(left: number): void;
|
|
147
|
+
/**
|
|
148
|
+
* @override
|
|
149
|
+
* @inheritDoc
|
|
150
|
+
*/
|
|
151
|
+
setTop(top: number): void;
|
|
152
|
+
/**
|
|
153
|
+
* @override
|
|
154
|
+
* @inheritDoc
|
|
155
|
+
*/
|
|
156
|
+
setHeight(height: number): void;
|
|
157
|
+
/**
|
|
158
|
+
* @override
|
|
159
|
+
* @inheritDoc
|
|
160
|
+
*/
|
|
161
|
+
setWidth(width: number): void;
|
|
162
|
+
/**
|
|
163
|
+
* @override
|
|
164
|
+
* @inheritDoc
|
|
165
|
+
*/
|
|
166
|
+
setAngle(angle: number): void;
|
|
167
|
+
/**
|
|
168
|
+
* @override
|
|
169
|
+
* @inheritDoc
|
|
170
|
+
*/
|
|
171
|
+
setScaleX(scale: number): void;
|
|
172
|
+
/**
|
|
173
|
+
* @override
|
|
174
|
+
* @inheritDoc
|
|
175
|
+
*/
|
|
176
|
+
setScaleY(scale: number): void;
|
|
177
|
+
/**
|
|
178
|
+
* Get the underlying fabric object.
|
|
179
|
+
* (Internal use only, do not expose this outside the canvas module).
|
|
180
|
+
*/
|
|
181
|
+
getFabricObjectInternal(): T;
|
|
182
|
+
setPosition(position: IPosition): void;
|
|
183
|
+
setCoords(): void;
|
|
184
|
+
updateDimensions(): void;
|
|
185
|
+
getBoundingBox(): {
|
|
186
|
+
top: number;
|
|
187
|
+
left: number;
|
|
188
|
+
width: number;
|
|
189
|
+
height: number;
|
|
190
|
+
};
|
|
191
|
+
moveToPinnedPosition(): void;
|
|
192
|
+
protected updatePinToBottomDistance(): void;
|
|
193
|
+
protected redraw(): void;
|
|
194
|
+
protected onProfileChange(profile: ICanvasProfile): void;
|
|
195
|
+
protected onLayoutManagerChange(layoutManager: ILayoutManager): void;
|
|
196
|
+
protected onMove(event: any): void;
|
|
197
|
+
protected onRotate(event: any): void;
|
|
198
|
+
protected onScale(event: any): void;
|
|
199
|
+
protected afterScale(event: any): void;
|
|
200
|
+
protected onDelete(): void;
|
|
201
|
+
protected preventLeavingCanvas(): void;
|
|
202
|
+
protected getCanvasOverflow(): IOverflow;
|
|
203
|
+
protected centerHorizontallyInternal(): void;
|
|
204
|
+
protected centerVerticallyInternal(): void;
|
|
205
|
+
protected nudgeInternal(x?: number, y?: number): void;
|
|
206
|
+
protected updateFabricObjectBehavior(): void;
|
|
207
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IMargin, IRect, ObjectType } from "..";
|
|
2
|
+
/**
|
|
3
|
+
* Data for a persisted canvas object.
|
|
4
|
+
*/
|
|
5
|
+
export declare class CanvasObjectData {
|
|
6
|
+
type: ObjectType;
|
|
7
|
+
id: string;
|
|
8
|
+
fieldName?: string;
|
|
9
|
+
pinToBottom?: boolean;
|
|
10
|
+
margin?: IMargin;
|
|
11
|
+
columnWidthPercent?: number;
|
|
12
|
+
color?: string;
|
|
13
|
+
strokeWidth?: number;
|
|
14
|
+
padding?: IRect;
|
|
15
|
+
editable?: boolean;
|
|
16
|
+
prefillType: string;
|
|
17
|
+
sortCaption?: boolean;
|
|
18
|
+
resizeCanvas: boolean;
|
|
19
|
+
placeholder?: string;
|
|
20
|
+
userText?: string;
|
|
21
|
+
bulleted?: boolean;
|
|
22
|
+
imagePath?: string;
|
|
23
|
+
constructor(type: ObjectType, id: string);
|
|
24
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { Observable } from "rxjs";
|
|
2
|
+
import { IMargin, IObjectDimensions, ObjectType } from "..";
|
|
3
|
+
import { CanvasObjectData } from "./canvas-object-data";
|
|
4
|
+
/**
|
|
5
|
+
* An object rendered on the {@link IInteractiveCanvas Interactive Canvas}.
|
|
6
|
+
*/
|
|
7
|
+
export interface ICanvasObject {
|
|
8
|
+
/**
|
|
9
|
+
* Get the field id.
|
|
10
|
+
*/
|
|
11
|
+
getId(): string;
|
|
12
|
+
/**
|
|
13
|
+
* Get the field type.
|
|
14
|
+
*/
|
|
15
|
+
getType(): ObjectType;
|
|
16
|
+
/**
|
|
17
|
+
* Get the field description, a user-friendly version of Type.
|
|
18
|
+
*/
|
|
19
|
+
getDescription(): string;
|
|
20
|
+
/**
|
|
21
|
+
* Set whether this field is to be used for the sort caption.
|
|
22
|
+
*/
|
|
23
|
+
setSortCaption(value: boolean): void;
|
|
24
|
+
/**
|
|
25
|
+
* True if this field is a sort caption.
|
|
26
|
+
*/
|
|
27
|
+
isSortCaption(): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Get object dimensions.
|
|
30
|
+
* @see IObjectDimensions.
|
|
31
|
+
*/
|
|
32
|
+
getDimensions(): IObjectDimensions;
|
|
33
|
+
/**
|
|
34
|
+
* Get an observable for the field dimensions.
|
|
35
|
+
*/
|
|
36
|
+
getDimensions$(): Observable<IObjectDimensions>;
|
|
37
|
+
/**
|
|
38
|
+
* Get object opacity.
|
|
39
|
+
*/
|
|
40
|
+
getOpacity(): number;
|
|
41
|
+
/**
|
|
42
|
+
* Get an observable for the object opacity.
|
|
43
|
+
*/
|
|
44
|
+
getOpacity$(): Observable<number>;
|
|
45
|
+
/**
|
|
46
|
+
* Set the object opacity.
|
|
47
|
+
* @param value Opacity.
|
|
48
|
+
*/
|
|
49
|
+
setOpacity(value: number): void;
|
|
50
|
+
/**
|
|
51
|
+
* Get the component margin.
|
|
52
|
+
*/
|
|
53
|
+
getMargin(): IMargin;
|
|
54
|
+
/**
|
|
55
|
+
* Set component margin.
|
|
56
|
+
* @param margin New margin.
|
|
57
|
+
*/
|
|
58
|
+
setMargin(margin: IMargin): void;
|
|
59
|
+
/**
|
|
60
|
+
* Get the column width percentage.
|
|
61
|
+
*/
|
|
62
|
+
getColumnWidthPercent(): number;
|
|
63
|
+
/**
|
|
64
|
+
* Set column width percentage.
|
|
65
|
+
* @param percent New value.
|
|
66
|
+
*/
|
|
67
|
+
setColumnWidthPercent(percent: number): void;
|
|
68
|
+
/**
|
|
69
|
+
* Bring object to front.
|
|
70
|
+
*/
|
|
71
|
+
bringToFront(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Bring object forward one place.
|
|
74
|
+
*/
|
|
75
|
+
bringForward(): void;
|
|
76
|
+
/**
|
|
77
|
+
* Send object backward one place.
|
|
78
|
+
*/
|
|
79
|
+
sendBackward(): void;
|
|
80
|
+
/**
|
|
81
|
+
* Send object to the back.
|
|
82
|
+
*/
|
|
83
|
+
sendToBack(): void;
|
|
84
|
+
/**
|
|
85
|
+
* Move the object up in the object list.
|
|
86
|
+
*/
|
|
87
|
+
moveUp(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Move the object down in the object list.
|
|
90
|
+
*/
|
|
91
|
+
moveDown(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Delete this object, removing it from the canvas.
|
|
94
|
+
*/
|
|
95
|
+
delete(): void;
|
|
96
|
+
/**
|
|
97
|
+
* Persist this object, returning a copy of the data block.
|
|
98
|
+
*/
|
|
99
|
+
persist(): CanvasObjectData;
|
|
100
|
+
/**
|
|
101
|
+
* Get whether the object is pinned to the bottom of the canvas.
|
|
102
|
+
*/
|
|
103
|
+
isPinToBottom(): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Set whether the object is pinned to the bottom of the canvas.
|
|
106
|
+
* @param value New value.
|
|
107
|
+
*/
|
|
108
|
+
setPinToBottom(value?: boolean): void;
|
|
109
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { AbstractCanvasObject, CanvasObjectData, IDimensionRestrictions, IInteractiveCanvas, IMutableImage } from "../..";
|
|
2
|
+
import { ICanvasObject } from "../canvas-object.interface";
|
|
3
|
+
import { fabric } from "fabric";
|
|
4
|
+
import { Observable } from "rxjs";
|
|
5
|
+
export interface IBackgroundImage extends ICanvasObject, IMutableImage {
|
|
6
|
+
updatePosition(): void;
|
|
7
|
+
}
|
|
8
|
+
export declare class BackgroundImage extends AbstractCanvasObject<fabric.Image> implements IBackgroundImage {
|
|
9
|
+
private readonly imageUrl$;
|
|
10
|
+
constructor(canvas: IInteractiveCanvas, fabricObject: fabric.Image, persistedField?: CanvasObjectData);
|
|
11
|
+
updatePosition(): void;
|
|
12
|
+
/**
|
|
13
|
+
* @override
|
|
14
|
+
* @inheritDoc
|
|
15
|
+
*/
|
|
16
|
+
protected updateFabricObjectBehavior(): void;
|
|
17
|
+
/**
|
|
18
|
+
* @override
|
|
19
|
+
* @inheritDoc
|
|
20
|
+
*/
|
|
21
|
+
getImageUrl(): string;
|
|
22
|
+
/**
|
|
23
|
+
* @override
|
|
24
|
+
* @inheritDoc
|
|
25
|
+
*/
|
|
26
|
+
getImageUrl$(): Observable<string>;
|
|
27
|
+
/**
|
|
28
|
+
* @override
|
|
29
|
+
* @inheritDoc
|
|
30
|
+
*/
|
|
31
|
+
setImageUrl(url: string): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* @override
|
|
34
|
+
* @inheritDoc
|
|
35
|
+
*/
|
|
36
|
+
setImageWidth(px: number, sizeRestrictions: IDimensionRestrictions): number;
|
|
37
|
+
private setCanvasImage;
|
|
38
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Observable } from "rxjs";
|
|
2
|
+
import { ICanvasObject } from "../canvas-object.interface";
|
|
3
|
+
import { IInteractiveCanvas, IMutableColor, IRect } from "../..";
|
|
4
|
+
import { AbstractCanvasObject } from "../abstract-canvas-object";
|
|
5
|
+
import { CanvasObjectData } from "../canvas-object-data";
|
|
6
|
+
import { fabric } from "fabric";
|
|
7
|
+
/**
|
|
8
|
+
* Border field. A rectangle with a stroke width that automatically follows the canvas border.
|
|
9
|
+
*/
|
|
10
|
+
export interface IBorder extends ICanvasObject, IMutableColor {
|
|
11
|
+
/**
|
|
12
|
+
* Get the width of the border stroke.
|
|
13
|
+
*/
|
|
14
|
+
getStrokeWidth(): number;
|
|
15
|
+
/**
|
|
16
|
+
* Get an observable of the width of the cutoff stroke.
|
|
17
|
+
*/
|
|
18
|
+
getStrokeWidth$(): Observable<number>;
|
|
19
|
+
/**
|
|
20
|
+
* Set the border stroke width.
|
|
21
|
+
* @param width New width.
|
|
22
|
+
*/
|
|
23
|
+
setStrokeWidth(width: number): void;
|
|
24
|
+
/**
|
|
25
|
+
* Get the padding within the border.
|
|
26
|
+
*/
|
|
27
|
+
getPadding(): IRect;
|
|
28
|
+
/**
|
|
29
|
+
* Set the padding within the border.
|
|
30
|
+
* @param padding New padding.
|
|
31
|
+
*/
|
|
32
|
+
setPadding(padding: any): void;
|
|
33
|
+
}
|
|
34
|
+
export declare class Border extends AbstractCanvasObject<fabric.Rect> implements IBorder {
|
|
35
|
+
private readonly strokeWidth$;
|
|
36
|
+
constructor(canvas: IInteractiveCanvas, fabricObject: fabric.Rect, persistedField?: CanvasObjectData);
|
|
37
|
+
/**
|
|
38
|
+
* @override
|
|
39
|
+
* @inheritDoc
|
|
40
|
+
*/
|
|
41
|
+
getColor(): string;
|
|
42
|
+
/**
|
|
43
|
+
* @override
|
|
44
|
+
* @inheritDoc
|
|
45
|
+
*/
|
|
46
|
+
setColor(color: string): void;
|
|
47
|
+
/**
|
|
48
|
+
* @override
|
|
49
|
+
* @inheritDoc
|
|
50
|
+
*/
|
|
51
|
+
getStrokeWidth(): number;
|
|
52
|
+
/**
|
|
53
|
+
* @override
|
|
54
|
+
* @inheritDoc
|
|
55
|
+
*/
|
|
56
|
+
getStrokeWidth$(): Observable<number>;
|
|
57
|
+
/**
|
|
58
|
+
* @override
|
|
59
|
+
* @inheritDoc
|
|
60
|
+
*/
|
|
61
|
+
setStrokeWidth(width: number): void;
|
|
62
|
+
getPadding(): IRect;
|
|
63
|
+
setPadding(padding: any): void;
|
|
64
|
+
updatePosition(): void;
|
|
65
|
+
/**
|
|
66
|
+
* @override
|
|
67
|
+
* @inheritDoc
|
|
68
|
+
*/
|
|
69
|
+
protected updateFabricObjectBehavior(): void;
|
|
70
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Observable } from "rxjs";
|
|
2
|
+
import { ICanvasObject } from "../canvas-object.interface";
|
|
3
|
+
import { IInteractiveCanvas, IMutableColor } from "../..";
|
|
4
|
+
import { AbstractCanvasObject } from "../abstract-canvas-object";
|
|
5
|
+
import { CanvasObjectData } from "../canvas-object-data";
|
|
6
|
+
import { fabric } from "fabric";
|
|
7
|
+
/**
|
|
8
|
+
* Cutoff field. A cutoff rule that sits on the bottom of the canvas.
|
|
9
|
+
*/
|
|
10
|
+
export interface ICutoff extends ICanvasObject, IMutableColor {
|
|
11
|
+
/**
|
|
12
|
+
* Get the width of the cutoff stroke.
|
|
13
|
+
*/
|
|
14
|
+
getStrokeWidth(): number;
|
|
15
|
+
/**
|
|
16
|
+
* Get an observable of the width of the cutoff stroke.
|
|
17
|
+
*/
|
|
18
|
+
getStrokeWidth$(): Observable<number>;
|
|
19
|
+
/**
|
|
20
|
+
* Set the cutoff stroke width.
|
|
21
|
+
* @param width New width.
|
|
22
|
+
*/
|
|
23
|
+
setStrokeWidth(width: number): void;
|
|
24
|
+
}
|
|
25
|
+
export declare class Cutoff extends AbstractCanvasObject<fabric.Rect> implements ICutoff {
|
|
26
|
+
private readonly strokeWidth$;
|
|
27
|
+
constructor(canvas: IInteractiveCanvas, fabricObject: fabric.Rect, persistedField?: CanvasObjectData);
|
|
28
|
+
/**
|
|
29
|
+
* @override
|
|
30
|
+
* @inheritDoc
|
|
31
|
+
*/
|
|
32
|
+
getColor(): string;
|
|
33
|
+
/**
|
|
34
|
+
* @override
|
|
35
|
+
* @inheritDoc
|
|
36
|
+
*/
|
|
37
|
+
setColor(color: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* @override
|
|
40
|
+
* @inheritDoc
|
|
41
|
+
*/
|
|
42
|
+
getStrokeWidth(): number;
|
|
43
|
+
/**
|
|
44
|
+
* @override
|
|
45
|
+
* @inheritDoc
|
|
46
|
+
*/
|
|
47
|
+
getStrokeWidth$(): Observable<number>;
|
|
48
|
+
/**
|
|
49
|
+
* @override
|
|
50
|
+
* @inheritDoc
|
|
51
|
+
*/
|
|
52
|
+
setStrokeWidth(width: number): void;
|
|
53
|
+
updatePosition(): void;
|
|
54
|
+
/**
|
|
55
|
+
* @override
|
|
56
|
+
* @inheritDoc
|
|
57
|
+
*/
|
|
58
|
+
protected updateFabricObjectBehavior(): void;
|
|
59
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { fabric } from "fabric";
|
|
2
|
+
export interface ExtendedFabricObject extends fabric.Object {
|
|
3
|
+
/**
|
|
4
|
+
* If true, this object is a slave object controlled by another object and not directly by the user, such as the line markers in an ordered list.
|
|
5
|
+
*/
|
|
6
|
+
_isSlaveObject?: boolean;
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { fabric } from "fabric";
|
|
2
|
+
import { ExtendedFabricObject } from "./extended-fabric-object.interface";
|
|
3
|
+
export interface ExtendedFabricTextbox extends fabric.Textbox, ExtendedFabricObject {
|
|
4
|
+
_isOrderedList?: boolean;
|
|
5
|
+
_orderedListStart?: number;
|
|
6
|
+
_orderedListMarkerEntities?: fabric.Textbox[];
|
|
7
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Observable } from "rxjs";
|
|
2
|
+
import { ICanvasObject } from "../canvas-object.interface";
|
|
3
|
+
import { IInteractiveCanvas, IMutableColor, IMutablePosition } from "../..";
|
|
4
|
+
import { AbstractCanvasObject } from "../abstract-canvas-object";
|
|
5
|
+
import { CanvasObjectData } from "../canvas-object-data";
|
|
6
|
+
import { fabric } from "fabric";
|
|
7
|
+
/**
|
|
8
|
+
* Horizontal rule. A basic block of color in a thin line across the canvas.
|
|
9
|
+
*/
|
|
10
|
+
export interface IHorizontalRule extends ICanvasObject, IMutableColor, IMutablePosition {
|
|
11
|
+
/**
|
|
12
|
+
* Get the width of the rule.
|
|
13
|
+
*/
|
|
14
|
+
getStrokeWidth(): number;
|
|
15
|
+
/**
|
|
16
|
+
* Get an observable of the width of the rule.
|
|
17
|
+
*/
|
|
18
|
+
getStrokeWidth$(): Observable<number>;
|
|
19
|
+
/**
|
|
20
|
+
* Set the rule width.
|
|
21
|
+
* @param width New width.
|
|
22
|
+
*/
|
|
23
|
+
setStrokeWidth(width: number): void;
|
|
24
|
+
}
|
|
25
|
+
export declare class HorizontalRule extends AbstractCanvasObject<fabric.Rect> implements IHorizontalRule {
|
|
26
|
+
private readonly strokeWidth$;
|
|
27
|
+
constructor(canvas: IInteractiveCanvas, fabricObject: fabric.Rect, persistedField?: CanvasObjectData);
|
|
28
|
+
/**
|
|
29
|
+
* @override
|
|
30
|
+
* @inheritDoc
|
|
31
|
+
*/
|
|
32
|
+
getStrokeWidth(): number;
|
|
33
|
+
/**
|
|
34
|
+
* @override
|
|
35
|
+
* @inheritDoc
|
|
36
|
+
*/
|
|
37
|
+
getStrokeWidth$(): Observable<number>;
|
|
38
|
+
/**
|
|
39
|
+
* @override
|
|
40
|
+
* @inheritDoc
|
|
41
|
+
*/
|
|
42
|
+
setStrokeWidth(value: number): void;
|
|
43
|
+
/**
|
|
44
|
+
* @override
|
|
45
|
+
* @inheritDoc
|
|
46
|
+
*/
|
|
47
|
+
getColor(): string;
|
|
48
|
+
/**
|
|
49
|
+
* @override
|
|
50
|
+
* @inheritDoc
|
|
51
|
+
*/
|
|
52
|
+
setColor(color: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* @override
|
|
55
|
+
* @inheritDoc
|
|
56
|
+
*/
|
|
57
|
+
centerHorizontally(): void;
|
|
58
|
+
/**
|
|
59
|
+
* @override
|
|
60
|
+
* @inheritDoc
|
|
61
|
+
*/
|
|
62
|
+
centerVertically(): void;
|
|
63
|
+
/**
|
|
64
|
+
* @override
|
|
65
|
+
* @inheritDoc
|
|
66
|
+
*/
|
|
67
|
+
nudgeUp(): void;
|
|
68
|
+
/**
|
|
69
|
+
* @override
|
|
70
|
+
* @inheritDoc
|
|
71
|
+
*/
|
|
72
|
+
nudgeDown(): void;
|
|
73
|
+
/**
|
|
74
|
+
* @override
|
|
75
|
+
* @inheritDoc
|
|
76
|
+
*/
|
|
77
|
+
nudgeLeft(): void;
|
|
78
|
+
/**
|
|
79
|
+
* @override
|
|
80
|
+
* @inheritDoc
|
|
81
|
+
*/
|
|
82
|
+
nudgeRight(): void;
|
|
83
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { IDimensionRestrictions, IInteractiveCanvas, IMutableImage, IMutablePosition, IPosition } from "../..";
|
|
2
|
+
import { ICanvasObject } from "../canvas-object.interface";
|
|
3
|
+
import { AbstractCanvasObject } from "../abstract-canvas-object";
|
|
4
|
+
import { Observable } from "rxjs";
|
|
5
|
+
import { CanvasObjectData } from "../canvas-object-data";
|
|
6
|
+
import { fabric } from "fabric";
|
|
7
|
+
/**
|
|
8
|
+
* Image field. Displays a custom image on the canvas.
|
|
9
|
+
*/
|
|
10
|
+
export interface IImage extends ICanvasObject, IMutableImage, IMutablePosition {
|
|
11
|
+
}
|
|
12
|
+
export declare class Image extends AbstractCanvasObject<fabric.Image> implements IImage {
|
|
13
|
+
private readonly DEFAULT_RESTRICTIONS;
|
|
14
|
+
private layoutWidth;
|
|
15
|
+
private readonly imageUrl$;
|
|
16
|
+
constructor(canvas: IInteractiveCanvas, fabricObject: fabric.Image, persistedField?: CanvasObjectData);
|
|
17
|
+
/**
|
|
18
|
+
* @override
|
|
19
|
+
* @inheritDoc
|
|
20
|
+
*/
|
|
21
|
+
getImageUrl(): string;
|
|
22
|
+
/**
|
|
23
|
+
* @override
|
|
24
|
+
* @inheritDoc
|
|
25
|
+
*/
|
|
26
|
+
getImageUrl$(): Observable<string>;
|
|
27
|
+
/**
|
|
28
|
+
* @override
|
|
29
|
+
* @inheritDoc
|
|
30
|
+
*/
|
|
31
|
+
setImageUrl(url: string): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* @override
|
|
34
|
+
* @inheritDoc
|
|
35
|
+
*/
|
|
36
|
+
setImageWidth(px: number, sizeRestrictions?: IDimensionRestrictions): number;
|
|
37
|
+
/**
|
|
38
|
+
* @override
|
|
39
|
+
* @inheritDoc
|
|
40
|
+
*/
|
|
41
|
+
centerHorizontally(): void;
|
|
42
|
+
/**
|
|
43
|
+
* @override
|
|
44
|
+
* @inheritDoc
|
|
45
|
+
*/
|
|
46
|
+
centerVertically(): void;
|
|
47
|
+
/**
|
|
48
|
+
* @override
|
|
49
|
+
* @inheritDoc
|
|
50
|
+
*/
|
|
51
|
+
nudgeUp(): void;
|
|
52
|
+
/**
|
|
53
|
+
* @override
|
|
54
|
+
* @inheritDoc
|
|
55
|
+
*/
|
|
56
|
+
nudgeDown(): void;
|
|
57
|
+
/**
|
|
58
|
+
* @override
|
|
59
|
+
* @inheritDoc
|
|
60
|
+
*/
|
|
61
|
+
nudgeLeft(): void;
|
|
62
|
+
/**
|
|
63
|
+
* @override
|
|
64
|
+
* @inheritDoc
|
|
65
|
+
*/
|
|
66
|
+
nudgeRight(): void;
|
|
67
|
+
/**
|
|
68
|
+
* @override
|
|
69
|
+
* @inheritDoc
|
|
70
|
+
*/
|
|
71
|
+
setPosition(position: IPosition): void;
|
|
72
|
+
private centerHorizontallyInLayoutWidth;
|
|
73
|
+
private setCanvasImage;
|
|
74
|
+
private getMinWidthBasedOnMinHeight;
|
|
75
|
+
private getMaxWidthBasedOnMaxHeight;
|
|
76
|
+
}
|