@syncfusion/ej2-image-editor 21.1.35 → 21.1.36

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.
Files changed (107) hide show
  1. package/.eslintrc.json +1 -0
  2. package/CHANGELOG.md +50 -0
  3. package/dist/ej2-image-editor.umd.min.js +2 -2
  4. package/dist/ej2-image-editor.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-image-editor.es2015.js +19332 -12536
  6. package/dist/es6/ej2-image-editor.es2015.js.map +1 -1
  7. package/dist/es6/ej2-image-editor.es5.js +19360 -12537
  8. package/dist/es6/ej2-image-editor.es5.js.map +1 -1
  9. package/dist/global/ej2-image-editor.min.js +2 -2
  10. package/dist/global/ej2-image-editor.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +11 -11
  13. package/src/image-editor/action/crop.d.ts +36 -0
  14. package/src/image-editor/action/crop.js +829 -0
  15. package/src/image-editor/action/draw.d.ts +125 -0
  16. package/src/image-editor/action/draw.js +3263 -0
  17. package/src/image-editor/action/export.d.ts +23 -0
  18. package/src/image-editor/action/export.js +364 -0
  19. package/src/image-editor/action/filter.d.ts +35 -0
  20. package/src/image-editor/action/filter.js +699 -0
  21. package/src/image-editor/action/freehand-draw.d.ts +61 -0
  22. package/src/image-editor/action/freehand-draw.js +1015 -0
  23. package/src/image-editor/action/index.d.ts +9 -0
  24. package/src/image-editor/action/index.js +9 -0
  25. package/src/image-editor/action/selection.d.ts +139 -0
  26. package/src/image-editor/action/selection.js +4518 -0
  27. package/src/image-editor/action/shape.d.ts +94 -0
  28. package/src/image-editor/action/shape.js +2745 -0
  29. package/src/image-editor/action/transform.d.ts +67 -0
  30. package/src/image-editor/action/transform.js +1859 -0
  31. package/src/image-editor/action/undo-redo.d.ts +43 -0
  32. package/src/image-editor/action/undo-redo.js +800 -0
  33. package/src/image-editor/base/enum.d.ts +189 -0
  34. package/src/image-editor/base/enum.js +198 -0
  35. package/src/image-editor/{image-editor-model.d.ts → base/image-editor-model.d.ts} +130 -41
  36. package/src/image-editor/{image-editor.d.ts → base/image-editor.d.ts} +413 -1107
  37. package/src/image-editor/base/image-editor.js +2270 -0
  38. package/src/image-editor/base/index.d.ts +4 -0
  39. package/src/image-editor/base/index.js +2 -0
  40. package/src/image-editor/base/interface.d.ts +1128 -0
  41. package/src/image-editor/base/interface.js +1 -0
  42. package/src/image-editor/index.d.ts +3 -5
  43. package/src/image-editor/index.js +3 -4
  44. package/src/image-editor/renderer/index.d.ts +1 -0
  45. package/src/image-editor/renderer/index.js +1 -0
  46. package/src/image-editor/renderer/toolbar.d.ts +105 -0
  47. package/src/image-editor/renderer/toolbar.js +3018 -0
  48. package/styles/bootstrap-dark.css +69 -3
  49. package/styles/bootstrap.css +69 -3
  50. package/styles/bootstrap4.css +69 -3
  51. package/styles/bootstrap5-dark.css +69 -3
  52. package/styles/bootstrap5.css +69 -3
  53. package/styles/fabric-dark.css +69 -3
  54. package/styles/fabric.css +69 -3
  55. package/styles/fluent-dark.css +69 -3
  56. package/styles/fluent.css +69 -3
  57. package/styles/highcontrast-light.css +71 -5
  58. package/styles/highcontrast.css +72 -5
  59. package/styles/image-editor/_highcontrast-definition.scss +1 -1
  60. package/styles/image-editor/_highcontrast-light-definition.scss +1 -1
  61. package/styles/image-editor/_layout.scss +21 -7
  62. package/styles/image-editor/_material3-dark-definition.scss +1 -0
  63. package/styles/image-editor/_material3-definition.scss +11 -0
  64. package/styles/image-editor/_theme.scss +7 -2
  65. package/styles/image-editor/bootstrap-dark.css +69 -3
  66. package/styles/image-editor/bootstrap.css +69 -3
  67. package/styles/image-editor/bootstrap4.css +69 -3
  68. package/styles/image-editor/bootstrap5-dark.css +69 -3
  69. package/styles/image-editor/bootstrap5.css +69 -3
  70. package/styles/image-editor/fabric-dark.css +69 -3
  71. package/styles/image-editor/fabric.css +69 -3
  72. package/styles/image-editor/fluent-dark.css +69 -3
  73. package/styles/image-editor/fluent.css +69 -3
  74. package/styles/image-editor/highcontrast-light.css +71 -5
  75. package/styles/image-editor/highcontrast.css +72 -5
  76. package/styles/image-editor/icons/_bootstrap-dark.scss +132 -0
  77. package/styles/image-editor/icons/_bootstrap.scss +132 -0
  78. package/styles/image-editor/icons/_bootstrap4.scss +132 -0
  79. package/styles/image-editor/icons/_bootstrap5.scss +132 -0
  80. package/styles/image-editor/icons/_fabric-dark.scss +132 -0
  81. package/styles/image-editor/icons/_fabric.scss +132 -0
  82. package/styles/image-editor/icons/_fluent.scss +132 -0
  83. package/styles/image-editor/icons/_fusionnew.scss +132 -0
  84. package/styles/image-editor/icons/_highcontrast-light.scss +132 -0
  85. package/styles/image-editor/icons/_highcontrast.scss +132 -0
  86. package/styles/image-editor/icons/_material-dark.scss +132 -0
  87. package/styles/image-editor/icons/_material.scss +132 -0
  88. package/styles/image-editor/icons/_material3-dark.scss +1 -0
  89. package/styles/image-editor/icons/_material3.scss +133 -1
  90. package/styles/image-editor/icons/_tailwind.scss +132 -0
  91. package/styles/image-editor/material-dark.css +69 -3
  92. package/styles/image-editor/material.css +69 -3
  93. package/styles/image-editor/material3-dark.css +453 -0
  94. package/styles/image-editor/material3-dark.scss +14 -0
  95. package/styles/image-editor/material3.css +509 -0
  96. package/styles/image-editor/material3.scss +14 -0
  97. package/styles/image-editor/tailwind-dark.css +69 -3
  98. package/styles/image-editor/tailwind.css +69 -3
  99. package/styles/material-dark.css +69 -3
  100. package/styles/material.css +69 -3
  101. package/styles/material3-dark.css +453 -0
  102. package/styles/material3-dark.scss +3 -0
  103. package/styles/material3.css +509 -0
  104. package/styles/material3.scss +3 -0
  105. package/styles/tailwind-dark.css +69 -3
  106. package/styles/tailwind.css +69 -3
  107. package/src/image-editor/image-editor.js +0 -14729
@@ -1,31 +1,15 @@
1
- import { Component, INotifyPropertyChanged } from '@syncfusion/ej2-base';
1
+ import { Component, INotifyPropertyChanged, ModuleDeclaration, BlazorDotnetObject } from '@syncfusion/ej2-base';
2
2
  import { EmitType } from '@syncfusion/ej2-base';
3
3
  import { ItemModel, ClickEventArgs } from '@syncfusion/ej2-navigations';
4
4
  import { ChildProperty } from '@syncfusion/ej2-base';
5
- import { ImageEditorModel, FinetuneSettingsModel, ZoomSettingsModel } from './image-editor-model';
6
- /**
7
- * This interface is used to specify settings for image finetuning operations, including minimum and maximum values, as well as default values.
8
- */
9
- export interface ImageFinetuneValue {
10
- /**
11
- * Specifies the minimum value of finetune option.
12
- *
13
- * @default null
14
- */
15
- min: number;
16
- /**
17
- * Specifies the maximum value of finetune option.
18
- *
19
- * @default null
20
- */
21
- max: number;
22
- /**
23
- * Specifies the default value of finetune option.
24
- *
25
- * @default null
26
- */
27
- defaultValue: number;
28
- }
5
+ import { ImageEditorModel, FinetuneSettingsModel, ZoomSettingsModel, SelectionSettingsModel } from './image-editor-model';
6
+ import { SelectionChangeEventArgs, Transition, ArrowheadType } from './../index';
7
+ import { ZoomEventArgs, PanEventArgs, CropEventArgs, RotateEventArgs, FlipEventArgs, ShapeChangeEventArgs } from './../index';
8
+ import { ToolbarEventArgs, OpenEventArgs, SaveEventArgs, BeforeSaveEventArgs, Point, ShapeSettings, ImageFilterEventArgs } from './../index';
9
+ import { FinetuneEventArgs, QuickAccessToolbarEventArgs, CurrentObject, ImageDimension, TransformValue, PanPoint } from './../index';
10
+ import { Interaction, SelectionPoint, ImageFinetuneValue, Dimension, ActivePoint, ImageEditorClickEventArgs } from './../index';
11
+ import { Direction, ZoomTrigger, Theme, ImageEditorCommand, ImageFilterOption, ImageFinetuneOption } from './../index';
12
+ import { ItemModel as DropDownButtonItemModel } from '@syncfusion/ej2-splitbuttons';
29
13
  /**
30
14
  * This interface is used to specify settings for finetuning operations on images, including brightness, contrast, hue, saturation, exposure, opacity, and blur. It includes properties for setting minimum and maximum values for each of these options, as well as a default value.
31
15
  */
@@ -125,13 +109,13 @@ export declare class ZoomSettings extends ChildProperty<ZoomSettings> {
125
109
  * By default, this property is set to `null`, which enables all types of zooming.
126
110
  *
127
111
  * @default null
112
+ * @aspNumberEnum
128
113
  */
129
114
  zoomTrigger: ZoomTrigger;
130
115
  /**
131
116
  * Specifies the minimum zooming level to limit the zooming.
132
117
  * An integer value that specifies the minimum zooming level. And the default value is 1 (100%).
133
118
  *
134
- * @private
135
119
  * @remarks
136
120
  * The given value is considered as percentage.
137
121
  *
@@ -166,166 +150,132 @@ export declare class ZoomSettings extends ChildProperty<ZoomSettings> {
166
150
  */
167
151
  zoomPoint: Point;
168
152
  }
153
+ /**
154
+ * This interface is used to specify settings for selection operations on images, including visibility, stroke color and fill color.
155
+ */
156
+ export declare class SelectionSettings extends ChildProperty<SelectionSettings> {
157
+ /**
158
+ * Specifies a boolean value whether to show circle on selection in the image editor.
159
+ *
160
+ * @type {boolean}
161
+ *
162
+ * @default true
163
+ */
164
+ showCircle: boolean;
165
+ /**
166
+ * Represents stroke color of circle selection in the image editor.
167
+ *
168
+ * @type {string}
169
+ *
170
+ * @default null
171
+ */
172
+ strokeColor: string;
173
+ /**
174
+ * Represents fill color of circle selection in the image editor.
175
+ *
176
+ * @type {string}
177
+ *
178
+ * @default null
179
+ */
180
+ fillColor: string;
181
+ }
169
182
  /**
170
183
  * The Image Editor is a graphical user interface for editing images.
171
184
  *
185
+ * {% codeBlock src='image-editor/default/index.md' %}{% endcodeBlock %}
186
+ *
172
187
  * @remarks
173
188
  * The Image Editor component provides various image editing features such as zooming, cropping, rotating, inserting text and shapes (rectangles, ellipses, and lines), drawing freehand on top of an image, undo/redo, and more.
174
189
  *
175
- * {% codeBlock src='image-editor/default/index.md' %}{% endcodeBlock %}
176
- *
177
190
  */
178
191
  export declare class ImageEditor extends Component<HTMLDivElement> implements INotifyPropertyChanged {
179
192
  /**
180
193
  *
181
194
  * Image Editor Private Properties
182
195
  */
183
- private lowerCanvas;
196
+ /** @hidden */
197
+ isImageLoaded: boolean;
198
+ /** @hidden */
199
+ baseImg: HTMLImageElement;
200
+ /** @hidden */
201
+ lowerCanvas: HTMLCanvasElement;
202
+ /** @hidden */
203
+ upperCanvas: HTMLCanvasElement;
204
+ /** @hidden */
205
+ inMemoryCanvas: HTMLCanvasElement;
206
+ /** @hidden */
207
+ textArea: HTMLInputElement;
208
+ /** @hidden */
209
+ activeObj: SelectionPoint;
210
+ /** @hidden */
211
+ currObjType: Interaction;
212
+ /** @hidden */
213
+ objColl: SelectionPoint[];
214
+ /** @hidden */
215
+ pointColl: any;
216
+ /** @hidden */
217
+ freehandCounter: number;
218
+ /** @hidden */
219
+ points: Point[];
220
+ /** @hidden */
221
+ togglePen: boolean;
222
+ /** @hidden */
223
+ togglePan: boolean;
224
+ /** @hidden */
225
+ img: ImageDimension;
226
+ /** @hidden */
227
+ themeColl: Object;
228
+ /** @hidden */
229
+ rotateFlipColl: any;
230
+ /** @hidden */
231
+ cropObj: CurrentObject;
232
+ /** @hidden */
233
+ afterCropActions: string[];
234
+ /** @hidden */
235
+ currSelectionPoint: SelectionPoint;
236
+ /** @hidden */
237
+ transform: TransformValue;
238
+ /** @hidden */
239
+ panPoint: PanPoint;
240
+ /** @hidden */
241
+ isUndoRedo: boolean;
242
+ /** @hidden */
243
+ isCropTab: boolean;
244
+ /** @hidden */
245
+ isCircleCrop: boolean;
246
+ /** @hidden */
247
+ fontSizeColl: DropDownButtonItemModel[];
248
+ /** @hidden */
249
+ initialAdjustmentValue: string;
250
+ /** @hidden */
251
+ currentFilter: string;
252
+ /** @hidden */
253
+ canvasFilter: string;
254
+ /** @hidden */
255
+ dotNetRef: BlazorDotnetObject;
256
+ /** @hidden */
257
+ toolbarHeight: number;
258
+ /** @hidden */
259
+ events: any;
260
+ /** @hidden */
261
+ isPublicMethod: boolean;
262
+ /** @hidden */
263
+ cancelCropSelection: Transition;
264
+ /** @hidden */
265
+ isCropToolbar: boolean;
266
+ /** @hidden */
267
+ prevCurrSelectionPoint: SelectionPoint;
268
+ /** @hidden */
269
+ cursor: string;
270
+ /** @hidden */
271
+ eventType: string;
272
+ /** @hidden */
273
+ panEventArgs: PanEventArgs;
184
274
  private lowerContext;
185
- private upperCanvas;
186
275
  private upperContext;
187
- private inMemoryCanvas;
188
276
  private inMemoryContext;
189
- private baseImg;
190
- private textArea;
191
- private degree;
192
- private isUndoRedo;
193
- private dragCanvas;
194
- private dragElement;
195
- private keyHistory;
196
- private tempKeyHistory;
197
- private mouseDownPoint;
198
- private previousPoint;
199
- private dragPoint;
200
- private diffPoint;
201
- private oldPoint;
202
- private objColl;
203
- private undoRedoColl;
204
- private isImageLoaded;
205
- private strokeSettings;
206
- private tempStrokeSettings;
207
- private textSettings;
208
- private tempTextSettings;
209
- private penStrokeWidth;
210
- private toolbarHeight;
211
- private togglePan;
212
- private disablePan;
213
- private currFlipState;
214
- private touchEndPoint;
215
- private undoRedoStep;
216
- private togglePen;
217
- private currentToolbar;
218
- private textStartPoints;
219
- private fontSizeColl;
220
- private textRow;
221
- private activeObj;
222
- private tempActiveObj;
223
- private currObjType;
224
- private defToolbarItems;
225
- private defaultLocale;
226
- private l10n;
227
- private themeColl;
228
277
  private toolbarFn;
229
- private quickAccessToolbarFn;
230
- private timer;
231
- private tempObjColl;
232
- private isFirstMove;
233
- private startTouches;
234
- private tempTouches;
235
- private adjustmentLevel;
236
- private tempAdjustmentLevel;
237
- private adjustmentValue;
238
- private initialAdjustmentValue;
239
- private tempAdjustmentValue;
240
- private currentFilter;
241
- private tempFilter;
242
- private canvasFilter;
243
- private tempUndoRedoStep;
244
- private zoomFactor;
245
- private tempZoomFactor;
246
- private destLeft;
247
- private destTop;
248
- private destWidth;
249
- private destHeight;
250
- private srcLeft;
251
- private srcTop;
252
- private srcWidth;
253
- private srcHeight;
254
- private currSelectionPoint;
255
- private currDestinationPoint;
256
- private cropDestPoints;
257
- private panDown;
258
- private panMove;
259
- private tempPanMove;
260
- private flipColl;
261
- private isReverseRotate;
262
- private isReverseFlip;
263
- private isPreventDragging;
264
- private isRotateZoom;
265
- private rotateFlipColl;
266
- private currentPannedPoint;
267
- private isCircleCrop;
268
- private rotatedDestPoints;
269
- private croppedDegree;
270
- private freehandDrawHoveredIndex;
271
- private freehandDrawSelectedIndex;
272
- private isFreehandDrawingPoint;
273
- private isFreehandDrawEditing;
274
- private tempFreeHandDrawEditingStyles;
275
- private totalPannedInternalPoint;
276
- private totalPannedClientPoint;
277
- private currentSelectionPoint;
278
- private totalPannedPoint;
279
- private isCropTab;
280
- private cropZoomFactor;
281
- private defaultZoomFactor;
282
- private fileName;
283
- private isBrightnessAdjusted;
284
- private isInitialLoading;
285
- private fileType;
286
- private freehandDrawObj;
287
- private points;
288
- private pointColl;
289
- private pointCounter;
290
- private freehandCounter;
291
- private isFreehandDrawing;
292
- private tempFreehandCounter;
293
- private tempActObj;
294
- private selectedFreehandColor;
295
- private isFreehandDrawCustomized;
296
- private isAllowCropPan;
297
- private cropObj;
298
- private afterCropActions;
299
- private isCancelAction;
300
- private isFreehandPointMoved;
301
- private isTouch;
302
- private freehandDownPoint;
303
- private tempFlipPanPoint;
304
- private currentFreehandDrawIndex;
305
- private tempCurrentFreehandDrawIndex;
306
- private preventZoomBtn;
307
- private cancelObjColl;
308
- private cancelPointColl;
309
- private rotatedFlipCropSelection;
310
- private freehandDrawSelectedId;
311
- private transformCurrentObj;
312
- private currToolbar;
313
- private currentMouseMovePoint;
314
- private previousCropCurrentObj;
315
- private zoomBtnHold;
316
- private zoomType;
317
- private cursorTargetObjId;
318
- private appliedUndoRedoColl;
319
- private selPoints;
320
- private selPointColl;
321
- private prevActObj;
322
- private tempCurrSelectionPoint;
323
- private previousZoomValue;
324
- private initialZoomValue;
325
- private isObjSelected;
326
- private isShapeInserted;
327
- private isInitialTextEdited;
328
- private isShapeTextInserted;
278
+ private qatFn;
329
279
  /**
330
280
  * Defines one or more CSS classes that can be used to customize the appearance of an Image Editor component.
331
281
  *
@@ -387,7 +337,7 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
387
337
  * If the property is defined as empty collection, the toolbar will not be rendered.
388
338
  * The preconfigured toolbar commands are
389
339
  * - Crop: helps to crop an image as ellipse, square, various ratio aspects, custom selection with resize, drag and drop.
390
- * - Annotate: help to insert a shape on image that supports rectangle, ellipse, line, arrow, text and freehand drawing with resize, drag and drop, and customize its appearance.
340
+ * - Annotate: help to insert a shape on image that supports rectangle, ellipse, line, arrow, path, text and freehand drawing with resize, drag and drop, and customize its appearance.
391
341
  * - Transform: helps to rotate and flip an image.
392
342
  * - Finetunes: helps to perform adjustments on an image.
393
343
  * - Filters: helps to perform predefined color filters.
@@ -397,35 +347,29 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
397
347
  * - Open: open an image to perform editing.
398
348
  * - Reset: reset the modification and restore the original image.
399
349
  *
400
- * @example
401
- * // Define toolbar items as an array of strings
402
- * var toolbarItems = ["Crop", "Annotate", "Transform", "ZoomIn", "ZoomOut", "Pan", "Move", "Save", "Open", "Reset"];
403
- *
404
- * // Define toolbar items as an array of ItemModel objects
405
- * var toolbarItems = [
406
- * { text: "Crop", tooltipText: "Crop", prefixIcon: "e-icon e-crop-icon" }
407
- * ]
350
+ * {% codeBlock src='image-editor/toolbar/index.md' %}{% endcodeBlock %}
408
351
  *
409
352
  * @remarks
410
353
  * If the toolbarTemplate property is defined in the control, the toolbar will be rendered based on the toolbarTemplate property.
411
354
  * @default null
412
355
  *
413
- * {% codeBlock src='image-editor/toolbar/index.md' %}{% endcodeBlock %}
414
356
  */
415
357
  toolbar: (string | ImageEditorCommand | ItemModel)[];
416
358
  /**
417
359
  * Specifies a custom template for the toolbar of an image editor control.
418
360
  * A string that specifies a custom template for the toolbar of the image editor. If this property is defined, the 'toolbar' property will not have any effect.
419
361
  *
362
+ * {% codeBlock src='image-editor/toolbarTemplate/index.md' %}{% endcodeBlock %}
363
+ *
420
364
  * @remarks
421
365
  * Use this property if you want to customize the entire toolbar in your own way. The template should be a string that contains the HTML markup for the custom toolbar.
422
366
  *
423
367
  * @default null
368
+ * @aspType string
424
369
  *
425
- * {% codeBlock src='image-editor/toolbarTemplate/index.md' %}{% endcodeBlock %}
426
370
  *
427
371
  */
428
- toolbarTemplate: string;
372
+ toolbarTemplate: string | Function;
429
373
  /**
430
374
  * Specifies the width of an Image Editor.
431
375
  *
@@ -448,32 +392,53 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
448
392
  */
449
393
  allowUndoRedo: boolean;
450
394
  /**
451
- * Specifies whether to show/hide the Quick Access Toolbar while select the shapes.
395
+ * Specifies whether to show/hide the quick access toolbar.
452
396
  *
453
- * @remarks
454
- * The Quick Access Toolbar is a small customizable toolbar that shows commonly used commands while select the shapes.
455
- * Set this property to true to show the Quick Access Toolbar, and false to hide it.
456
- *
457
- * @default false
458
- * @private
397
+ * @default true
459
398
  *
460
399
  * @remarks
461
400
  * Set this property to true to show the quick access toolbar, and false to hide it.
401
+ * ```html
402
+ * <div id='imageeditor'></div>
403
+ * ```
404
+ * ```typescript
405
+ * <script>
406
+ * var imageObj = new ImageEditor({
407
+ * showQuickAccessToolbar : true
408
+ * });
409
+ * imageObj.appendTo("#imageeditor");
410
+ * </script>
411
+ * ```
462
412
  */
463
413
  showQuickAccessToolbar: boolean;
464
414
  /**
465
- * Specifies a custom template content for the quick access toolbar of an Image Editor control.
415
+ * Specifies a template for the quick access toolbar.
416
+ * Use this property to customize the quick access toolbar.
466
417
  *
467
418
  * @default null
468
- * @private
419
+ * @aspType string
469
420
  *
470
421
  * @remarks
471
- * This property only works if the "showQuickAccessToolbar" property is set to true.
472
- *
473
- * {% codeBlock src='image-editor/quickAccessToolbarTemplate/index.md' %}{% endcodeBlock %}
474
- *
475
- */
476
- quickAccessToolbarTemplate: string;
422
+ * This property only works if the "showQuickToolbar" property is set to true.
423
+ * ```html
424
+ * <div id='imageeditor'></div>
425
+ * ```
426
+ * ```typescript
427
+ * <script>
428
+ * var imageObj = new ImageEditor({
429
+ * showQuickAccessToolbar : true,
430
+ * quickAccessToolbarTemplate: '#toolbarTemplate'
431
+ * });
432
+ * imageObj.appendTo("#imageeditor");
433
+ * </script>
434
+ * <script id="toolbarTemplate" type="text/x-template">
435
+ * <div class = 'e-toolbar'>
436
+ * <button id= 'dltbtn'></button>
437
+ * </div>
438
+ * </script>
439
+ * ```
440
+ */
441
+ quickAccessToolbarTemplate: string | Function;
477
442
  /**
478
443
  * Specifies whether to prevent user interaction with the image editor control.
479
444
  * A boolean that specifies whether to prevent the interaction in image editor control. The default value is false.
@@ -507,6 +472,8 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
507
472
  /**
508
473
  * Specifies the finetune settings option which can be used to perform color adjustments in the image editor control.
509
474
  *
475
+ * {% codeBlock src='image-editor/finetuneSettings/index.md' %}{% endcodeBlock %}
476
+ *
510
477
  * @remarks
511
478
  * A 'FinetuneSettingsModel' value that specifies the the finetune options which are enabled in image editor control.
512
479
  * If the property is not specified, then the default values will be applied for minimum, maximum, and value properties for all finetune options.
@@ -520,14 +487,14 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
520
487
  * - Opacity: The state or quality of being opaque or transparent, not allowing light to pass through the image. Opacity can be controlled by opacity property.
521
488
  * - Blur : Adjusting the blur can make an image unfocused or unclear. Blur can be controlled by blur property.
522
489
  *
523
- * {% codeBlock src='image-editor/finetuneSettings/index.md' %}{% endcodeBlock %}
524
- *
525
490
  */
526
491
  finetuneSettings: FinetuneSettingsModel;
527
492
  /**
528
493
  * Specifies the zoom settings to perform zooming action.
529
494
  * A 'ZoomSettingsModel' value that specifies the the zoom related options which are enabled in image editor control. The default value is null.
530
495
  *
496
+ * {% codeBlock src='image-editor/zoomSettings/index.md' %}{% endcodeBlock %}
497
+ *
531
498
  * @remarks
532
499
  * If the property is not specified, then the default settings will be applied for all the properties available in zoom settings.
533
500
  *
@@ -538,10 +505,22 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
538
505
  * - zoomTrigger: Specifies the types of zooming to be supported in the image editor.
539
506
  * - zoomPoint: Specifies the x and y coordinates in which the zooming performed on initial load.
540
507
  *
541
- * {% codeBlock src='image-editor/zoomSettings/index.md' %}{% endcodeBlock %}
542
- *
543
508
  */
544
509
  zoomSettings: ZoomSettingsModel;
510
+ /**
511
+ * Specifies the selection settings to customize selection.
512
+ * A 'SelectionSettingsModel' value that specifies the the customization related options which are enabled in image editor control. The default value is null.
513
+ *
514
+ * @remarks
515
+ * If the property is not specified, then the default settings will be applied for all the properties available in selection settings.
516
+ *
517
+ * The following options are available in `selectionSettings`.
518
+ * - showCircle: Specifies whether to show / hide circles on selection.
519
+ * - strokeColor: Specifies the stroke color of circle selection.
520
+ * - fillColor: Specifies the fill color of circle selection.
521
+ *
522
+ */
523
+ selectionSettings: SelectionSettingsModel;
545
524
  /**
546
525
  * Event callback that is raised before an image is saved.
547
526
  *
@@ -596,6 +575,12 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
596
575
  * @event shapeChanging
597
576
  */
598
577
  shapeChanging: EmitType<ShapeChangeEventArgs>;
578
+ /**
579
+ * Event callback that is raised while changing selection in an Image Editor.
580
+ *
581
+ * @event selectionChanging
582
+ */
583
+ selectionChanging: EmitType<SelectionChangeEventArgs>;
599
584
  /**
600
585
  * Event callback that is raised once an image is opened in an Image Editor.
601
586
  *
@@ -617,10 +602,10 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
617
602
  /**
618
603
  * Event callback that is raised while updating/refreshing the toolbar
619
604
  *
620
- * @event toolbarUpdating
621
- *
622
605
  * {% codeBlock src='image-editor/toolbarUpdating/index.md' %}{% endcodeBlock %}
623
606
  *
607
+ * @event toolbarUpdating
608
+ *
624
609
  */
625
610
  toolbarUpdating: EmitType<ToolbarEventArgs>;
626
611
  /**
@@ -648,10 +633,9 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
648
633
  */
649
634
  click: EmitType<ImageEditorClickEventArgs>;
650
635
  /**
651
- * Event callback that is triggered when the quick access toolbar is opening.
636
+ * Event callback that is raised when opening the quick access toolbar.
652
637
  *
653
- * @event quickAccessToolbarOpening
654
- * @private
638
+ * @event quickAccessToolbarOpen
655
639
  *
656
640
  * @remarks
657
641
  * Use this event to customize the toolbar items that appear in the quick access toolbar.
@@ -660,10 +644,29 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
660
644
  * The string values representing the names of the built-in toolbar items to display.
661
645
  * The ItemModel values representing the ItemModel of custom toolbar items to display.
662
646
  *
663
- * {% codeBlock src='image-editor/quickAccessToolbarOpening/index.md' %}{% endcodeBlock %}
647
+ * ```html
648
+ * <div id='imageeditor'></div>
649
+ * ```
650
+ * ```typescript
651
+ * <script>
652
+ * var imageObj = new ImageEditor({
653
+ * showQuickAccessToolbar : true,
654
+ * quickAccessToolbarOpen: (args: QuickAccessToolbarEventArgs)=> {
655
+ * args.toolbarItems = [“Delete”, {text: “custom”}];
656
+ * }
657
+ *
658
+ * });
659
+ * imageObj.appendTo("#imageeditor");
660
+ * </script>
661
+ */
662
+ quickAccessToolbarOpen: EmitType<QuickAccessToolbarEventArgs>;
663
+ /**
664
+ * Event callback that is raised once the quick access toolbar item is clicked.
665
+ *
666
+ * @event quickAccessToolbarItemClick
664
667
  *
665
668
  */
666
- quickAccessToolbarOpening: EmitType<QuickAccessToolbarEventArgs>;
669
+ quickAccessToolbarItemClick: EmitType<ClickEventArgs>;
667
670
  /**
668
671
  *
669
672
  * Constructor for creating the widget
@@ -672,6 +675,13 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
672
675
  * @param {string|HTMLDivElement} element - Specifies the target element
673
676
  */
674
677
  constructor(options?: ImageEditorModel, element?: string | HTMLDivElement);
678
+ /**
679
+ * To provide the array of modules needed for component rendering.
680
+ *
681
+ * @returns {ModuleDeclaration[]} - To provide the array of modules needed for component rendering.
682
+ * @hidden
683
+ */
684
+ requiredModules(): ModuleDeclaration[];
675
685
  protected preRender(): void;
676
686
  /**
677
687
  *
@@ -700,17 +710,14 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
700
710
  *
701
711
  * Called internally if any of the property value changed.
702
712
  *
703
- * @param {ImageEditorModel} newProperties - Specifies new properties
704
- * @param {ImageEditorModel} oldProperties - Specifies old properties
713
+ * @param {ImageEditorModel} newProperties - Specifies new properties
714
+ * @param {ImageEditorModel} oldProperties - Specifies old properties
705
715
  * @returns {void}
706
716
  * @private
707
717
  */
708
718
  onPropertyChanged(newProperties: ImageEditorModel, oldProperties?: ImageEditorModel): void;
709
719
  destroy(): void;
710
720
  initialize(): void;
711
- private getDefaultFilter;
712
- private updateFinetunes;
713
- private initializeFilter;
714
721
  /**
715
722
  *
716
723
  * This Method will add events to component (element, event, method, current reference)
@@ -725,362 +732,22 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
725
732
  * @returns {void}.
726
733
  */
727
734
  private unwireEvent;
728
- private destroySubComponents;
729
- private updateTheme;
730
- private toPascalCase;
731
735
  private createCanvas;
732
- private createToolbar;
733
- private createQuickAccessToolbar;
734
- private createContextualToolbar;
735
- private updateContextualToolbar;
736
- private createBottomToolbar;
737
- private initBottomToolbar;
738
- private toolbarTemplateFn;
739
- private quickAccessToolbarTemplateFn;
740
- private templateParser;
741
- private getLeftToolbarItem;
742
- private getRightToolbarItem;
743
- private getMainToolbarItem;
744
- private getZoomToolbarItem;
745
- private processToolbar;
746
- private processSubToolbar;
747
- private wireZoomBtnEvents;
748
- private isToolbar;
749
- private initToolbarItem;
750
- private enableDisableToolbarBtn;
751
- private createLeftToolbarControls;
752
- private cropSelectedState;
753
- private renderAnnotationBtn;
754
- private renderCropBtn;
755
- private renderTransformBtn;
756
- private renderSaveBtn;
757
- private cropSelect;
758
- private transformSelect;
759
- private performTransformation;
760
- private updateTransform;
761
- private getShapesToolbarItem;
762
- private initShapesToolbarItem;
763
- private createShapeColor;
764
- private createShapeBtn;
765
- private getTextToolbarItem;
766
- private getFontFamilyItems;
767
- private getFontSizeItems;
768
- private initTextToolbarItem;
769
- private createTextColor;
770
- private pushActItemIntoObj;
771
- private createTextBtn;
772
- private getFontSizes;
773
- private getTextAreaWidth;
774
- private updateUndoRedoObj;
775
- private updateObjColl;
776
- private applyFontStyle;
777
- private initZoomToolbarItem;
778
- private refreshUndoRedoColl;
779
- private applyPreviewFilter;
780
- private contextualToolbarClicked;
781
- private zoomInBtnClickHandler;
782
- private zoomOutBtnClickHandler;
783
- private zoomInBtnMouseDownHandler;
784
- private zoomOutBtnMouseDownHandler;
785
- private zoomBtnMouseUpHandler;
786
- private defToolbarClicked;
787
- private performCancel;
788
- private applyShape;
789
- private applyFreehandDraw;
790
- private cancelFreehandDraw;
791
- private openSlider;
792
- private setTempFilterProperties;
793
- private okBtn;
794
- private getZeroZoomPointCollValue;
795
- private getZeroZoomObjValue;
796
- private updateCurrentUndoRedoColl;
797
- private updateBrightnessFilter;
798
- private isFreehandDrawIndex;
799
- private deleteFreehandDraw;
800
- private unselectBtn;
801
- private callUndo;
802
- private callRedo;
803
- private refreshSlider;
804
- private iterateObjColl;
805
- private updateAdjustment;
806
- private autoEnablePan;
807
- private setTempFilterValue;
808
- private getDefaultCurrentFilter;
809
- private renderSlider;
810
- private createSlider;
811
- private getCurrAdjustmentValue;
812
- private getFinetuneOption;
813
- private setCurrAdjustmentValue;
814
- private cancelPan;
815
- private callMainToolbar;
816
- private setCurrSelectionPoints;
817
- private updatePannedRegion;
818
- private updateObjAndFreeHandDrawColl;
819
- private cancelItems;
820
- private freehandDownHandler;
821
- private freehandUpHandler;
822
- private freehandMoveHandler;
823
- private processPoint;
824
- private calcCurveControlPoints;
825
- private point;
826
- private startDraw;
827
- private pointVelocity;
828
- private distanceTo;
829
- private drawCurve;
830
- private bezierLength;
831
- private bezierPoint;
832
- private drawArc;
833
- private freehandRedraw;
834
- private redrawImgWithObj;
835
- private refreshToolbar;
836
- private getAdjustmentToolbarItem;
837
- private getFilterToolbarItem;
838
- private getPenToolbarItem;
839
- private initPenToolbarItem;
840
- private createPenColor;
841
- private createPenBtn;
842
- private updateFreehandDrawColorChange;
843
- private setPenStroke;
844
- private getPenStroke;
845
- private initAdjustmentToolbarItem;
846
- private initFilterToolbarItem;
847
- private getCurrentCanvasData;
848
- private createCanvasFilter;
849
- private callUpdateCurrentTransformedState;
850
- private updateCurrentTransformedState;
851
- private reverseTransformedState;
852
- private currentTransformedState;
853
- private iterateRotateFlipColl;
854
- private setTransform;
855
- private isObjInsideCropRegion;
856
- private panFreehandDrawColl;
857
- private panObjColl;
858
- private cropObjColl;
859
- private cropFreehandDrawColl;
860
- private hoverFreehandraw;
861
- private pointsHorizontalFlip;
862
- private pointsVerticalFlip;
863
- private flipFreehandrawColl;
864
- private rotateFreehandDrawColl;
865
- private updateCursorPointsForFreehandDrawing;
866
- private zoomFreehandDrawColl;
867
- private zoomX;
868
- private zoomY;
869
- private zoomObjColl;
870
- private calcRatio;
871
- private drawCustomSelection;
872
- private clearOuterCanvas;
873
- private cropCircle;
874
- private updateCropObj;
875
- private setCurrentObj;
876
- private drawCropSelectionImage;
877
- private cropImg;
878
- private updateImageRatioForActObj;
879
- private drawImgToCanvas;
880
- private limitPan;
881
- private updatePanPoints;
882
- private setCurrentPanRegion;
883
- private getCurrentPanRegion;
884
- private drawPannImage;
885
- private drawPannedImage;
886
- private updateFlipPan;
887
- private updateFlipActiveObj;
888
- private resetPanPoints;
889
- private flipCrop;
890
- private rotateCrop;
891
- private getCurrentCropState;
892
- private isInitialRotate;
893
- private updateRotatePanPoints;
894
- private rotatePan;
895
- private rotateZoom;
896
- private drawZoomImgToCanvas;
897
- private cropZoom;
898
- private updateCanvas;
899
- private imageOnLoad;
900
- private refreshActiveObj;
901
- private redrawText;
902
- private setTextSelection;
903
- private getCurrentObj;
904
- private updateUndoRedoColl;
905
- private fileSelect;
906
- private findTextPoint;
907
- private getStrokeWidth;
908
- private updateToolbarItems;
909
- private setTimer;
910
- private targetTouches;
911
- private calculateScale;
912
- private getDistance;
913
- private setXYPoints;
914
736
  private touchStartHandler;
915
- private getCurrentIndex;
916
- private isShapeClick;
917
- private isShapeTouch;
918
- private isFreehandDrawTouch;
919
- private selectFreehandDraw;
920
- private closeContextualToolbar;
921
- private applyObj;
922
- private applyCurrShape;
923
737
  private mouseDownEventHandler;
924
738
  private mouseMoveEventHandler;
925
739
  private mouseUpEventHandler;
926
- private getSquarePointForFreehandDraw;
927
- private getQuickAccessToolbarItem;
928
- private renderQuickAccessToolbar;
929
- private deleteItem;
930
740
  private keyDownEventHandler;
931
741
  private keyUpEventHandler;
932
742
  private canvasMouseDownHandler;
933
743
  private canvasMouseMoveHandler;
934
744
  private canvasMouseUpHandler;
935
745
  private handleScroll;
936
- private performPointZoom;
937
- private adjustPanning;
938
- private drawZoomPanImage;
939
- private textKeyDown;
940
746
  private adjustToScreen;
941
747
  private screenOrientation;
942
748
  private windowResizeHandler;
943
- private alignTextAreaIntoCanvas;
944
- private refreshMainToolbar;
945
- private updatePreviousShapeSettings;
946
- private zoomAction;
947
- private getCurrentZoomFactor;
948
- private disableZoomOutBtn;
949
- private setZoomDimension;
950
- private applyCurrActObj;
951
- private updateTextFromTextArea;
952
- private setTextBoxStylesToActObj;
953
- private redrawActObj;
954
- private setTextBoxPos;
955
- private setTextBoxPoints;
956
- private findTextTarget;
957
- private renderTextArea;
958
- private selectedText;
959
- private setTextBoxHeight;
960
- private setTextBoxWidth;
961
- private setActivePoint;
962
- private setDragWidth;
963
- private setDragHeight;
964
- private triggerShapeChange;
965
- private updateActivePoint;
966
- private updateArrowDirection;
967
- private preventDraggingInvertly;
968
- private preventTextDraggingInvertly;
969
- private updateNWPoints;
970
- private updateNPoints;
971
- private updateNEPoints;
972
- private updateWPoints;
973
- private updateEPoints;
974
- private updateSWPoints;
975
- private updateSPoints;
976
- private updateSEPoints;
977
- private updateFontRatio;
978
- private updateFontSize;
979
- private preventInverseResize;
980
- private getScaleRatio;
981
- private getMaxText;
982
- private setDragLimit;
983
- private lineDraw;
984
- private shapeCircle;
985
- private drawOuterSelection;
986
- private drawObject;
987
- private updateActiveObject;
988
- private drawShapeObj;
989
- private shapeLine;
990
- private shapeArrow;
991
- private shapeText;
992
- private updateActPoint;
993
- private drawSquareLines;
994
- private drawSelection;
995
- private drawCenterCircles;
996
- private findTarget;
997
- private findTargetObj;
998
- private getCurrentFlipState;
999
- private rotateDegree;
1000
- private updateCursorStyles;
1001
- private updateCursorStylesForArrow;
1002
- private drawCropRatio;
1003
- private setDragDirection;
1004
- private updatePoints;
1005
- private calcShapeRatio;
1006
- private getScale;
1007
- private calcMaxDimension;
1008
- private setMaximumDimension;
1009
- private setCursor;
1010
- private setCursorForFreehandDrawing;
1011
- private setCursorFromObj;
1012
- private isInside;
1013
- private refreshDropDownBtn;
1014
- private downloadImg;
1015
- private toSVGImg;
1016
- private toBlobFn;
1017
- private exportChangesToCanvas;
1018
- private exportTransformedImage;
1019
- private exportRotate;
1020
- private exportHorizontalFlip;
1021
- private exportVerticalFlip;
1022
- private updateSaveContext;
1023
- private addLetter;
1024
- private updateFontStyles;
1025
- private textFlipDegree;
1026
- private rotateText;
1027
- private redrawObj;
1028
- private updateCurrentActiveObjPoint;
1029
- private rotateObjColl;
1030
- private redrawShape;
1031
- private applyActObj;
1032
- private destroyQuickAccessToolbar;
1033
- private apply;
1034
- private setCenterPoints;
1035
- private updateTriangleRatio;
1036
- private updateTrianglePoints;
1037
- private setDimension;
1038
- private updateUndoRedo;
1039
- private drawShape;
1040
- private drawShapeText;
1041
- private updateShapeChangeEventArgs;
1042
- private getObjDetails;
1043
- private getFreehandDrawDetails;
1044
- private isPointsInRange;
1045
- private clearActObj;
1046
- private applyPenDraw;
1047
- private drawRotatedImage;
1048
- private updateCurrSelectionPoint;
1049
- private setClientTransformedDimension;
1050
- private popForDefaultTransformedState;
1051
- private popForDefaultFlipState;
1052
- private popForDefaultRotateState;
1053
- private alignRotateFlipColl;
1054
- private updateFlipColl;
1055
- private horizontalFlip;
1056
- private verticalFlip;
1057
- private updateFlipState;
1058
- private setDestinationPoints;
1059
- private rotatedFlip;
1060
- private getFilterValue;
1061
- private setFilterValue;
1062
- private getSaturationFilterValue;
1063
- private setSaturationFilterValue;
1064
- private getBlackAndWhiteData;
1065
- private setBrightness;
1066
- private setContrast;
1067
- private setHue;
1068
- private setSaturation;
1069
- private setOpacity;
1070
- private setBlur;
1071
- private setExposure;
1072
- private setFilter;
1073
- private renderImage;
1074
- private updateTextBox;
1075
- private drawNewSelection;
1076
- private setDestPointsForFlipState;
1077
- private performUndoDefaultAction;
1078
- private setAdjustment;
1079
- private updateFilter;
1080
- private rotateImage;
1081
- private flipImage;
1082
- private componentToHex;
1083
- private rgbToHex;
749
+ private notifyResetForAllModules;
750
+ private allowShape;
1084
751
  /**
1085
752
  * Clears the current selection performed in the image editor.
1086
753
  *
@@ -1090,18 +757,20 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1090
757
  /**
1091
758
  * Crops an image based on the selection done in the image editor.
1092
759
  *
760
+ * {% codeBlock src='image-editor/crop/index.md' %}{% endcodeBlock %}
761
+ *
1093
762
  * @remarks
1094
763
  * The selection can be done through programmatically using the 'select' method or through UI interactions.
1095
764
  *
1096
765
  * @returns {boolean}.
1097
766
  *
1098
- * {% codeBlock src='image-editor/crop/index.md' %}{% endcodeBlock %}
1099
- *
1100
767
  */
1101
768
  crop(): boolean;
1102
769
  /**
1103
770
  * Flips an image by horizontally or vertically in the image editor.
1104
771
  *
772
+ * {% codeBlock src='image-editor/zoom/index.md' %}{% endcodeBlock %}
773
+ *
1105
774
  * @param { Direction } direction - Specifies the direction to flip the image.
1106
775
  * A horizontal direction for horizontal flipping and vertical direction for vertical flipping.
1107
776
  *
@@ -1110,8 +779,6 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1110
779
  *
1111
780
  * @returns {void}.
1112
781
  *
1113
- * {% codeBlock src='image-editor/zoom/index.md' %}{% endcodeBlock %}
1114
- *
1115
782
  */
1116
783
  flip(direction: Direction): void;
1117
784
  /**
@@ -1147,6 +814,8 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1147
814
  /**
1148
815
  * Rotate an image to clockwise and anti-clockwise.
1149
816
  *
817
+ * {% codeBlock src='image-editor/rotate/index.md' %}{% endcodeBlock %}
818
+ *
1150
819
  * @param {number} degree - Specifies a degree to rotate an image.
1151
820
  * A positive integer value for clockwise and negative integer value for anti-clockwise rotation.
1152
821
  *
@@ -1155,8 +824,6 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1155
824
  *
1156
825
  * @returns {boolean}.
1157
826
  *
1158
- * {% codeBlock src='image-editor/rotate/index.md' %}{% endcodeBlock %}
1159
- *
1160
827
  */
1161
828
  rotate(degree: number): boolean;
1162
829
  /**
@@ -1174,6 +841,8 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1174
841
  /**
1175
842
  * Perform selection in an image editor. The selection helps to crop an image.
1176
843
  *
844
+ * {% codeBlock src='image-editor/select/index.md' %}{% endcodeBlock %}
845
+ *
1177
846
  * @param {string} type - Specifies the shape - circle / square / custom selection / pre-defined ratios.
1178
847
  * @param {number} startX – Specifies the start x-coordinate point of the selection.
1179
848
  * @param {number} startY – Specifies the start y-coordinate point of the selection.
@@ -1185,8 +854,6 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1185
854
  *
1186
855
  * @returns {void}.
1187
856
  *
1188
- * {% codeBlock src='image-editor/select/index.md' %}{% endcodeBlock %}
1189
- *
1190
857
  */
1191
858
  select(type: string, startX?: number, startY?: number, width?: number, height?: number): void;
1192
859
  /**
@@ -1236,6 +903,8 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1236
903
  /**
1237
904
  * Draw ellipse on an image.
1238
905
  *
906
+ * {% codeBlock src='image-editor/ellipse/index.md' %}{% endcodeBlock %}
907
+ *
1239
908
  * @param {number} x - Specifies x-coordinate of ellipse.
1240
909
  * @param {number} y - Specifies y-coordinate of ellipse.
1241
910
  * @param {number} radiusX - Specifies the radius x point for the ellipse.
@@ -1245,8 +914,6 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1245
914
  * @param {string} fillColor - Specifies the fill color of the ellipse.
1246
915
  * @returns {boolean}.
1247
916
  *
1248
- * {% codeBlock src='image-editor/ellipse/index.md' %}{% endcodeBlock %}
1249
- *
1250
917
  */
1251
918
  drawEllipse(x?: number, y?: number, radiusX?: number, radiusY?: number, strokeWidth?: number, strokeColor?: string, fillColor?: string): boolean;
1252
919
  /**
@@ -1270,10 +937,20 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1270
937
  * @param {number} endY - Specifies end point y-coordinates of the arrow.
1271
938
  * @param {number} strokeWidth - Specifies the stroke width of arrow.
1272
939
  * @param {string} strokeColor - Specifies the stroke color of arrow.
940
+ * @param {ArrowheadType} arrowStart – Specifies the type of arrowhead for start position. The default value is ‘None’.
941
+ * @param {ArrowheadType} arrowEnd – Specifies the type of arrowhead for end position. The default value is ‘SolidArrow’.
942
+ * @returns {boolean}.
943
+ */
944
+ drawArrow(startX?: number, startY?: number, endX?: number, endY?: number, strokeWidth?: number, strokeColor?: string, arrowStart?: ArrowheadType, arrowEnd?: ArrowheadType): boolean;
945
+ /**
946
+ * Draw path on an image.
947
+ *
948
+ * @param {Point[]} pointColl – Specifies collection of start and end x, y-coordinates of path.
949
+ * @param {number} strokeWidth - Specifies the stroke width of path.
950
+ * @param {string} strokeColor - Specifies the stroke color of path.
1273
951
  * @returns {boolean}.
1274
- * @private
1275
952
  */
1276
- drawArrow(startX?: number, startY?: number, endX?: number, endY?: number, strokeWidth?: number, strokeColor?: string): boolean;
953
+ drawPath(pointColl: Point[], strokeWidth?: number, strokeColor?: string): boolean;
1277
954
  /**
1278
955
  * Draw a rectangle on an image.
1279
956
  *
@@ -1290,6 +967,8 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1290
967
  /**
1291
968
  * Draw a text on an image.
1292
969
  *
970
+ * {% codeBlock src='image-editor/text/index.md' %}{% endcodeBlock %}
971
+ *
1293
972
  * @param {number} x - Specifies x-coordinate of text.
1294
973
  * @param {number} y - Specifies y-coordinate of text.
1295
974
  * @param {string} text - Specifies the text to add on an image.
@@ -1300,40 +979,38 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1300
979
  * @param {string} color - Specifies font color of the text.
1301
980
  * @returns {boolean}.
1302
981
  *
1303
- * {% codeBlock src='image-editor/text/index.md' %}{% endcodeBlock %}
1304
- *
1305
982
  */
1306
983
  drawText(x?: number, y?: number, text?: string, fontFamily?: string, fontSize?: number, bold?: boolean, italic?: boolean, color?: string): boolean;
1307
984
  /**
1308
985
  * Select a shape based on the given shape id.
1309
986
  * Use 'getShapeSettings' method to get the shape id which is then passed to perform selection.
1310
987
  *
988
+ * {% codeBlock src='image-editor/selectShape/index.md' %}{% endcodeBlock %}
989
+ *
1311
990
  * @param {string} id - Specifies the shape id to select a shape on an image.
1312
991
  * @returns {boolean}.
1313
992
  *
1314
- * {% codeBlock src='image-editor/selectShape/index.md' %}{% endcodeBlock %}
1315
- *
1316
993
  */
1317
994
  selectShape(id: string): boolean;
1318
995
  /**
1319
996
  * Deletes a shape based on the given shape id.
1320
997
  * Use 'getShapeSettings' method to get the shape id which is then passed to perform selection.
1321
998
  *
999
+ * {% codeBlock src='image-editor/deleteShape/index.md' %}{% endcodeBlock %}
1000
+ *
1322
1001
  * @param {string} id - Specifies the shape id to delete the shape on an image.
1323
1002
  * @returns {void}.
1324
1003
  *
1325
- * {% codeBlock src='image-editor/deleteShape/index.md' %}{% endcodeBlock %}
1326
- *
1327
1004
  */
1328
1005
  deleteShape(id: string): void;
1329
1006
  /**
1330
1007
  * Get particular shapes details based on id of the shape which is drawn on an image editor.
1331
1008
  *
1009
+ * {% codeBlock src='image-editor/getShapeSetting/index.md' %}{% endcodeBlock %}
1010
+ *
1332
1011
  * @param {string} id - Specifies the shape id on an image.
1333
1012
  * @returns {ShapeSettings}.
1334
1013
  *
1335
- * {% codeBlock src='image-editor/getShapeSetting/index.md' %}{% endcodeBlock %}
1336
- *
1337
1014
  */
1338
1015
  getShapeSetting(id: string): ShapeSettings;
1339
1016
  /**
@@ -1396,599 +1073,228 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1396
1073
  * A Dimension object containing the x, y, width, and height of an image.
1397
1074
  */
1398
1075
  getImageDimension(): Dimension;
1399
- }
1400
- /**
1401
- * An enum representing the file types supported by the image editor.
1402
- *
1403
- * @enum {string}
1404
- */
1405
- export declare enum FileType {
1406
- /** The PNG file type. */
1407
- Png = "Png",
1408
- /** The JPEG file type. */
1409
- Jpeg = "Jpeg",
1410
- /** The SVG file type. */
1411
- Svg = "Svg"
1412
- }
1413
- /**
1414
- * An enumeration representing the direction of an image editor operation.
1415
- *
1416
- * @enum {string}
1417
- */
1418
- export declare enum Direction {
1419
- /** The horizontal direction. */
1420
- Horizontal = "Horizontal",
1421
- /** The vertical direction. */
1422
- Vertical = "Vertical"
1423
- }
1424
- /**
1425
- * An enumeration representing the type of shape to be added in the image editor.
1426
- *
1427
- * @enum {string}
1428
- */
1429
- export declare enum ShapeType {
1430
- /** A rectangle shape. */
1431
- Rectangle = "Rectangle",
1432
- /** An ellipse shape. */
1433
- Ellipse = "Ellipse",
1434
- /** A line shape. */
1435
- Line = "Line",
1436
- /** An arrow shape. */
1437
- Arrow = "Arrow",
1438
- /** A text shape. */
1439
- Text = "Text",
1440
- /** A freehand drawing shape. */
1441
- FreehandDraw = "FreehandDraw"
1442
- }
1443
- /**
1444
- * An enumeration representing the different ways to trigger zooming in the image editor.
1445
- *
1446
- * @enum {number}
1447
- */
1448
- export declare enum ZoomTrigger {
1449
- /** Zooming triggered by mouse wheel. */
1450
- MouseWheel = 1,
1451
- /** Zooming triggered by pinch gesture. */
1452
- Pinch = 2,
1453
- /** Zooming triggered by command keys. */
1454
- Commands = 4,
1455
- /** Zooming triggered by toolbar button click. */
1456
- Toolbar = 8
1457
- }
1458
- /**
1459
- * An enum representing the available themes in the image editor.
1460
- */
1461
- export declare enum Theme {
1462
- /** The Bootstrap 5 theme. */
1463
- Bootstrap5 = "Bootstrap5",
1464
- /** The dark variant of the Bootstrap 5 theme. */
1465
- Bootstrap5Dark = "Bootstrap5Dark",
1466
- /** The Tailwind CSS theme. */
1467
- Tailwind = "Tailwind",
1468
- /** The dark variant of the Tailwind CSS theme. */
1469
- TailwindDark = "TailwindDark",
1470
- /** The Fluent UI theme. */
1471
- Fluent = "Fluent",
1472
- /** The dark variant of the Fluent UI theme. */
1473
- FluentDark = "FluentDark",
1474
- /** The Bootstrap 4 theme. */
1475
- Bootstrap4 = "Bootstrap4",
1476
- /** The Bootstrap theme. */
1477
- Bootstrap = "Bootstrap",
1478
- /** The dark variant of the Bootstrap theme. */
1479
- BootstrapDark = "BootstrapDark",
1480
- /** The Material Design theme. */
1481
- Material = "Material",
1482
- /** The dark variant of the Material Design theme. */
1483
- MaterialDark = "MaterialDark",
1484
- /** The Fabric theme. */
1485
- Fabric = "Fabric",
1486
- /** The dark variant of the Fabric theme. */
1487
- FabricDark = "FabricDark",
1488
- /** The high contrast theme. */
1489
- Highcontrast = "Highcontrast"
1490
- }
1491
- /**
1492
- * An enum representing the available toolbar commands in the image editor.
1493
- */
1494
- export declare enum ImageEditorCommand {
1495
- Crop = "Crop",
1496
- Transform = "Transform",
1497
- Annotate = "Annotate",
1498
- ZoomIn = "ZoomIn",
1499
- ZoomOut = "ZoomOut",
1500
- Open = "Open",
1501
- Reset = "Reset",
1502
- Save = "Save",
1503
- Pan = "Pan",
1504
- Move = "Move",
1505
- Pen = "Pen",
1506
- Line = "Line",
1507
- Arrow = "Arrow",
1508
- Rectangle = "Rectangle",
1509
- Ellipse = "Ellipse",
1510
- Text = "Text",
1511
- CustomSelection = "CustomSelection",
1512
- CircleSelection = "CircleSelection",
1513
- SquareSelection = "SquareSelection",
1514
- RatioSelection = "RatioSelection",
1515
- RotateLeft = "RotateLeft",
1516
- RotateRight = "RotateRight",
1517
- FlipHorizontal = "FlipHorizontal",
1518
- FlipVertical = "FlipVertical"
1519
- }
1520
- /**
1521
- * An enumeration of available image filter options.
1522
- *
1523
- * @remarks
1524
- * These options can be used with the `applyImageFilter` method of the image editor control to apply filters to an image.
1525
- */
1526
- export declare enum ImageFilterOption {
1527
- /** Default filter */
1528
- Default = "Default",
1529
- /** Chrome filter */
1530
- Chrome = "Chrome",
1531
- /** Cold filter */
1532
- Cold = "Cold",
1533
- /** Warm filter */
1534
- Warm = "Warm",
1535
- /** Grayscale filter */
1536
- Grayscale = "Grayscale",
1537
- /** Sepia filter */
1538
- Sepia = "Sepia",
1539
- /** Invert filter */
1540
- Invert = "Invert"
1541
- }
1542
- /**
1543
- * An enumeration of available image finetune options.
1544
- *
1545
- * @remarks
1546
- * These options can be used with the `finetuneImage` method of the image editor control to apply finetuning to an image.
1547
- */
1548
- export declare enum ImageFinetuneOption {
1549
- /** Adjust the brightness of the image */
1550
- Brightness = "Brightness",
1551
- /** Adjust the contrast of the image */
1552
- Contrast = "Contrast",
1553
- /** Adjust the hue of the image */
1554
- Hue = "Hue",
1555
- /** Adjust the saturation of the image */
1556
- Saturation = "Saturation",
1557
- /** Adjust the exposure of the image */
1558
- Exposure = "Exposure",
1559
- /** Adjust the opacity of the image */
1560
- Opacity = "Opacity",
1561
- /** Adjust the blur of the image */
1562
- Blur = "Blur"
1563
- }
1564
- /**
1565
- * The Interface which contains the properties for zoom transition occur in the Image Editor.
1566
- */
1567
- export interface ZoomEventArgs {
1076
+ private toolbarTemplateFn;
1077
+ private quickAccessToolbarTemplateFn;
1078
+ private templateParser;
1079
+ private getTextFromId;
1080
+ private getFinetuneOption;
1081
+ private setPenStroke;
1082
+ private updateFreehandDrawColorChange;
1083
+ private setInitialZoomState;
1568
1084
  /**
1569
- * Returns the point in which the zooming action was performed.
1570
- *
1571
- * @remarks
1572
- * The given value is a point object which has x and y coordinates.
1085
+ * Set the old item Transform item state.
1573
1086
  *
1087
+ * @hidden
1088
+ * @returns {void}.
1574
1089
  */
1575
- zoomPoint: Point;
1090
+ updateCropTransformItems(): void;
1576
1091
  /**
1577
- * Returns the previous zoom factor that already had before this current zooming action.
1578
- *
1579
- * @remarks
1580
- * The previous and current zoom factor is used for finding whether the performed zooming is a zoom in or zoom out.
1092
+ * Get the pascal case.
1581
1093
  *
1094
+ * @param { string } str - Specifies the string to convert to pascal case.
1095
+ * @param { Object } obj - Specifies the string to convert to pascal case.
1096
+ * @hidden
1097
+ * @returns {string}.
1098
+ * A pascal case string.
1582
1099
  */
1583
- previousZoomFactor: number;
1100
+ toPascalCase(str: string, obj?: Object): string;
1584
1101
  /**
1585
- * Returns the current zoomed level, in which the loaded image is enlarged in the image editor.
1102
+ * Get the font sizes.
1586
1103
  *
1587
- * @remarks
1588
- * The previous and current zoom factor is used for finding whether the performed zooming is a zoom in or zoom out.
1589
- *
1590
- */
1591
- currentZoomFactor: number;
1592
- /**
1593
- * Specifies a value that indicates whether the zooming action can be canceled in image editor.
1104
+ * @hidden
1105
+ * @returns {DropDownButtonItemModel[]}.
1106
+ * A font size collections.
1594
1107
  */
1595
- cancel: boolean;
1108
+ getFontSizes(): DropDownButtonItemModel[];
1596
1109
  /**
1597
- * Returns the type of zooming performed in the image editor.
1598
- *
1599
- * @remarks
1600
- * This property is used to get the type of zooming performed in the editor.
1601
- * The possible values of this property are 'MouseWheel', 'Pinch', 'Commands', and 'Toolbar'.
1602
- * The value of this property will be updated each time a zoom operation is performed.
1603
- * MouseWheel - It indicates the zooming performed using mouse wheel.
1604
- * Pinch - It indicates that zooming is performed using pinch gestures on touch-enabled devices.
1605
- * Commands - It indicates that zooming is performed by clicking the CTRL key and either the plus (+) or minus (-) buttons on the keyboard.
1606
- * Toolbar - It indicates that zooming is performed using toolbar buttons.
1607
- * By default, this property is set to 'Toolbar'.
1110
+ * Handles the OK button operation
1608
1111
  *
1609
- *
1610
- */
1611
- zoomTrigger: string;
1612
- }
1613
- /**
1614
- * The Interface which contains the properties for pan transition occur in the Image Editor.
1615
- */
1616
- export interface PanEventArgs {
1617
- /**
1618
- * Returns the (x, y) point of panning started
1619
- */
1620
- startPoint: Point;
1621
- /**
1622
- * Returns the (x, y) point to be panning ended.
1623
- */
1624
- endPoint: Point;
1625
- /**
1626
- * Defines whether to cancel the panning action of image editor.
1112
+ * @param { boolean } isMouseDown - Specifies whether it is a mouse down.
1113
+ * @hidden
1114
+ * @returns {void}.
1627
1115
  */
1628
- cancel: boolean;
1629
- }
1630
- /**
1631
- * The Interface which contains the properties for crop transition occur in the Image Editor.
1632
- */
1633
- export interface CropEventArgs {
1116
+ okBtn(isMouseDown?: boolean): void;
1634
1117
  /**
1635
- * Returns the start point of the crop region.
1636
- *
1637
- * @remarks
1638
- * The start and end point is used get the cropping region in a image editor.
1118
+ * Set the temporary filter properties.
1639
1119
  *
1120
+ * @hidden
1121
+ * @returns {void}.
1640
1122
  */
1641
- startPoint: Point;
1123
+ setTempFilterProperties(): void;
1642
1124
  /**
1643
- * Returns the end point of the crop region.
1125
+ * To crop the selection.
1644
1126
  *
1645
- * @remarks
1646
- * The start and end point is used get the cropping region in a image editor.
1647
- *
1648
- */
1649
- endPoint: Point;
1650
- /**
1651
- * Defines whether to cancel the cropping action of image editor.
1652
- */
1653
- cancel: boolean;
1654
- }
1655
- /**
1656
- * The Interface which contains the properties for rotate transition in the Image Editor.
1657
- */
1658
- export interface RotateEventArgs {
1659
- /**
1660
- * Returns the degree to be rotated.
1661
- */
1662
- degree: number;
1663
- /**
1664
- * Defines whether to cancel the rotating action of image editor.
1665
- */
1666
- cancel: boolean;
1667
- }
1668
- /**
1669
- * The Interface which contains the properties for flip transition in the Image Editor.
1670
- */
1671
- export interface FlipEventArgs {
1672
- /**
1673
- * Returns the direction(Horizontal and vertical) to be flipped.
1674
- */
1675
- direction: string;
1676
- /**
1677
- * Defines the cancel option to cancel the flip action.
1678
- */
1679
- cancel: boolean;
1680
- }
1681
- /**
1682
- * The Interface which contains the properties for shape change in Image Editor.
1683
- */
1684
- export interface ShapeChangeEventArgs {
1685
- /**
1686
- * Returns the name of the action.
1687
- */
1688
- action?: string;
1689
- /**
1690
- * Returns the object of shape before moved, resized, or customized the UI.
1691
- */
1692
- previousShapeSettings?: ShapeSettings;
1693
- /**
1694
- * Returns `the object of shape which is inserted or moved or deleted or resized or customized the UI.
1695
- */
1696
- currentShapeSettings?: ShapeSettings;
1697
- }
1698
- /**
1699
- * The Interface which contains the properties for Toolbar events.
1700
- */
1701
- export interface ToolbarEventArgs {
1702
- /**
1703
- * Defines whether the to cancel the toolbar updating/refreshing action in the image editor.
1704
- */
1705
- cancel?: boolean;
1706
- /**
1707
- * Returns the current toolbar type.
1708
- */
1709
- toolbarType?: string;
1710
- /**
1711
- * Returns the current toolbar item.
1127
+ * @hidden
1128
+ * @returns {void}.
1712
1129
  */
1713
- item?: ItemModel;
1130
+ cropSelectedState(): void;
1714
1131
  /**
1715
- * Specifies the toolbar item collection to be rendered as contextual toolbar.
1716
- *
1717
- * @remarks
1718
- * This property collection contains string and ItemModel values.
1719
- * The string values representing the names of the built-in toolbar items to be displayed.
1720
- * The ItemModel values representing the object of custom toolbar items to be displayed.
1132
+ * Get the current canvas data.
1721
1133
  *
1134
+ * @hidden
1135
+ * @returns {ImageData}.
1136
+ * An ImageData returns the current canvas image data object.
1722
1137
  */
1723
- toolbarItems?: (string | ItemModel)[];
1724
- }
1725
- /**
1726
- * The Interface which contains the properties for opening the image.
1727
- */
1728
- export interface OpenEventArgs {
1729
- /**
1730
- * Returns the file name of an image.
1731
- */
1732
- fileName: string;
1733
- /**
1734
- * Returns the file type of an image.
1735
- */
1736
- fileType: FileType;
1737
- }
1738
- /**
1739
- * The Interface which contains the properties for saving the canvas as image.
1740
- */
1741
- export interface SaveEventArgs {
1742
- /**
1743
- * Returns the file name of an image.
1744
- */
1745
- fileName: string;
1746
- /**
1747
- * Returns the file type of an image.
1748
- */
1749
- fileType: FileType;
1750
- }
1751
- /**
1752
- * The Interface which contains the properties for before saving the canvas as image.
1753
- */
1754
- export interface BeforeSaveEventArgs {
1755
- /**
1756
- * Defines whether the to cancel the saving action in the image editor.
1757
- */
1758
- cancel: boolean;
1759
- /**
1760
- * Specifies the file name for an image.
1761
- */
1762
- fileName: string;
1763
- /**
1764
- * Returns the file type for an image.
1765
- */
1766
- fileType: FileType;
1767
- }
1768
- /**
1769
- * The Interface which contains the properties for Point Object in the image editor.
1770
- *
1771
- */
1772
- export interface Point {
1773
- /**
1774
- * Returns the x position in the canvas.
1775
- */
1776
- x: number;
1777
- /**
1778
- * Returns y position in the canvas.
1779
- */
1780
- y: number;
1138
+ getCurrentCanvasData(): ImageData;
1781
1139
  /**
1782
- * Returns the x ratio from in the image.
1140
+ * To set current adjustment value
1783
1141
  *
1784
- * @private
1142
+ * @param { string } type - Specifies the type of adjustment.
1143
+ * @param { number } value - Specifies the value to adjust.
1144
+ * @hidden
1145
+ * @returns {void}.
1785
1146
  */
1786
- ratioX?: number;
1147
+ setCurrAdjustmentValue(type: string, value: number): void;
1787
1148
  /**
1788
- * Returns y ratio from the image.
1149
+ * Get the square point for path.
1789
1150
  *
1790
- * @private
1151
+ * @param { SelectionPoint } obj - Specifies the points of path.
1152
+ * @hidden
1153
+ * @returns {ActivePoint}.
1154
+ * An ActivePoint object which returns the square point.
1791
1155
  */
1792
- ratioY?: number;
1156
+ getSquarePointForPath(obj: SelectionPoint): ActivePoint;
1793
1157
  /**
1794
- * Specifies the time.
1158
+ * Get the SelectionType.
1795
1159
  *
1796
- * @private
1797
- */
1798
- time?: number;
1799
- }
1800
- /**
1801
- * Interface for ShapeSettings in the Image Editor.
1802
- */
1803
- export interface ShapeSettings {
1804
- /**
1805
- * Returns the id of the shape.
1806
- */
1807
- id: string;
1808
- /**
1809
- * Returns the type of the shape.
1160
+ * @param { string } type - Specifies the SelectionType.
1161
+ * @hidden
1162
+ * @returns {string}.
1163
+ * An string which returns the SelectionType.
1810
1164
  */
1811
- type: ShapeType;
1812
- /**
1813
- * Returns the start x position of the shape.
1814
- */
1815
- startX: number;
1816
- /**
1817
- * Returns the start y position of the shape.
1818
- */
1819
- startY: number;
1820
- /**
1821
- * Returns the width of the shape.
1822
- */
1823
- width?: number;
1824
- /**
1825
- * Returns the height of the shape.
1826
- */
1827
- height?: number;
1828
- /**
1829
- * Returns the stroke color of the shape.
1830
- */
1831
- strokeColor?: string;
1832
- /**
1833
- * Returns the fill color of the shape.
1834
- */
1835
- fillColor?: string;
1836
- /**
1837
- * Returns the stroke width of the shape.
1838
- */
1839
- strokeWidth?: number;
1840
- /**
1841
- * Returns the radius of the ellipse shape.
1842
- */
1843
- radius?: number;
1844
- /**
1845
- * Returns the length of the line or arrow shape.
1846
- */
1847
- length?: number;
1848
- /**
1849
- * Returns the text content of the text.
1850
- */
1851
- text?: string;
1852
- /**
1853
- * Returns the font size of the text.
1854
- */
1855
- fontSize?: number;
1856
- /**
1857
- * Returns the font style of the text.
1858
- */
1859
- fontStyle?: string[];
1860
- /**
1861
- * Returns the font color of the text.
1862
- */
1863
- color?: string;
1864
- /**
1865
- * Returns the points collection of freehand drawing.
1866
- */
1867
- points?: Point[];
1868
- }
1869
- /**
1870
- * Interface for filter option for the image.
1871
- */
1872
- export interface ImageFilterEventArgs {
1873
- /**
1874
- * Specifies the when applying filter to an image.
1875
- */
1876
- filter: ImageFilterOption;
1877
- /**
1878
- * Defines the cancel option to cancel the filter action.
1879
- */
1880
- cancel: boolean;
1881
- }
1882
- /**
1883
- * Interface for fine tunes option for the image.
1884
- */
1885
- export interface FinetuneEventArgs {
1886
- /**
1887
- * Specifies the type of fine tunes.
1888
- */
1889
- finetune: ImageFinetuneOption;
1890
- /**
1891
- * Specifies the value of the fine tunes.
1165
+ getSelectionType(type: string): string;
1166
+ /** Clears the context.
1167
+ *
1168
+ * @param { CanvasRenderingContext2D } ctx - Specifies the canvas context.
1169
+ * @hidden
1170
+ * @returns {void}.
1892
1171
  */
1893
- value: number;
1172
+ clearContext(ctx: CanvasRenderingContext2D): void;
1894
1173
  /**
1895
- * Defines the cancel option to cancel the fine tunes action.
1896
- */
1897
- cancel: boolean;
1898
- }
1899
- /**
1900
- * Interface that provides information to the click event in the Image Editor.
1901
- */
1902
- export interface ImageEditorClickEventArgs {
1903
- /**
1904
- * Returns the x and y coordinates of the mouse or touch action which performed in the Image Editor.
1174
+ * Apply Arrow for start and end.
1175
+ *
1176
+ * @param { string } type - Specifies the start arrow or end arrow.
1177
+ * @param { string } id - Specifies the start arrow or end arrow item id.
1178
+ * @hidden
1179
+ * @returns {void}.
1905
1180
  */
1906
- point: Point;
1907
- }
1908
- /**
1909
- * Interface for quick access toolbar for the image.
1910
- *
1911
- * @private
1912
- */
1913
- export interface QuickAccessToolbarEventArgs {
1181
+ updateArrow(type: string, id: string): void;
1914
1182
  /**
1915
- * Specifies whether to cancel the opening action of the quick access toolbar.
1916
- *
1917
- * @remarks
1918
- * Set this property to `true` to cancel the opening action of the quick access toolbar.
1919
- * By default, this property is set to `false`.
1183
+ * Apply Font style for text.
1920
1184
  *
1185
+ * @param { string } id - Specifies the selected item id.
1186
+ * @hidden
1187
+ * @returns {void}.
1921
1188
  */
1922
- cancel: boolean;
1189
+ updateFontFamily(id: string): void;
1923
1190
  /**
1924
- * Specifies the collection of toolbar items to be rendered as a quick access toolbar.
1925
- *
1926
- * @remarks
1927
- * This property collection contains string and ItemModel values.
1928
- * The string values representing the names of the built-in toolbar items to display.
1929
- * The ItemModel values representing the object of custom toolbar items to display.
1191
+ * Apply Font size for text.
1930
1192
  *
1193
+ * @param { string } text - Specifies the selected item text.
1194
+ * @hidden
1195
+ * @returns {void}.
1931
1196
  */
1932
- toolbarItems: (string | ItemModel)[];
1197
+ updateFontSize(text: string): void;
1933
1198
  /**
1934
- * Returns the current toolbar type.
1199
+ * Apply Font color for text.
1200
+ *
1201
+ * @param { string } value - Specifies the selected color item value.
1202
+ * @hidden
1203
+ * @returns {void}.
1935
1204
  */
1936
- toolbarType?: string;
1937
- }
1938
- /**
1939
- * Interface for Dimension calculation in the imageEditor.
1940
- *
1941
- */
1942
- export interface Dimension {
1205
+ updateFontColor(value: string): void;
1943
1206
  /**
1944
- * Gets x position from the canvas.
1207
+ * Apply Pen stroke width.
1208
+ *
1209
+ * @param { string } id - Specifies the selected item id.
1210
+ * @hidden
1211
+ * @returns {void}.
1945
1212
  */
1946
- x?: number;
1213
+ updatePenStrokeWidth(id: string): void;
1947
1214
  /**
1948
- * Gets y position from the canvas.
1215
+ * Apply Pen stroke color.
1216
+ *
1217
+ * @param { string } value - Specifies the selected color item value.
1218
+ * @hidden
1219
+ * @returns {void}.
1949
1220
  */
1950
- y?: number;
1221
+ updatePenStrokeColor(value: string): void;
1951
1222
  /**
1952
- * Gets width of the image.
1223
+ * Apply Shape stroke width.
1224
+ *
1225
+ * @param { string } id - Specifies the selected item id.
1226
+ * @hidden
1227
+ * @returns {void}.
1953
1228
  */
1954
- width: number;
1229
+ updateStrokeWidth(id: string): void;
1955
1230
  /**
1956
- * Gets height of the image.
1231
+ * Apply Shape stroke color.
1232
+ *
1233
+ * @param { string } value - Specifies the selected color item value.
1234
+ * @hidden
1235
+ * @returns {void}.
1957
1236
  */
1958
- height: number;
1959
- }
1960
- /**
1961
- * Interface for active object in the imageEditor.
1962
- *
1963
- * @private
1964
- */
1965
- export interface ActivePoint {
1237
+ updateStrokeColor(value: string): void;
1966
1238
  /**
1967
- * Gets mouse down x-point.
1239
+ * Apply Shape fill color.
1240
+ *
1241
+ * @param { string } value - Specifies the selected color item value.
1242
+ * @hidden
1243
+ * @returns {void}.
1968
1244
  */
1969
- startX: number;
1245
+ updateFillColor(value: string): void;
1970
1246
  /**
1971
- * Gets mouse down y-point.
1247
+ * Get pascalToSplitWords from string.
1248
+ *
1249
+ * @param { string } str - Specifies the word.
1250
+ * @hidden
1251
+ * @returns {string}.
1972
1252
  */
1973
- startY: number;
1253
+ pascalToSplitWords(str: string): string;
1974
1254
  /**
1975
- * Gets mouse move x-point.
1255
+ * Get Slider Value.
1256
+ *
1257
+ * @param { string } type - Finetune type.
1258
+ * @hidden
1259
+ * @returns {number}.
1976
1260
  */
1977
- endX?: number;
1261
+ getCurrAdjustmentValue(type: string): number;
1978
1262
  /**
1979
- * Gets mouse move y-point.
1263
+ * Apply transformSelect.
1264
+ *
1265
+ * @param { string } type - Specifies the selected item text.
1266
+ * @hidden
1267
+ * @returns {void}.
1980
1268
  */
1981
- endY?: number;
1269
+ transformSelect(type: string): void;
1982
1270
  /**
1983
- * Gets width of the selection.
1271
+ * Returns default filter.
1272
+ *
1273
+ * @hidden
1274
+ * @returns {string}.
1984
1275
  */
1985
- width?: number;
1276
+ getDefaultFilter(): string;
1986
1277
  /**
1987
- * Gets height of the selection.
1278
+ * To Initialize the component rendering
1279
+ *
1280
+ * @private
1281
+ * @param {HTMLCanvasElement} element - Specifies the canvas element.
1282
+ * @param {BlazorDotnetObject} dotnetRef - Specifies for blazor client to server communication.
1283
+ * @returns {void}
1988
1284
  */
1989
- height?: number;
1285
+ initializeImageEditor(element: HTMLDivElement, dotnetRef?: BlazorDotnetObject): void;
1286
+ private prerender;
1287
+ private initializeZoomSettings;
1288
+ private initializeThemeColl;
1990
1289
  /**
1991
- * Gets radius of the circle dot.
1290
+ * Get the square point for path.
1291
+ *
1292
+ * @param { HTMLDivElement } element - Specifies element.
1293
+ * @param { string } type - Specifies the type.
1294
+ * @param { string } value - Specifies the value.
1295
+ * @hidden
1296
+ * @private
1297
+ * @returns {void}.
1992
1298
  */
1993
- radius?: number;
1299
+ updateToolbar(element: HTMLDivElement, type: string, value?: string): void;
1994
1300
  }