@syncfusion/ej2-image-editor 20.4.51 → 21.1.37

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 (50) hide show
  1. package/CHANGELOG.md +15 -7
  2. package/dist/ej2-image-editor.umd.min.js +2 -2
  3. package/dist/ej2-image-editor.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-image-editor.es2015.js +3286 -1351
  5. package/dist/es6/ej2-image-editor.es2015.js.map +1 -1
  6. package/dist/es6/ej2-image-editor.es5.js +3315 -1375
  7. package/dist/es6/ej2-image-editor.es5.js.map +1 -1
  8. package/dist/global/ej2-image-editor.min.js +2 -2
  9. package/dist/global/ej2-image-editor.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +12 -12
  12. package/src/image-editor/image-editor-model.d.ts +306 -100
  13. package/src/image-editor/image-editor.d.ts +841 -273
  14. package/src/image-editor/image-editor.js +3313 -1384
  15. package/styles/bootstrap-dark.css +10 -5
  16. package/styles/bootstrap.css +10 -5
  17. package/styles/bootstrap4.css +10 -5
  18. package/styles/bootstrap5-dark.css +12 -8
  19. package/styles/bootstrap5.css +12 -8
  20. package/styles/fabric-dark.css +10 -5
  21. package/styles/fabric.css +10 -5
  22. package/styles/fluent-dark.css +10 -5
  23. package/styles/fluent.css +10 -5
  24. package/styles/highcontrast-light.css +10 -5
  25. package/styles/highcontrast.css +10 -5
  26. package/styles/image-editor/_layout.scss +7 -11
  27. package/styles/image-editor/_theme.scss +4 -4
  28. package/styles/image-editor/bootstrap-dark.css +10 -5
  29. package/styles/image-editor/bootstrap.css +10 -5
  30. package/styles/image-editor/bootstrap4.css +10 -5
  31. package/styles/image-editor/bootstrap5-dark.css +12 -8
  32. package/styles/image-editor/bootstrap5.css +12 -8
  33. package/styles/image-editor/fabric-dark.css +10 -5
  34. package/styles/image-editor/fabric.css +10 -5
  35. package/styles/image-editor/fluent-dark.css +10 -5
  36. package/styles/image-editor/fluent.css +10 -5
  37. package/styles/image-editor/highcontrast-light.css +10 -5
  38. package/styles/image-editor/highcontrast.css +10 -5
  39. package/styles/image-editor/material-dark.css +10 -13
  40. package/styles/image-editor/material.css +10 -8
  41. package/styles/image-editor/tailwind-dark.css +10 -5
  42. package/styles/image-editor/tailwind.css +10 -5
  43. package/styles/material-dark.css +10 -13
  44. package/styles/material.css +10 -8
  45. package/styles/tailwind-dark.css +10 -5
  46. package/styles/tailwind.css +10 -5
  47. package/GitLeaksReport.json +0 -1
  48. package/gitleaks-ci/gitleaks +0 -0
  49. package/gitleaks-ci.tar.gz +0 -0
  50. package/styles/image-editor/_material3-definition.scss +0 -11
@@ -2,9 +2,9 @@ import { Component, INotifyPropertyChanged } 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 } from './image-editor-model';
5
+ import { ImageEditorModel, FinetuneSettingsModel, ZoomSettingsModel } from './image-editor-model';
6
6
  /**
7
- * Interface for image finetune values.
7
+ * This interface is used to specify settings for image finetuning operations, including minimum and maximum values, as well as default values.
8
8
  */
9
9
  export interface ImageFinetuneValue {
10
10
  /**
@@ -27,70 +27,158 @@ export interface ImageFinetuneValue {
27
27
  defaultValue: number;
28
28
  }
29
29
  /**
30
- * Interface for image finetune values.
30
+ * 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
31
  */
32
32
  export declare class FinetuneSettings extends ChildProperty<FinetuneSettings> {
33
33
  /**
34
- * Specifies the brightness level of image.
34
+ * Represents a finetune setting for adjusting the brightness of an image.
35
35
  *
36
+ * @type {ImageFinetuneValue}
37
+ *
38
+ * @property {number} value - The brightness level of the image, from -100 to 100.
39
+ * @property {number} min - The minimum brightness value allowed, typically -100.
40
+ * @property {number} max - The maximum brightness value allowed, typically 100.
36
41
  * @default null
37
42
  */
38
43
  brightness: ImageFinetuneValue;
39
44
  /**
40
- * Specifies the contrast level image.
45
+ * Represents a finetune setting for adjusting the contrast of an image.
46
+ *
47
+ * @type {ImageFinetuneValue}
41
48
  *
49
+ * @property {number} value - The contrast level of the image, from -100 to 100.
50
+ * @property {number} min - The minimum contrast value allowed, typically -100.
51
+ * @property {number} max - The maximum contrast value allowed, typically 100.
42
52
  * @default null
43
53
  */
44
54
  contrast: ImageFinetuneValue;
45
55
  /**
46
- * Specifies the hue level image.
56
+ * Represents a finetune setting for adjusting the hue of an image.
47
57
  *
58
+ * @type {ImageFinetuneValue}
59
+ *
60
+ * @property {number} value - The hue level of the image, from 0 to 100.
61
+ * @property {number} min - The minimum hue value allowed, typically 0.
62
+ * @property {number} max - The maximum hue value allowed, typically 100.
48
63
  * @default null
49
64
  */
50
65
  hue: ImageFinetuneValue;
51
66
  /**
52
- * Specifies the saturation level image.
67
+ * Represents a finetune setting for adjusting the saturation of an image.
68
+ *
69
+ * @type {ImageFinetuneValue}
53
70
  *
71
+ * @property {number} value - The saturation level of the image, from -100 to 100.
72
+ * @property {number} min - The minimum saturation value allowed, typically -100.
73
+ * @property {number} max - The maximum saturation value allowed, typically 100.
54
74
  * @default null
55
75
  */
56
76
  saturation: ImageFinetuneValue;
57
77
  /**
58
- * Specifies the exposure level image.
78
+ * Represents a finetune setting for adjusting the exposure of an image.
59
79
  *
80
+ * @type {ImageFinetuneValue}
81
+ *
82
+ * @property {number} value - The exposure level of the image, from -100 to 100.
83
+ * @property {number} min - The minimum exposure value allowed, typically -100.
84
+ * @property {number} max - The maximum exposure value allowed, typically 100.
60
85
  * @default null
61
86
  */
62
87
  exposure: ImageFinetuneValue;
63
88
  /**
64
- * Specifies the opacity level image.
89
+ * Represents a finetune setting for adjusting the opacity of an image.
90
+ *
91
+ * @type {ImageFinetuneValue}
65
92
  *
93
+ * @property {number} value - The opacity level of the image, from 0 to 100.
94
+ * @property {number} min - The minimum opacity value allowed, typically 0.
95
+ * @property {number} max - The maximum opacity value allowed, typically 100.
66
96
  * @default null
67
97
  */
68
98
  opacity: ImageFinetuneValue;
69
99
  /**
70
- * Specifies the blur level image.
100
+ * Represents a finetune setting for adjusting the blur of an image.
71
101
  *
102
+ * @type {ImageFinetuneValue}
103
+ *
104
+ * @property {number} value - The blur level of the image, from 0 to 100.
105
+ * @property {number} min - The minimum blur value allowed, typically 0.
106
+ * @property {number} max - The maximum blur value allowed, typically 100.
72
107
  * @default null
73
108
  */
74
109
  blur: ImageFinetuneValue;
75
110
  }
76
111
  /**
77
- * Image Editor is a graphical user interface that helps to edit an image by performing actions like selection,
78
- * cropping, rotating, inserting text and shapes (rectangles, ellipses, lines), and drawing free hand on top of an image.
112
+ * An interface used to define the settings such as minimum, maximum, and default zoom factors, and the type of zooming which are available in the image editor control.
113
+ */
114
+ export declare class ZoomSettings extends ChildProperty<ZoomSettings> {
115
+ /**
116
+ * Specifies the available options for zooming in an image editor control.
117
+ *
118
+ * @remarks
119
+ * Use this property to enable or disable specific types of zooming in the image editor. The following zooming options are available:
120
+ * MouseWheel: Zooming is performed by scrolling the mouse wheel up and down.
121
+ * Pinch: Zooming is performed using pinch gestures on touch-enabled devices.
122
+ * Commands: Zooming is performed by clicking the CTRL key and either the plus (+) or minus (-) buttons on the keyboard.
123
+ * Toolbar: Zooming is performed using toolbar buttons.
124
+ *
125
+ * By default, this property is set to `null`, which enables all types of zooming.
126
+ *
127
+ * @default null
128
+ */
129
+ zoomTrigger: ZoomTrigger;
130
+ /**
131
+ * Specifies the minimum zooming level to limit the zooming.
132
+ * An integer value that specifies the minimum zooming level. And the default value is 1 (100%).
133
+ *
134
+ * @private
135
+ * @remarks
136
+ * The given value is considered as percentage.
137
+ *
138
+ */
139
+ minZoomFactor: number;
140
+ /**
141
+ * Specifies the maximum zooming level to limit the zooming.
142
+ * An integer value that specifies the maximum zooming level. And the default value is 10 (1000 percent).
143
+ *
144
+ * @remarks
145
+ * The given value is considered as percentage.
146
+ *
147
+ */
148
+ maxZoomFactor: number;
149
+ /**
150
+ * Specifies the default zoom factor to be applied on initial loading of image.
151
+ * An integer value that specifies the current zooming level. And the default value is 1 (100 percent).
152
+ *
153
+ * @remarks
154
+ * The given value is considered as percentage.
155
+ *
156
+ */
157
+ zoomFactor: number;
158
+ /**
159
+ * Specifies the point in which the zooming has been performed in the image editor.
160
+ * A point value that specifies the current zooming point.
161
+ * And the default value is null, and it can be considered as center point of the image editor.
162
+ *
163
+ * @remarks
164
+ * The given value is a point object which has x and y coordinates.
165
+ *
166
+ */
167
+ zoomPoint: Point;
168
+ }
169
+ /**
170
+ * The Image Editor is a graphical user interface for editing images.
171
+ *
172
+ * @remarks
173
+ * 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
+ *
175
+ * {% codeBlock src='image-editor/default/index.md' %}{% endcodeBlock %}
79
176
  *
80
- ```html
81
- * <div id='imageeditor'></div>
82
- * ```
83
- * ```typescript
84
- * <script>
85
- * var imageObj = new ImageEditor({});
86
- * imageObj.appendTo("#imageeditor");
87
- * </script>
88
- * ```
89
177
  */
90
178
  export declare class ImageEditor extends Component<HTMLDivElement> implements INotifyPropertyChanged {
91
179
  /**
92
180
  *
93
- * ImageEditor Private Properties
181
+ * Image Editor Private Properties
94
182
  */
95
183
  private lowerCanvas;
96
184
  private lowerContext;
@@ -138,7 +226,7 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
138
226
  private l10n;
139
227
  private themeColl;
140
228
  private toolbarFn;
141
- private isTimer;
229
+ private quickAccessToolbarFn;
142
230
  private timer;
143
231
  private tempObjColl;
144
232
  private isFirstMove;
@@ -152,7 +240,6 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
152
240
  private currentFilter;
153
241
  private tempFilter;
154
242
  private canvasFilter;
155
- private tempUndoRedoColl;
156
243
  private tempUndoRedoStep;
157
244
  private zoomFactor;
158
245
  private tempZoomFactor;
@@ -204,12 +291,9 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
204
291
  private isFreehandDrawing;
205
292
  private tempFreehandCounter;
206
293
  private tempActObj;
207
- private lastPan;
208
294
  private selectedFreehandColor;
209
295
  private isFreehandDrawCustomized;
210
- private isShapeInserted;
211
296
  private isAllowCropPan;
212
- private tempPannedPoint;
213
297
  private cropObj;
214
298
  private afterCropActions;
215
299
  private isCancelAction;
@@ -224,25 +308,40 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
224
308
  private cancelPointColl;
225
309
  private rotatedFlipCropSelection;
226
310
  private freehandDrawSelectedId;
227
- private panStartObj;
228
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;
329
+ private isErrorImage;
229
330
  /**
230
- * Defines class/multiple classes separated by a space for customizing Image Editor UI.
331
+ * Defines one or more CSS classes that can be used to customize the appearance of an Image Editor component.
332
+ *
333
+ * @remarks
334
+ * One or more CSS classes to customize the appearance of the Image Editor component, such as by changing its toolbar appearance, borders, sizes, or other visual aspects.
231
335
  *
232
336
  * @default ''
233
- ```html
234
- * <div id='imageeditor'></div>
235
- * ```
236
- * ```typescript
237
- * <script>
238
- * var imageObj = new ImageEditor({cssClass: 'e-custom-img-editor'});
239
- * imageObj.appendTo("#imageeditor");
240
- * </script>
241
- * ```
337
+ *
242
338
  */
243
339
  cssClass: string;
244
340
  /**
245
- * Specifies whether the Image Editor is disabled.
341
+ * Defines whether an Image Editor component is enabled or disabled.
342
+ *
343
+ * @remarks
344
+ * A disabled Image Editor component may have a different visual appearance than an enabled one. When set to “true”, the Image Editor component will be disabled, and the user will not be able to interact with it.
246
345
  *
247
346
  * @default false
248
347
  */
@@ -250,13 +349,31 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
250
349
  /**
251
350
  * Specifies the height of the Image Editor.
252
351
  *
352
+ * @remarks
353
+ * The value of height is specified either as a percentage (e.g. '100%') or as a fixed pixel value (e.g. '100px').
354
+ *
253
355
  * @default '100%'
254
356
  */
255
357
  height: string;
256
358
  /**
257
- * Specifies the theme of the Image Editor. The shape selection appearance will be decided based on this property.
258
- * The property supports all the built-in themes of Syncfusion.
259
- * default 'Bootstrap5'
359
+ * Specifies the theme of the Image Editor. The appearance of the shape selection in Image Editor is determined by this property.
360
+ *
361
+ * @remarks
362
+ * The `theme` property supports all the built-in themes of Syncfusion, including:
363
+ * - `Bootstrap5`
364
+ * - `Fluent`
365
+ * - `Tailwind`
366
+ * - `Bootstrap4`
367
+ * - `Material`
368
+ * - `Fabric`
369
+ * - `HighContrast`
370
+ * - `Bootstrap5Dark`
371
+ * - `Bootstrap4Dark`
372
+ * - `MaterialDark`
373
+ * - `FabricDark`
374
+ * - `HighContrastDark`
375
+ *
376
+ * The default value is set to `Theme.Bootstrap5`.
260
377
  *
261
378
  * @isenumeration true
262
379
  * @default Theme.Bootstrap5
@@ -265,204 +382,289 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
265
382
  */
266
383
  theme: string | Theme;
267
384
  /**
268
- * Specifies the toolbar items to perform UI interactions. It accepts both string[] and ItemModel[] to configure its toolbar items.
385
+ * Specifies the toolbar items to perform UI interactions.
386
+ * It accepts both string[] and ItemModel[] to configure its toolbar items. The default value is null.
387
+ * If the property is not defined in the control, the default toolbar will be rendered with preconfigured toolbar commands.
269
388
  * If the property is defined as empty collection, the toolbar will not be rendered.
270
- * Suppose the property is not defined in control, an image editor’s toolbar will be rendered with preconfigured toolbar commands.
271
389
  * The preconfigured toolbar commands are
272
- * Crop: helps to crop an image as ellipse, square, various ratio aspects, custom selection with resize, drag and drop.
273
- * Annotate: help to insert a shape on image that supports rectangle, ellipse, line, text and freehand drawing with resize, drag and drop, and customize its appearance.
274
- * Transform: helps to rotate and flip an image.
275
- * ZoomIn: performs zoom-in an image.
276
- * ZoomOut: performs zoom-out an image.
277
- * Pan: performs panning once zoomed an image.
278
- * Move: disable the pan action and move to perform other actions such as insert a shape, transform, and more.
279
- * Save: save the modified image.
280
- * Open: open an image to perform editing.
281
- * Reset: reset the modification and restore the original image.
282
- *
390
+ * - Crop: helps to crop an image as ellipse, square, various ratio aspects, custom selection with resize, drag and drop.
391
+ * - 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.
392
+ * - Transform: helps to rotate and flip an image.
393
+ * - Finetunes: helps to perform adjustments on an image.
394
+ * - Filters: helps to perform predefined color filters.
395
+ * - ZoomIn: performs zoom-in an image.
396
+ * - ZoomOut: performs zoom-out an image.
397
+ * - Save: save the modified image.
398
+ * - Open: open an image to perform editing.
399
+ * - Reset: reset the modification and restore the original image.
400
+ *
401
+ * @example
402
+ * // Define toolbar items as an array of strings
403
+ * var toolbarItems = ["Crop", "Annotate", "Transform", "ZoomIn", "ZoomOut", "Pan", "Move", "Save", "Open", "Reset"];
404
+ *
405
+ * // Define toolbar items as an array of ItemModel objects
406
+ * var toolbarItems = [
407
+ * { text: "Crop", tooltipText: "Crop", prefixIcon: "e-icon e-crop-icon" }
408
+ * ]
409
+ *
410
+ * @remarks
411
+ * If the toolbarTemplate property is defined in the control, the toolbar will be rendered based on the toolbarTemplate property.
283
412
  * @default null
284
- ```html
285
- * <div id='imageeditor'></div>
286
- * ```
287
- * ```typescript
288
- * <script>
289
- * var imageObj = new ImageEditor({
290
- * toolbar[Crop, ZoomIn, ZoomOut, Transform, {text: 'Custom'}]
291
- * });
292
- * imageObj.appendTo("#imageeditor");
293
- * </script>
294
- * ```
295
- */
296
- toolbar: (string | ImageEditorCommands | ItemModel)[];
297
- /**
298
- * Specifies template to the Image Editor Toolbar.
299
- * If you want to customize the entire toolbar in own way by using this property.
300
- * The property is depending on ‘toolbar’.
413
+ *
414
+ * {% codeBlock src='image-editor/toolbar/index.md' %}{% endcodeBlock %}
415
+ */
416
+ toolbar: (string | ImageEditorCommand | ItemModel)[];
417
+ /**
418
+ * Specifies a custom template for the toolbar of an image editor control.
419
+ * 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.
420
+ *
421
+ * @remarks
422
+ * 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.
301
423
  *
302
424
  * @default null
303
- ```html
304
- * <div id='imageeditor'></div>
305
- * ```
306
- * ```typescript
307
- * <script>
308
- * var imageObj = new ImageEditor({
309
- * toolbarTemplate: '#toolbarTemplate'
310
- * });
311
- * imageObj.appendTo("#imageeditor");
312
- * </script>
313
- * <script id="toolbarTemplate" type="text/x-template">
314
- * <div class = 'e-toolbar'>
315
- * <button id= 'dltbtn'></button>
316
- * </div>
317
- * </script>
318
- * ```
425
+ *
426
+ * {% codeBlock src='image-editor/toolbarTemplate/index.md' %}{% endcodeBlock %}
427
+ *
319
428
  */
320
429
  toolbarTemplate: string;
321
430
  /**
322
- * Specifies the width of the Image Editor.
431
+ * Specifies the width of an Image Editor.
432
+ *
433
+ * @remarks
434
+ * The value of width is specified either as a percentage (e.g. '100%') or as a fixed pixel value (e.g. '100px').
323
435
  *
324
436
  * @default '100%'
325
437
  */
326
438
  width: string;
327
439
  /**
328
- * Specifies whether to perform undo / redo operation.
440
+ * Specifies a boolean value whether enable undo/redo operations in the image editor.
441
+ *
442
+ * @remarks
443
+ * If this property is true, the undo redo options will be enabled in toolbar and can also be accessed via keyboard shortcuts.
444
+ * If set to false, both options will be disabled.
445
+ * The undo redo history is limited to 16. Once the maximum limit is reached, the oldest history item will be removed to make space for the new item.
446
+ *
447
+ * @default true
448
+ *
449
+ */
450
+ allowUndoRedo: boolean;
451
+ /**
452
+ * Specifies whether to show/hide the Quick Access Toolbar while select the shapes.
453
+ *
454
+ * @remarks
455
+ * The Quick Access Toolbar is a small customizable toolbar that shows commonly used commands while select the shapes.
456
+ * Set this property to true to show the Quick Access Toolbar, and false to hide it.
329
457
  *
330
458
  * @default false
331
459
  * @private
460
+ *
461
+ * @remarks
462
+ * Set this property to true to show the quick access toolbar, and false to hide it.
332
463
  */
333
- allowUndoRedo: boolean;
464
+ showQuickAccessToolbar: boolean;
465
+ /**
466
+ * Specifies a custom template content for the quick access toolbar of an Image Editor control.
467
+ *
468
+ * @default null
469
+ * @private
470
+ *
471
+ * @remarks
472
+ * This property only works if the "showQuickAccessToolbar" property is set to true.
473
+ *
474
+ * {% codeBlock src='image-editor/quickAccessToolbarTemplate/index.md' %}{% endcodeBlock %}
475
+ *
476
+ */
477
+ quickAccessToolbarTemplate: string;
334
478
  /**
335
- * Gets or sets whether to prevent the interaction in signature component.
336
- * True, if the signature component is read only state where the user interaction is prevented. The default value is false.
479
+ * Specifies whether to prevent user interaction with the image editor control.
480
+ * A boolean that specifies whether to prevent the interaction in image editor control. The default value is false.
481
+ *
482
+ * @remarks
483
+ * If the property is true, the image editor control becomes read-only, and the user interaction will be prevented.
337
484
  *
338
485
  * @default false
339
486
  * @private
340
487
  */
341
488
  isReadOnly: boolean;
342
489
  /**
343
- * Specifies the Signature in RTL mode that displays the content in the right-to-left direction.
490
+ * Specifies whether to enable RTL mode in image editor control that displays the content in the right-to-left direction.
491
+ * A boolean that specifies whether to enable RTL mode in image editor control. The default value is false.
344
492
  *
345
493
  * @default false
346
494
  * @private
347
495
  */
348
496
  enableRtl: boolean;
349
497
  /**
350
- * Gets or sets whether to persist component's state between page reloads.
351
- * True, if the component's state persistence is enabled. The default value is false.
352
- * Component's property will be stored in browser local storage to persist component's state when page reloads.
498
+ * Specifies a bool value whether enable or disable persist component's state between page reloads. The default value is false.
499
+ *
500
+ * @remarks
501
+ * If this property is true, the controls's state persistence will be enabled.
502
+ * Control's property will be stored in browser local storage to persist control's state when page reloads.
353
503
  *
354
504
  * @default false
355
505
  * @private
356
506
  */
357
507
  enablePersistence: boolean;
358
508
  /**
359
- * It can be done using the filter property of the canvas. The following fine tunes can be supported.
360
- * Brightness: The intensity of the primary colors grows with increased brightness, but the color itself does not change. It can be done by changing brightness and opacity property.
361
- * Contrast: The contrast of an image refers to the difference between the light pixels and dark pixels. Low contrast images contain either a narrow range of colors while high contrast images have bright highlights and dark shadows. It can be done by changing contrast property.
362
- * Hue: Hue distinguishes one color from another and is described using common color names such as green, blue, red, yellow, etc. Value refers to the lightness or darkness of a color. It can be controlled by hue-rotate property.
363
- * Saturation: If saturation increases, colors appear sharper or purer. As saturation decreases, colors appear more washed-out or faded. It can be controlled by saturation and brightness property.
364
- * Exposure: If exposure increases, intensity of light appears brighter. As exposure decreases, intensity of light decreases. Exposure can be controlled by brightness property.
365
- * 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.
366
- * Blur : Adjusting the blur can make an image unfocused or unclear. Blur can be controlled by blur property.
509
+ * Specifies the finetune settings option which can be used to perform color adjustments in the image editor control.
510
+ *
511
+ * @remarks
512
+ * A 'FinetuneSettingsModel' value that specifies the the finetune options which are enabled in image editor control.
513
+ * If the property is not specified, then the default values will be applied for minimum, maximum, and value properties for all finetune options.
514
+ *
515
+ * The possible values are:
516
+ * - Brightness: The intensity of the primary colors grows with increased brightness, but the color itself does not change. It can be done by changing brightness and opacity property.
517
+ * - Contrast: The contrast of an image refers to the difference between the light pixels and dark pixels. Low contrast images contain either a narrow range of colors while high contrast images have bright highlights and dark shadows. It can be done by changing contrast property.
518
+ * - Hue: Hue distinguishes one color from another and is described using common color names such as green, blue, red, yellow, etc. Value refers to the lightness or darkness of a color. It can be controlled by hue-rotate property.
519
+ * - Saturation: If saturation increases, colors appear sharper or purer. As saturation decreases, colors appear more washed-out or faded. It can be controlled by saturation and brightness property.
520
+ * - Exposure: If exposure increases, intensity of light appears brighter. As exposure decreases, intensity of light decreases. Exposure can be controlled by brightness property.
521
+ * - 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.
522
+ * - Blur : Adjusting the blur can make an image unfocused or unclear. Blur can be controlled by blur property.
523
+ *
524
+ * {% codeBlock src='image-editor/finetuneSettings/index.md' %}{% endcodeBlock %}
367
525
  *
368
526
  */
369
527
  finetuneSettings: FinetuneSettingsModel;
370
528
  /**
371
- * Triggers before an image is saved.
529
+ * Specifies the zoom settings to perform zooming action.
530
+ * A 'ZoomSettingsModel' value that specifies the the zoom related options which are enabled in image editor control. The default value is null.
531
+ *
532
+ * @remarks
533
+ * If the property is not specified, then the default settings will be applied for all the properties available in zoom settings.
534
+ *
535
+ * The following options are available in `zoomSettings`.
536
+ * - minZoomFactor: Specifies the minimum zoom factor level to control the zoom.
537
+ * - maxZoomFactor: Specifies the maximum zoom factor level to control the zoom.
538
+ * - zoomFactor: Specifies the zoom factor to be applied to the image.
539
+ * - zoomTrigger: Specifies the types of zooming to be supported in the image editor.
540
+ * - zoomPoint: Specifies the x and y coordinates in which the zooming performed on initial load.
541
+ *
542
+ * {% codeBlock src='image-editor/zoomSettings/index.md' %}{% endcodeBlock %}
543
+ *
544
+ */
545
+ zoomSettings: ZoomSettingsModel;
546
+ /**
547
+ * Event callback that is raised before an image is saved.
372
548
  *
373
549
  * @event beforeSave
374
550
  */
375
551
  beforeSave: EmitType<BeforeSaveEventArgs>;
376
552
  /**
377
- * Triggers once the component rendering is completed.
553
+ * Event callback that is raised after rendering the Image Editor component.
378
554
  *
379
555
  * @event created
380
556
  */
381
557
  created: EmitType<Event>;
382
558
  /**
383
- * Triggers once the component is destroyed with its elements and bound events.
559
+ * Event callback that is raised once the component is destroyed with its elements and bound events.
384
560
  *
385
561
  * @event destroyed
386
562
  */
387
563
  destroyed: EmitType<Event>;
388
564
  /**
389
- * Triggers while zooming an image.
565
+ * Event callback that is raised while zooming an image.
390
566
  *
391
567
  * @event zooming
392
568
  */
393
569
  zooming: EmitType<ZoomEventArgs>;
394
570
  /**
395
- * Triggers while panning an image.
571
+ * Event callback that is raised while panning an image.
396
572
  *
397
573
  * @event panning
398
574
  */
399
575
  panning: EmitType<PanEventArgs>;
400
576
  /**
401
- * Triggers while cropping an image.
577
+ * Event callback that is raised while cropping an image.
402
578
  *
403
579
  * @event cropping
404
580
  */
405
581
  cropping: EmitType<CropEventArgs>;
406
582
  /**
407
- * Triggers while rotating an image.
583
+ * Event callback that is raised while rotating an image.
408
584
  *
409
585
  * @event rotating
410
586
  */
411
587
  rotating: EmitType<RotateEventArgs>;
412
588
  /**
413
- * Triggers while flipping an image.
589
+ * Event callback that is raised while flipping an image.
414
590
  *
415
591
  * @event flipping
416
592
  */
417
593
  flipping: EmitType<FlipEventArgs>;
418
594
  /**
419
- * Triggers while changing shapes in an image.
595
+ * Event callback that is raised while changing shapes in an Image Editor.
420
596
  *
421
597
  * @event shapeChanging
422
598
  */
423
599
  shapeChanging: EmitType<ShapeChangeEventArgs>;
424
600
  /**
425
- * Triggers once an image is opened.
601
+ * Event callback that is raised once an image is opened in an Image Editor.
426
602
  *
427
603
  * @event fileOpened
428
604
  */
429
605
  fileOpened: EmitType<OpenEventArgs>;
430
606
  /**
431
- * Triggers once an image is saved.
607
+ * Event callback that is raised once an image is saved.
432
608
  *
433
609
  * @event saved
434
610
  */
435
611
  saved: EmitType<SaveEventArgs>;
436
612
  /**
437
- * Triggers once the toolbar is created.
613
+ * Event callback that is raised once the toolbar is created.
438
614
  *
439
615
  * @event toolbarCreated
440
616
  */
441
617
  toolbarCreated: EmitType<ToolbarEventArgs>;
442
618
  /**
443
- * Triggers while updating/refreshing the toolbar
619
+ * Event callback that is raised while updating/refreshing the toolbar
444
620
  *
445
621
  * @event toolbarUpdating
622
+ *
623
+ * {% codeBlock src='image-editor/toolbarUpdating/index.md' %}{% endcodeBlock %}
624
+ *
446
625
  */
447
626
  toolbarUpdating: EmitType<ToolbarEventArgs>;
448
627
  /**
449
- * Triggers once the toolbar item is clicked.
628
+ * Event callback that is raised once the toolbar item is clicked.
450
629
  *
451
630
  * @event toolbarItemClicked
452
631
  */
453
632
  toolbarItemClicked: EmitType<ClickEventArgs>;
454
633
  /**
455
- * Triggers when applying filter to an image.
634
+ * Event callback that is raised when applying filter to an image.
456
635
  *
457
636
  * @event imageFiltering
458
637
  */
459
638
  imageFiltering: EmitType<ImageFilterEventArgs>;
460
639
  /**
461
- * Triggers when applying fine tune to an image.
640
+ * Event callback that is raised when applying fine tune to an image.
462
641
  *
463
642
  * @event finetuneValueChanging
464
643
  */
465
644
  finetuneValueChanging: EmitType<FinetuneEventArgs>;
645
+ /**
646
+ * Event callback that is raised while clicking on an image in the Image Editor.
647
+ *
648
+ * @event click
649
+ */
650
+ click: EmitType<ImageEditorClickEventArgs>;
651
+ /**
652
+ * Event callback that is triggered when the quick access toolbar is opening.
653
+ *
654
+ * @event quickAccessToolbarOpening
655
+ * @private
656
+ *
657
+ * @remarks
658
+ * Use this event to customize the toolbar items that appear in the quick access toolbar.
659
+ * To customize the toolbar items, modify the "toolbarItems" collection property of the event arguments.
660
+ * The "toolbarItems" collection contains string and ItemModel values.
661
+ * The string values representing the names of the built-in toolbar items to display.
662
+ * The ItemModel values representing the ItemModel of custom toolbar items to display.
663
+ *
664
+ * {% codeBlock src='image-editor/quickAccessToolbarOpening/index.md' %}{% endcodeBlock %}
665
+ *
666
+ */
667
+ quickAccessToolbarOpening: EmitType<QuickAccessToolbarEventArgs>;
466
668
  /**
467
669
  *
468
670
  * Constructor for creating the widget
@@ -529,11 +731,13 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
529
731
  private toPascalCase;
530
732
  private createCanvas;
531
733
  private createToolbar;
734
+ private createQuickAccessToolbar;
532
735
  private createContextualToolbar;
533
736
  private updateContextualToolbar;
534
737
  private createBottomToolbar;
535
738
  private initBottomToolbar;
536
739
  private toolbarTemplateFn;
740
+ private quickAccessToolbarTemplateFn;
537
741
  private templateParser;
538
742
  private getLeftToolbarItem;
539
743
  private getRightToolbarItem;
@@ -541,6 +745,7 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
541
745
  private getZoomToolbarItem;
542
746
  private processToolbar;
543
747
  private processSubToolbar;
748
+ private wireZoomBtnEvents;
544
749
  private isToolbar;
545
750
  private initToolbarItem;
546
751
  private enableDisableToolbarBtn;
@@ -552,6 +757,7 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
552
757
  private renderSaveBtn;
553
758
  private cropSelect;
554
759
  private transformSelect;
760
+ private resetZoom;
555
761
  private performTransformation;
556
762
  private updateTransform;
557
763
  private getShapesToolbarItem;
@@ -574,6 +780,11 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
574
780
  private refreshUndoRedoColl;
575
781
  private applyPreviewFilter;
576
782
  private contextualToolbarClicked;
783
+ private zoomInBtnClickHandler;
784
+ private zoomOutBtnClickHandler;
785
+ private zoomInBtnMouseDownHandler;
786
+ private zoomOutBtnMouseDownHandler;
787
+ private zoomBtnMouseUpHandler;
577
788
  private defToolbarClicked;
578
789
  private performCancel;
579
790
  private applyShape;
@@ -582,6 +793,9 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
582
793
  private openSlider;
583
794
  private setTempFilterProperties;
584
795
  private okBtn;
796
+ private getZeroZoomPointCollValue;
797
+ private getZeroZoomObjValue;
798
+ private updateCurrentUndoRedoColl;
585
799
  private updateBrightnessFilter;
586
800
  private isFreehandDrawIndex;
587
801
  private deleteFreehandDraw;
@@ -597,6 +811,7 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
597
811
  private renderSlider;
598
812
  private createSlider;
599
813
  private getCurrAdjustmentValue;
814
+ private getFinetuneOption;
600
815
  private setCurrAdjustmentValue;
601
816
  private cancelPan;
602
817
  private callMainToolbar;
@@ -649,6 +864,7 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
649
864
  private pointsVerticalFlip;
650
865
  private flipFreehandrawColl;
651
866
  private rotateFreehandDrawColl;
867
+ private updateCursorPointsForFreehandDrawing;
652
868
  private zoomFreehandDrawColl;
653
869
  private zoomX;
654
870
  private zoomY;
@@ -698,24 +914,39 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
698
914
  private getDistance;
699
915
  private setXYPoints;
700
916
  private touchStartHandler;
917
+ private getCurrentIndex;
918
+ private isShapeClick;
701
919
  private isShapeTouch;
702
920
  private isFreehandDrawTouch;
703
921
  private selectFreehandDraw;
704
922
  private closeContextualToolbar;
923
+ private applyObj;
924
+ private applyCurrShape;
705
925
  private mouseDownEventHandler;
706
926
  private mouseMoveEventHandler;
707
927
  private mouseUpEventHandler;
928
+ private getSquarePointForFreehandDraw;
929
+ private getQuickAccessToolbarItem;
930
+ private renderQuickAccessToolbar;
931
+ private deleteItem;
708
932
  private keyDownEventHandler;
709
933
  private keyUpEventHandler;
710
934
  private canvasMouseDownHandler;
711
935
  private canvasMouseMoveHandler;
712
936
  private canvasMouseUpHandler;
713
937
  private handleScroll;
938
+ private performPointZoom;
939
+ private adjustPanning;
940
+ private drawZoomPanImage;
714
941
  private textKeyDown;
715
942
  private adjustToScreen;
716
943
  private screenOrientation;
717
944
  private windowResizeHandler;
945
+ private alignTextAreaIntoCanvas;
946
+ private refreshMainToolbar;
718
947
  private updatePreviousShapeSettings;
948
+ private zoomAction;
949
+ private getCurrentZoomFactor;
719
950
  private disableZoomOutBtn;
720
951
  private setZoomDimension;
721
952
  private applyCurrActObj;
@@ -725,6 +956,7 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
725
956
  private setTextBoxPos;
726
957
  private setTextBoxPoints;
727
958
  private findTextTarget;
959
+ private renderTextArea;
728
960
  private selectedText;
729
961
  private setTextBoxHeight;
730
962
  private setTextBoxWidth;
@@ -733,7 +965,9 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
733
965
  private setDragHeight;
734
966
  private triggerShapeChange;
735
967
  private updateActivePoint;
968
+ private updateArrowDirection;
736
969
  private preventDraggingInvertly;
970
+ private preventTextDraggingInvertly;
737
971
  private updateNWPoints;
738
972
  private updateNPoints;
739
973
  private updateNEPoints;
@@ -752,10 +986,10 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
752
986
  private shapeCircle;
753
987
  private drawOuterSelection;
754
988
  private drawObject;
755
- private rotateShape;
756
989
  private updateActiveObject;
757
990
  private drawShapeObj;
758
991
  private shapeLine;
992
+ private shapeArrow;
759
993
  private shapeText;
760
994
  private updateActPoint;
761
995
  private drawSquareLines;
@@ -766,6 +1000,7 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
766
1000
  private getCurrentFlipState;
767
1001
  private rotateDegree;
768
1002
  private updateCursorStyles;
1003
+ private updateCursorStylesForArrow;
769
1004
  private drawCropRatio;
770
1005
  private setDragDirection;
771
1006
  private updatePoints;
@@ -796,8 +1031,13 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
796
1031
  private rotateObjColl;
797
1032
  private redrawShape;
798
1033
  private applyActObj;
1034
+ private destroyQuickAccessToolbar;
799
1035
  private apply;
800
1036
  private setCenterPoints;
1037
+ private updateTriangleRatio;
1038
+ private updateTrianglePoints;
1039
+ private setDimension;
1040
+ private updateUndoRedo;
801
1041
  private drawShape;
802
1042
  private drawShapeText;
803
1043
  private updateShapeChangeEventArgs;
@@ -839,42 +1079,69 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
839
1079
  private performUndoDefaultAction;
840
1080
  private setAdjustment;
841
1081
  private updateFilter;
1082
+ private rotateImage;
1083
+ private flipImage;
1084
+ private componentToHex;
1085
+ private rgbToHex;
842
1086
  /**
843
- * Clear a current selection.
1087
+ * Clears the current selection performed in the image editor.
844
1088
  *
845
1089
  * @returns {void}.
846
1090
  */
847
1091
  clearSelection(): void;
848
1092
  /**
849
- * Crops an image based on the selection.
850
- * The selection can be done through programmatically using the select method or through UI interactions.
1093
+ * Crops an image based on the selection done in the image editor.
1094
+ *
1095
+ * @remarks
1096
+ * The selection can be done through programmatically using the 'select' method or through UI interactions.
851
1097
  *
852
1098
  * @returns {boolean}.
1099
+ *
1100
+ * {% codeBlock src='image-editor/crop/index.md' %}{% endcodeBlock %}
1101
+ *
853
1102
  */
854
1103
  crop(): boolean;
855
1104
  /**
856
- * Flips an image by horizontally or vertically.
1105
+ * Flips an image by horizontally or vertically in the image editor.
1106
+ *
1107
+ * @param { Direction } direction - Specifies the direction to flip the image.
1108
+ * A horizontal direction for horizontal flipping and vertical direction for vertical flipping.
1109
+ *
1110
+ * @remarks
1111
+ * It flips the shapes including rectangle, circle, line, text, and freehand drawings.
857
1112
  *
858
- * @param {Direction } direction - Specifies the direction to flip the image.
859
1113
  * @returns {void}.
1114
+ *
1115
+ * {% codeBlock src='image-editor/zoom/index.md' %}{% endcodeBlock %}
1116
+ *
860
1117
  */
861
1118
  flip(direction: Direction): void;
862
1119
  /**
863
- * Return an image as ImageData.
1120
+ * Returns an image as ImageData to load it in to a canvas.
1121
+ *
1122
+ * @remarks
1123
+ * The data returned from this method is directly drawn in a canvas using 'putImageData' method.
1124
+ * And then the user can get the base64 string from the canvas using toDataURL method.
864
1125
  *
865
1126
  * @returns {ImageData}.
866
1127
  */
867
1128
  getImageData(): ImageData;
868
1129
  /**
869
- * Load/opens an image for editing within an image editor.
1130
+ * Opens an image as URL or ImageData for editing in an image editor.
1131
+ *
1132
+ * @param {string | ImageData } data - Specifies url of the image or image data.
870
1133
  *
871
- * @param {string | ImageData } data - Specifies url of the Image or image data.
1134
+ * @remarks
1135
+ * The supported file types are JPG, JPEG, PNG, and SVG.
872
1136
  *
873
1137
  * @returns {void}.
874
1138
  */
875
1139
  open(data: string | ImageData): void;
876
1140
  /**
877
- * Reset all the changes and revert to original image.
1141
+ * Reset all the changes done in an image editor and revert to original image.
1142
+ *
1143
+ * @remarks
1144
+ * The undo redo collection also cleared while resetting the image editor.
878
1145
  *
879
1146
  * @returns {void}.
880
1147
  */
@@ -883,9 +1150,15 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
883
1150
  * Rotate an image to clockwise and anti-clockwise.
884
1151
  *
885
1152
  * @param {number} degree - Specifies a degree to rotate an image.
886
- * positive integer value for clockwise and negative integer value for anti-clockwise rotation.
1153
+ * A positive integer value for clockwise and negative integer value for anti-clockwise rotation.
1154
+ *
1155
+ * @remarks
1156
+ * It rotated the shapes including rectangle, circle, line, text, and freehand drawings.
887
1157
  *
888
1158
  * @returns {boolean}.
1159
+ *
1160
+ * {% codeBlock src='image-editor/rotate/index.md' %}{% endcodeBlock %}
1161
+ *
889
1162
  */
890
1163
  rotate(degree: number): boolean;
891
1164
  /**
@@ -894,6 +1167,9 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
894
1167
  * @param {string} type - Specifies a format of image to be saved.
895
1168
  * @param {string} fileName – Specifies a file name to be saved
896
1169
  *
1170
+ * @remarks
1171
+ * The supported file types are JPG, JPEG, PNG, and SVG.
1172
+ *
897
1173
  * @returns {void}.
898
1174
  */
899
1175
  export(type?: string, fileName?: string): void;
@@ -905,26 +1181,20 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
905
1181
  * @param {number} startY – Specifies the start y-coordinate point of the selection.
906
1182
  * @param {number} width - Specifies the width of the selection area.
907
1183
  * @param {number} height - Specifies the height of the selection area.
1184
+ *
1185
+ * @remarks
1186
+ * The selection UI is based on the 'theme' property.
1187
+ *
908
1188
  * @returns {void}.
909
- * ```html
910
- * <div id='imageeditor'></div>
911
- * ```
912
- * ```typescript
913
- * <script>
914
- * var imageObj = new ImageEditor({
915
- * created : () => {
916
- * imageObj.select('16:9', 10, 10);
917
- * }
918
- * });
919
- * imageObj.appendTo("#imageeditor");
920
- * </script>
921
- * ```
1189
+ *
1190
+ * {% codeBlock src='image-editor/select/index.md' %}{% endcodeBlock %}
1191
+ *
922
1192
  */
923
1193
  select(type: string, startX?: number, startY?: number, width?: number, height?: number): void;
924
1194
  /**
925
- * Enable or disable a freehand drawing in an Image Editor.
1195
+ * Enable or disable a freehand drawing option in an Image Editor.
926
1196
  *
927
- * @param {boolean} value - Specifies a value whether enable or disable freehand drawing.
1197
+ * @param {boolean} value - Specifies a value whether to enable or disable freehand drawing.
928
1198
  *
929
1199
  * @returns {void}.
930
1200
  * @private
@@ -933,9 +1203,12 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
933
1203
  /**
934
1204
  * Enable or disable a freehand drawing in an Image Editor.
935
1205
  *
936
- * @param {boolean} value - Specifies a value whether enable or disable freehand drawing.
1206
+ * @param {boolean} value - Specifies a value whether to enable or disable freehand drawing.
937
1207
  *
938
- * @returns {void}.
1208
+ * @remarks
1209
+ * User can directly drawing on a canvas after enabling this option.
1210
+ *
1211
+ * @returns {void}.
939
1212
  */
940
1213
  freehandDraw(value: boolean): void;
941
1214
  /**
@@ -943,41 +1216,39 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
943
1216
  *
944
1217
  * @param {boolean} value - Specifies a value whether enable or disable panning.
945
1218
  *
1219
+ * @remarks
1220
+ * This option will take into effect once the image's visibility is hidden when zooming an image or selection has been performed.
1221
+ *
946
1222
  * @returns {void}.
947
1223
  */
948
1224
  pan(value: boolean): void;
949
1225
  /**
950
- * Increase / Decrease the magnification of an image.
1226
+ * Zoom in or out on a point in the image editor.
1227
+ *
1228
+ * @param {number} zoomFactor - The percentage-based zoom factor to use (e.g. 20 for 2x zoom).
1229
+ * @param {Point} zoomPoint - The point in the image editor to zoom in/out on.
1230
+ *
1231
+ * @remarks
1232
+ * Zooming directly enables the panning option when the image's visibility is hidden.
1233
+ * User can disable it by using 'Pan' method.
1234
+ * @returns {void}
951
1235
  *
952
- * @param {boolean} value - Specifies a value to be zoomed on the image.
953
- * @returns {void}.
954
1236
  */
955
- zoom(value: number): void;
1237
+ zoom(zoomFactor: number, zoomPoint?: Point): void;
956
1238
  /**
957
1239
  * Draw ellipse on an image.
958
1240
  *
959
1241
  * @param {number} x - Specifies x-coordinate of ellipse.
960
1242
  * @param {number} y - Specifies y-coordinate of ellipse.
961
- * @param {number} radiusX - the radius x point for the ellipse.
962
- * @param {number} radiusY - the radius y point for the ellipse.
963
- * @param {number} strokeWidth - the stroke width of ellipse.
964
- * @param {string} strokeColor - the stroke color of ellipse.
965
- * @param {string} fillColor - the fill color of the ellipse.
1243
+ * @param {number} radiusX - Specifies the radius x point for the ellipse.
1244
+ * @param {number} radiusY - Specifies the radius y point for the ellipse.
1245
+ * @param {number} strokeWidth - Specifies the stroke width of ellipse.
1246
+ * @param {string} strokeColor - Specifies the stroke color of ellipse.
1247
+ * @param {string} fillColor - Specifies the fill color of the ellipse.
966
1248
  * @returns {boolean}.
967
1249
  *
968
- * ```html
969
- * <div id='imageeditor'></div>
970
- * ```
971
- * ```typescript
972
- * <script>
973
- * * var imageObj = new ImageEditor({
974
- * created: () => {
975
- * imageObj.drawEllipse(10, 10, 40, 60);
976
- * }
977
- * });
978
- * imageObj.appendTo("#imageeditor");
979
- * </script>
980
- * ```
1250
+ * {% codeBlock src='image-editor/ellipse/index.md' %}{% endcodeBlock %}
1251
+ *
981
1252
  */
982
1253
  drawEllipse(x?: number, y?: number, radiusX?: number, radiusY?: number, strokeWidth?: number, strokeColor?: string, fillColor?: string): boolean;
983
1254
  /**
@@ -992,6 +1263,19 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
992
1263
  * @returns {boolean}.
993
1264
  */
994
1265
  drawLine(startX?: number, startY?: number, endX?: number, endY?: number, strokeWidth?: number, strokeColor?: string): boolean;
1266
+ /**
1267
+ * Draw arrow on an image.
1268
+ *
1269
+ * @param {number} startX – Specifies start point x-coordinate of arrow.
1270
+ * @param {number} startY – Specifies start point y-coordinate of arrow.
1271
+ * @param {number} endX - Specifies end point x-coordinates of arrow.
1272
+ * @param {number} endY - Specifies end point y-coordinates of the arrow.
1273
+ * @param {number} strokeWidth - Specifies the stroke width of arrow.
1274
+ * @param {string} strokeColor - Specifies the stroke color of arrow.
1275
+ * @returns {boolean}.
1276
+ * @private
1277
+ */
1278
+ drawArrow(startX?: number, startY?: number, endX?: number, endY?: number, strokeWidth?: number, strokeColor?: string): boolean;
995
1279
  /**
996
1280
  * Draw a rectangle on an image.
997
1281
  *
@@ -1001,7 +1285,7 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1001
1285
  * @param {number} height - Specifies the height of the rectangle.
1002
1286
  * @param {number} strokeWidth - Specifies the stroke width of rectangle.
1003
1287
  * @param {string} strokeColor - Specifies the stroke color of rectangle.
1004
- * @param {string} fillColor - the fill color of the rectangle.
1288
+ * @param {string} fillColor - Specifies the fill color of the rectangle.
1005
1289
  * @returns {boolean}.
1006
1290
  */
1007
1291
  drawRectangle(x?: number, y?: number, width?: number, height?: number, strokeWidth?: number, strokeColor?: string, fillColor?: string): boolean;
@@ -1018,60 +1302,30 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1018
1302
  * @param {string} color - Specifies font color of the text.
1019
1303
  * @returns {boolean}.
1020
1304
  *
1021
- * ```html
1022
- * <div id='imageeditor'></div>
1023
- * ```
1024
- * ```typescript
1025
- * <script>
1026
- * var imageObj = new ImageEditor({
1027
- * created: () => {
1028
- * imageObj.drawText(10, 10, 'Syncfusion', 'Arial', 12, true, true, '#000');
1029
- * }
1030
- * });
1031
- * imageObj.appendTo("#imageeditor");
1032
- *
1033
- * </script>
1034
- * ```
1305
+ * {% codeBlock src='image-editor/text/index.md' %}{% endcodeBlock %}
1306
+ *
1035
1307
  */
1036
1308
  drawText(x?: number, y?: number, text?: string, fontFamily?: string, fontSize?: number, bold?: boolean, italic?: boolean, color?: string): boolean;
1037
1309
  /**
1038
- * Selects a shape based on the given shape id. The id can be got from the public method ‘getShapeSettings’.
1310
+ * Select a shape based on the given shape id.
1311
+ * Use 'getShapeSettings' method to get the shape id which is then passed to perform selection.
1039
1312
  *
1040
1313
  * @param {string} id - Specifies the shape id to select a shape on an image.
1041
1314
  * @returns {boolean}.
1042
- * ```html
1043
- * <div id='imageeditor'></div>
1044
- * ```
1045
- * ```typescript
1046
- * <script>
1047
- * var imageObj = new ImageEditor({
1048
- * created: () => {
1049
- * imageObj.selectShape('shape_1');
1050
- * }
1051
- * });
1052
- * imageObj.appendTo("#imageeditor");
1053
- * </script>
1054
- * ```
1315
+ *
1316
+ * {% codeBlock src='image-editor/selectShape/index.md' %}{% endcodeBlock %}
1317
+ *
1055
1318
  */
1056
1319
  selectShape(id: string): boolean;
1057
1320
  /**
1058
- * Deletes a shape based on the given shape id. The id can be got from the public method getShapeSettings.
1321
+ * Deletes a shape based on the given shape id.
1322
+ * Use 'getShapeSettings' method to get the shape id which is then passed to perform selection.
1059
1323
  *
1060
1324
  * @param {string} id - Specifies the shape id to delete the shape on an image.
1061
1325
  * @returns {void}.
1062
- * ```html
1063
- * <div id='imageeditor'></div>
1064
- * ```
1065
- * ```typescript
1066
- * <script>
1067
- * var imageObj = new ImageEditor({
1068
- * created: () => {
1069
- * imageObj.deleteShape('shape_1');
1070
- * }
1071
- * });
1072
- * imageObj.appendTo("#imageeditor");
1073
- * </script>
1074
- * ```
1326
+ *
1327
+ * {% codeBlock src='image-editor/deleteShape/index.md' %}{% endcodeBlock %}
1328
+ *
1075
1329
  */
1076
1330
  deleteShape(id: string): void;
1077
1331
  /**
@@ -1079,19 +1333,9 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1079
1333
  *
1080
1334
  * @param {string} id - Specifies the shape id on an image.
1081
1335
  * @returns {ShapeSettings}.
1082
- * ```html
1083
- * <div id='imageeditor'></div>
1084
- * ```
1085
- * ```typescript
1086
- * <script>
1087
- * var imageObj = new ImageEditor({
1088
- * created: () => {
1089
- * imageObj.getShapeSetting('shape_1');
1090
- * }
1091
- * });
1092
- * imageObj.appendTo("#imageeditor");
1093
- * </script>
1094
- * ```
1336
+ *
1337
+ * {% codeBlock src='image-editor/getShapeSetting/index.md' %}{% endcodeBlock %}
1338
+ *
1095
1339
  */
1096
1340
  getShapeSetting(id: string): ShapeSettings;
1097
1341
  /**
@@ -1107,79 +1351,269 @@ export declare class ImageEditor extends Component<HTMLDivElement> implements IN
1107
1351
  */
1108
1352
  update(): void;
1109
1353
  /**
1110
- * To apply the filters to an image
1354
+ * Finetuning an image with the given type of finetune and its value in the image editor.
1111
1355
  *
1112
- * @param {ImageFinetuneOptions } finetuneOption - Specifies the finetune options to the image.
1356
+ * @param {ImageFinetuneOption } finetuneOption - Specifies the finetune options to be performed in the image.
1113
1357
  * @param {number } value - Specifies the value for finetuning the image.
1358
+ *
1359
+ * @remarks
1360
+ * The finetuning will not affect the shapes background and border color.
1361
+ *
1114
1362
  * @returns {void}.
1115
1363
  *
1116
1364
  */
1117
- finetuneImage(finetuneOption: ImageFinetuneOptions, value: number): void;
1365
+ finetuneImage(finetuneOption: ImageFinetuneOption, value: number): void;
1118
1366
  /**
1119
- * To apply the filters to an image
1367
+ * Filtering an image with the given type of filters.
1368
+ *
1369
+ * @param {ImageFilterOption } filterOption - Specifies the filter options to the image.
1120
1370
  *
1121
- * @param {ImageFilterOptions } filterOption - Specifies the filter options to the image.
1371
+ * @remarks
1372
+ * The filtering will not affect the shape's background and border color.
1122
1373
  * @returns {void}.
1123
1374
  */
1124
- applyImageFilter(filterOption: ImageFilterOptions): void;
1375
+ applyImageFilter(filterOption: ImageFilterOption): void;
1125
1376
  /**
1126
- * Undo the last user action.
1377
+ * Reverse the last action which performed by the user in the Image Editor.
1378
+ *
1379
+ * @remarks
1380
+ * This method will take into effect once the 'allowUndoRedo' property is enabled.
1127
1381
  *
1128
- * @private
1129
1382
  * @returns {void}.
1130
1383
  */
1131
1384
  undo(): void;
1132
1385
  /**
1133
- * Redo the last user action.
1386
+ * Redo the last user action that was undone by the user or `undo` method.
1134
1387
  *
1135
- * @private
1388
+ * @remarks
1389
+ * This method will take into effect once the 'allowUndoRedo' property is enabled.
1136
1390
  * @returns {void}.
1137
1391
  */
1138
1392
  redo(): void;
1393
+ /**
1394
+ * Get the dimension of an image in the image editor such as x, y, width, and height.
1395
+ * The method helps to get dimension after cropped an image.
1396
+ *
1397
+ * @returns {Dimension}.
1398
+ * A Dimension object containing the x, y, width, and height of an image.
1399
+ */
1400
+ getImageDimension(): Dimension;
1401
+ }
1402
+ /**
1403
+ * An enum representing the file types supported by the image editor.
1404
+ *
1405
+ * @enum {string}
1406
+ */
1407
+ export declare enum FileType {
1408
+ /** The PNG file type. */
1409
+ Png = "Png",
1410
+ /** The JPEG file type. */
1411
+ Jpeg = "Jpeg",
1412
+ /** The SVG file type. */
1413
+ Svg = "Svg"
1139
1414
  }
1140
1415
  /**
1141
- * Defines the Image Editor file type.
1416
+ * An enumeration representing the direction of an image editor operation.
1417
+ *
1418
+ * @enum {string}
1142
1419
  */
1143
- export declare type FileType = 'Png' | 'Jpeg' | 'Svg';
1420
+ export declare enum Direction {
1421
+ /** The horizontal direction. */
1422
+ Horizontal = "Horizontal",
1423
+ /** The vertical direction. */
1424
+ Vertical = "Vertical"
1425
+ }
1144
1426
  /**
1145
- * Defines the direction to flip the image on Image Editor.
1427
+ * An enumeration representing the type of shape to be added in the image editor.
1428
+ *
1429
+ * @enum {string}
1146
1430
  */
1147
- export declare type Direction = 'Horizontal' | 'Vertical';
1431
+ export declare enum ShapeType {
1432
+ /** A rectangle shape. */
1433
+ Rectangle = "Rectangle",
1434
+ /** An ellipse shape. */
1435
+ Ellipse = "Ellipse",
1436
+ /** A line shape. */
1437
+ Line = "Line",
1438
+ /** An arrow shape. */
1439
+ Arrow = "Arrow",
1440
+ /** A text shape. */
1441
+ Text = "Text",
1442
+ /** A freehand drawing shape. */
1443
+ FreehandDraw = "FreehandDraw"
1444
+ }
1148
1445
  /**
1149
- * Defines the Image Editor shape type.
1446
+ * An enumeration representing the different ways to trigger zooming in the image editor.
1447
+ *
1448
+ * @enum {number}
1150
1449
  */
1151
- export declare type ShapeType = 'Rectangle' | 'Ellipse' | 'Line' | 'Text' | 'FreehandDraw';
1450
+ export declare enum ZoomTrigger {
1451
+ /** Zooming triggered by mouse wheel. */
1452
+ MouseWheel = 1,
1453
+ /** Zooming triggered by pinch gesture. */
1454
+ Pinch = 2,
1455
+ /** Zooming triggered by command keys. */
1456
+ Commands = 4,
1457
+ /** Zooming triggered by toolbar button click. */
1458
+ Toolbar = 8
1459
+ }
1152
1460
  /**
1153
- * Defines the theme for Image Editor.
1461
+ * An enum representing the available themes in the image editor.
1154
1462
  */
1155
- export declare type Theme = 'Bootstrap5' | 'Bootstrap5Dark' | 'Tailwind' | 'TailwindDark' | 'Fluent' | 'FluentDark' | 'Bootstrap4' | 'Bootstrap' | 'BootstrapDark' | 'Material' | 'MaterialDark' | 'Fabric' | 'FabricDark' | 'Highcontrast';
1463
+ export declare enum Theme {
1464
+ /** The Bootstrap 5 theme. */
1465
+ Bootstrap5 = "Bootstrap5",
1466
+ /** The dark variant of the Bootstrap 5 theme. */
1467
+ Bootstrap5Dark = "Bootstrap5Dark",
1468
+ /** The Tailwind CSS theme. */
1469
+ Tailwind = "Tailwind",
1470
+ /** The dark variant of the Tailwind CSS theme. */
1471
+ TailwindDark = "TailwindDark",
1472
+ /** The Fluent UI theme. */
1473
+ Fluent = "Fluent",
1474
+ /** The dark variant of the Fluent UI theme. */
1475
+ FluentDark = "FluentDark",
1476
+ /** The Bootstrap 4 theme. */
1477
+ Bootstrap4 = "Bootstrap4",
1478
+ /** The Bootstrap theme. */
1479
+ Bootstrap = "Bootstrap",
1480
+ /** The dark variant of the Bootstrap theme. */
1481
+ BootstrapDark = "BootstrapDark",
1482
+ /** The Material Design theme. */
1483
+ Material = "Material",
1484
+ /** The dark variant of the Material Design theme. */
1485
+ MaterialDark = "MaterialDark",
1486
+ /** The Fabric theme. */
1487
+ Fabric = "Fabric",
1488
+ /** The dark variant of the Fabric theme. */
1489
+ FabricDark = "FabricDark",
1490
+ /** The high contrast theme. */
1491
+ Highcontrast = "Highcontrast"
1492
+ }
1156
1493
  /**
1157
- * Defines the toolbar items for Image Editor.
1494
+ * An enum representing the available toolbar commands in the image editor.
1158
1495
  */
1159
- export declare type ImageEditorCommands = 'Crop' | 'Transform' | 'Annotate' | 'ZoomIn' | 'ZoomOut' | 'Open' | 'Reset' | 'Save' | 'Pan' | 'Move' | 'Pen' | 'Line' | 'Rectangle' | 'Ellipse' | 'Text' | 'CustomSelection' | 'CircleSelection' | 'SquareSelection' | 'RatioSelection' | 'RotateLeft' | 'RotateRight' | 'FlipHorizontal' | 'FlipVertical';
1496
+ export declare enum ImageEditorCommand {
1497
+ Crop = "Crop",
1498
+ Transform = "Transform",
1499
+ Annotate = "Annotate",
1500
+ ZoomIn = "ZoomIn",
1501
+ ZoomOut = "ZoomOut",
1502
+ Open = "Open",
1503
+ Reset = "Reset",
1504
+ Save = "Save",
1505
+ Pan = "Pan",
1506
+ Move = "Move",
1507
+ Pen = "Pen",
1508
+ Line = "Line",
1509
+ Arrow = "Arrow",
1510
+ Rectangle = "Rectangle",
1511
+ Ellipse = "Ellipse",
1512
+ Text = "Text",
1513
+ CustomSelection = "CustomSelection",
1514
+ CircleSelection = "CircleSelection",
1515
+ SquareSelection = "SquareSelection",
1516
+ RatioSelection = "RatioSelection",
1517
+ RotateLeft = "RotateLeft",
1518
+ RotateRight = "RotateRight",
1519
+ FlipHorizontal = "FlipHorizontal",
1520
+ FlipVertical = "FlipVertical"
1521
+ }
1160
1522
  /**
1161
- * Defines the image filter options
1523
+ * An enumeration of available image filter options.
1524
+ *
1525
+ * @remarks
1526
+ * These options can be used with the `applyImageFilter` method of the image editor control to apply filters to an image.
1162
1527
  */
1163
- export declare type ImageFilterOptions = 'Default' | 'Chrome' | 'Cold' | 'Warm' | 'Grayscale' | 'Sepia' | 'Invert';
1528
+ export declare enum ImageFilterOption {
1529
+ /** Default filter */
1530
+ Default = "Default",
1531
+ /** Chrome filter */
1532
+ Chrome = "Chrome",
1533
+ /** Cold filter */
1534
+ Cold = "Cold",
1535
+ /** Warm filter */
1536
+ Warm = "Warm",
1537
+ /** Grayscale filter */
1538
+ Grayscale = "Grayscale",
1539
+ /** Sepia filter */
1540
+ Sepia = "Sepia",
1541
+ /** Invert filter */
1542
+ Invert = "Invert"
1543
+ }
1164
1544
  /**
1165
- * Defines the image filter options
1545
+ * An enumeration of available image finetune options.
1546
+ *
1547
+ * @remarks
1548
+ * These options can be used with the `finetuneImage` method of the image editor control to apply finetuning to an image.
1166
1549
  */
1167
- export declare type ImageFinetuneOptions = 'Brightness' | 'Contrast' | 'Hue' | 'Saturation' | 'Exposure' | 'Opacity' | 'Blur';
1550
+ export declare enum ImageFinetuneOption {
1551
+ /** Adjust the brightness of the image */
1552
+ Brightness = "Brightness",
1553
+ /** Adjust the contrast of the image */
1554
+ Contrast = "Contrast",
1555
+ /** Adjust the hue of the image */
1556
+ Hue = "Hue",
1557
+ /** Adjust the saturation of the image */
1558
+ Saturation = "Saturation",
1559
+ /** Adjust the exposure of the image */
1560
+ Exposure = "Exposure",
1561
+ /** Adjust the opacity of the image */
1562
+ Opacity = "Opacity",
1563
+ /** Adjust the blur of the image */
1564
+ Blur = "Blur"
1565
+ }
1168
1566
  /**
1169
- * Interface for zoom transition occur in the imageEditor.
1567
+ * The Interface which contains the properties for zoom transition occur in the Image Editor.
1170
1568
  */
1171
1569
  export interface ZoomEventArgs {
1172
1570
  /**
1173
- * Returns the (x, y) point to be zoomed.
1571
+ * Returns the point in which the zooming action was performed.
1572
+ *
1573
+ * @remarks
1574
+ * The given value is a point object which has x and y coordinates.
1575
+ *
1174
1576
  */
1175
1577
  zoomPoint: Point;
1176
1578
  /**
1177
- * Specifies the value of zooming. Zoom in or out can be defined based on the value.
1579
+ * Returns the previous zoom factor that already had before this current zooming action.
1580
+ *
1581
+ * @remarks
1582
+ * The previous and current zoom factor is used for finding whether the performed zooming is a zoom in or zoom out.
1583
+ *
1178
1584
  */
1179
- zoomLevel: number;
1585
+ previousZoomFactor: number;
1586
+ /**
1587
+ * Returns the current zoomed level, in which the loaded image is enlarged in the image editor.
1588
+ *
1589
+ * @remarks
1590
+ * The previous and current zoom factor is used for finding whether the performed zooming is a zoom in or zoom out.
1591
+ *
1592
+ */
1593
+ currentZoomFactor: number;
1594
+ /**
1595
+ * Specifies a value that indicates whether the zooming action can be canceled in image editor.
1596
+ */
1597
+ cancel: boolean;
1598
+ /**
1599
+ * Returns the type of zooming performed in the image editor.
1600
+ *
1601
+ * @remarks
1602
+ * This property is used to get the type of zooming performed in the editor.
1603
+ * The possible values of this property are 'MouseWheel', 'Pinch', 'Commands', and 'Toolbar'.
1604
+ * The value of this property will be updated each time a zoom operation is performed.
1605
+ * MouseWheel - It indicates the zooming performed using mouse wheel.
1606
+ * Pinch - It indicates that zooming is performed using pinch gestures on touch-enabled devices.
1607
+ * Commands - It indicates that zooming is performed by clicking the CTRL key and either the plus (+) or minus (-) buttons on the keyboard.
1608
+ * Toolbar - It indicates that zooming is performed using toolbar buttons.
1609
+ * By default, this property is set to 'Toolbar'.
1610
+ *
1611
+ *
1612
+ */
1613
+ zoomTrigger: string;
1180
1614
  }
1181
1615
  /**
1182
- * Interface for pan transition occur in the imageEditor.
1616
+ * The Interface which contains the properties for pan transition occur in the Image Editor.
1183
1617
  */
1184
1618
  export interface PanEventArgs {
1185
1619
  /**
@@ -1190,40 +1624,64 @@ export interface PanEventArgs {
1190
1624
  * Returns the (x, y) point to be panning ended.
1191
1625
  */
1192
1626
  endPoint: Point;
1627
+ /**
1628
+ * Defines whether to cancel the panning action of image editor.
1629
+ */
1630
+ cancel: boolean;
1193
1631
  }
1194
1632
  /**
1195
- * Interface for crop transition occur in the imageEditor.
1633
+ * The Interface which contains the properties for crop transition occur in the Image Editor.
1196
1634
  */
1197
1635
  export interface CropEventArgs {
1198
1636
  /**
1199
1637
  * Returns the start point of the crop region.
1638
+ *
1639
+ * @remarks
1640
+ * The start and end point is used get the cropping region in a image editor.
1641
+ *
1200
1642
  */
1201
1643
  startPoint: Point;
1202
1644
  /**
1203
1645
  * Returns the end point of the crop region.
1646
+ *
1647
+ * @remarks
1648
+ * The start and end point is used get the cropping region in a image editor.
1649
+ *
1204
1650
  */
1205
1651
  endPoint: Point;
1652
+ /**
1653
+ * Defines whether to cancel the cropping action of image editor.
1654
+ */
1655
+ cancel: boolean;
1206
1656
  }
1207
1657
  /**
1208
- * Interface for rotate transition in the imageEditor.
1658
+ * The Interface which contains the properties for rotate transition in the Image Editor.
1209
1659
  */
1210
1660
  export interface RotateEventArgs {
1211
1661
  /**
1212
1662
  * Returns the degree to be rotated.
1213
1663
  */
1214
1664
  degree: number;
1665
+ /**
1666
+ * Defines whether to cancel the rotating action of image editor.
1667
+ */
1668
+ cancel: boolean;
1215
1669
  }
1216
1670
  /**
1217
- * Interface for flip transition in the imageEditor.
1671
+ * The Interface which contains the properties for flip transition in the Image Editor.
1218
1672
  */
1219
1673
  export interface FlipEventArgs {
1220
1674
  /**
1221
1675
  * Returns the direction(Horizontal and vertical) to be flipped.
1222
1676
  */
1223
1677
  direction: string;
1678
+ /**
1679
+ * Defines the cancel option to cancel the flip action.
1680
+ */
1681
+ cancel: boolean;
1224
1682
  }
1225
1683
  /**
1226
- * Interface for shape change in imageEditor.
1684
+ * The Interface which contains the properties for shape change in Image Editor.
1227
1685
  */
1228
1686
  export interface ShapeChangeEventArgs {
1229
1687
  /**
@@ -1240,11 +1698,11 @@ export interface ShapeChangeEventArgs {
1240
1698
  currentShapeSettings?: ShapeSettings;
1241
1699
  }
1242
1700
  /**
1243
- * Interface for Toolbar events.
1701
+ * The Interface which contains the properties for Toolbar events.
1244
1702
  */
1245
1703
  export interface ToolbarEventArgs {
1246
1704
  /**
1247
- * Defines the cancel option to cancel the toolbar action.
1705
+ * Defines whether the to cancel the toolbar updating/refreshing action in the image editor.
1248
1706
  */
1249
1707
  cancel?: boolean;
1250
1708
  /**
@@ -1257,11 +1715,17 @@ export interface ToolbarEventArgs {
1257
1715
  item?: ItemModel;
1258
1716
  /**
1259
1717
  * Specifies the toolbar item collection to be rendered as contextual toolbar.
1718
+ *
1719
+ * @remarks
1720
+ * This property collection contains string and ItemModel values.
1721
+ * The string values representing the names of the built-in toolbar items to be displayed.
1722
+ * The ItemModel values representing the object of custom toolbar items to be displayed.
1723
+ *
1260
1724
  */
1261
1725
  toolbarItems?: (string | ItemModel)[];
1262
1726
  }
1263
1727
  /**
1264
- * Interface for opening the image.
1728
+ * The Interface which contains the properties for opening the image.
1265
1729
  */
1266
1730
  export interface OpenEventArgs {
1267
1731
  /**
@@ -1274,7 +1738,7 @@ export interface OpenEventArgs {
1274
1738
  fileType: FileType;
1275
1739
  }
1276
1740
  /**
1277
- * Interface for saving the canvas as image.
1741
+ * The Interface which contains the properties for saving the canvas as image.
1278
1742
  */
1279
1743
  export interface SaveEventArgs {
1280
1744
  /**
@@ -1287,11 +1751,11 @@ export interface SaveEventArgs {
1287
1751
  fileType: FileType;
1288
1752
  }
1289
1753
  /**
1290
- * Interface for before saving the canvas as image.
1754
+ * The Interface which contains the properties for before saving the canvas as image.
1291
1755
  */
1292
1756
  export interface BeforeSaveEventArgs {
1293
1757
  /**
1294
- * Defines the cancel option to cancel the save action.
1758
+ * Defines whether the to cancel the saving action in the image editor.
1295
1759
  */
1296
1760
  cancel: boolean;
1297
1761
  /**
@@ -1304,7 +1768,7 @@ export interface BeforeSaveEventArgs {
1304
1768
  fileType: FileType;
1305
1769
  }
1306
1770
  /**
1307
- * Interface for Point Object in the image editor.
1771
+ * The Interface which contains the properties for Point Object in the image editor.
1308
1772
  *
1309
1773
  */
1310
1774
  export interface Point {
@@ -1329,14 +1793,14 @@ export interface Point {
1329
1793
  */
1330
1794
  ratioY?: number;
1331
1795
  /**
1332
- * Gets or sets the time.
1796
+ * Specifies the time.
1333
1797
  *
1334
1798
  * @private
1335
1799
  */
1336
1800
  time?: number;
1337
1801
  }
1338
1802
  /**
1339
- * Interface for ShapeSettings in the imageEditor.
1803
+ * Interface for ShapeSettings in the Image Editor.
1340
1804
  */
1341
1805
  export interface ShapeSettings {
1342
1806
  /**
@@ -1380,7 +1844,7 @@ export interface ShapeSettings {
1380
1844
  */
1381
1845
  radius?: number;
1382
1846
  /**
1383
- * Returns the length of the line shape.
1847
+ * Returns the length of the line or arrow shape.
1384
1848
  */
1385
1849
  length?: number;
1386
1850
  /**
@@ -1411,18 +1875,122 @@ export interface ImageFilterEventArgs {
1411
1875
  /**
1412
1876
  * Specifies the when applying filter to an image.
1413
1877
  */
1414
- filter: ImageFilterOptions;
1878
+ filter: ImageFilterOption;
1879
+ /**
1880
+ * Defines the cancel option to cancel the filter action.
1881
+ */
1882
+ cancel: boolean;
1415
1883
  }
1416
1884
  /**
1417
- * Interface for filter option for the image.
1885
+ * Interface for fine tunes option for the image.
1418
1886
  */
1419
1887
  export interface FinetuneEventArgs {
1420
1888
  /**
1421
1889
  * Specifies the type of fine tunes.
1422
1890
  */
1423
- finetune: ImageFinetuneOptions;
1891
+ finetune: ImageFinetuneOption;
1424
1892
  /**
1425
1893
  * Specifies the value of the fine tunes.
1426
1894
  */
1427
1895
  value: number;
1896
+ /**
1897
+ * Defines the cancel option to cancel the fine tunes action.
1898
+ */
1899
+ cancel: boolean;
1900
+ }
1901
+ /**
1902
+ * Interface that provides information to the click event in the Image Editor.
1903
+ */
1904
+ export interface ImageEditorClickEventArgs {
1905
+ /**
1906
+ * Returns the x and y coordinates of the mouse or touch action which performed in the Image Editor.
1907
+ */
1908
+ point: Point;
1909
+ }
1910
+ /**
1911
+ * Interface for quick access toolbar for the image.
1912
+ *
1913
+ * @private
1914
+ */
1915
+ export interface QuickAccessToolbarEventArgs {
1916
+ /**
1917
+ * Specifies whether to cancel the opening action of the quick access toolbar.
1918
+ *
1919
+ * @remarks
1920
+ * Set this property to `true` to cancel the opening action of the quick access toolbar.
1921
+ * By default, this property is set to `false`.
1922
+ *
1923
+ */
1924
+ cancel: boolean;
1925
+ /**
1926
+ * Specifies the collection of toolbar items to be rendered as a quick access toolbar.
1927
+ *
1928
+ * @remarks
1929
+ * This property collection contains string and ItemModel values.
1930
+ * The string values representing the names of the built-in toolbar items to display.
1931
+ * The ItemModel values representing the object of custom toolbar items to display.
1932
+ *
1933
+ */
1934
+ toolbarItems: (string | ItemModel)[];
1935
+ /**
1936
+ * Returns the current toolbar type.
1937
+ */
1938
+ toolbarType?: string;
1939
+ }
1940
+ /**
1941
+ * Interface for Dimension calculation in the imageEditor.
1942
+ *
1943
+ */
1944
+ export interface Dimension {
1945
+ /**
1946
+ * Gets x position from the canvas.
1947
+ */
1948
+ x?: number;
1949
+ /**
1950
+ * Gets y position from the canvas.
1951
+ */
1952
+ y?: number;
1953
+ /**
1954
+ * Gets width of the image.
1955
+ */
1956
+ width: number;
1957
+ /**
1958
+ * Gets height of the image.
1959
+ */
1960
+ height: number;
1961
+ }
1962
+ /**
1963
+ * Interface for active object in the imageEditor.
1964
+ *
1965
+ * @private
1966
+ */
1967
+ export interface ActivePoint {
1968
+ /**
1969
+ * Gets mouse down x-point.
1970
+ */
1971
+ startX: number;
1972
+ /**
1973
+ * Gets mouse down y-point.
1974
+ */
1975
+ startY: number;
1976
+ /**
1977
+ * Gets mouse move x-point.
1978
+ */
1979
+ endX?: number;
1980
+ /**
1981
+ * Gets mouse move y-point.
1982
+ */
1983
+ endY?: number;
1984
+ /**
1985
+ * Gets width of the selection.
1986
+ */
1987
+ width?: number;
1988
+ /**
1989
+ * Gets height of the selection.
1990
+ */
1991
+ height?: number;
1992
+ /**
1993
+ * Gets radius of the circle dot.
1994
+ */
1995
+ radius?: number;
1428
1996
  }