fabric 7.1.0 → 7.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.husky/pre-commit +1 -0
- package/CHANGELOG.md +13 -0
- package/dist/extensions/cropping_controls/croppingControls.d.ts +12 -8
- package/dist/extensions/cropping_controls/croppingControls.d.ts.map +1 -1
- package/dist/extensions/cropping_controls/croppingHandlers.d.ts +19 -1
- package/dist/extensions/cropping_controls/croppingHandlers.d.ts.map +1 -1
- package/dist/extensions/cropping_controls/enterCropMode.d.ts.map +1 -1
- package/dist/index.js +189 -160
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +1 -1
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +189 -160
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.cjs +189 -160
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +189 -160
- package/dist/index.node.mjs.map +1 -1
- package/dist/package.json.min.mjs +1 -1
- package/dist/package.json.mjs +1 -1
- package/dist/src/EventTypeDefs.d.ts +3 -0
- package/dist/src/EventTypeDefs.d.ts.map +1 -1
- package/dist/src/Pattern/Pattern.d.ts.map +1 -1
- package/dist/src/Pattern/Pattern.min.mjs +1 -1
- package/dist/src/Pattern/Pattern.min.mjs.map +1 -1
- package/dist/src/Pattern/Pattern.mjs +2 -1
- package/dist/src/Pattern/Pattern.mjs.map +1 -1
- package/dist/src/Shadow.d.ts +1 -1
- package/dist/src/Shadow.d.ts.map +1 -1
- package/dist/src/Shadow.min.mjs +1 -1
- package/dist/src/Shadow.min.mjs.map +1 -1
- package/dist/src/Shadow.mjs +5 -4
- package/dist/src/Shadow.mjs.map +1 -1
- package/dist/src/canvas/CanvasOptions.d.ts.map +1 -1
- package/dist/src/canvas/CanvasOptions.min.mjs.map +1 -1
- package/dist/src/canvas/CanvasOptions.mjs.map +1 -1
- package/dist/src/canvas/SelectableCanvas.d.ts +2 -0
- package/dist/src/canvas/SelectableCanvas.d.ts.map +1 -1
- package/dist/src/canvas/SelectableCanvas.min.mjs +1 -1
- package/dist/src/canvas/SelectableCanvas.min.mjs.map +1 -1
- package/dist/src/canvas/SelectableCanvas.mjs +6 -1
- package/dist/src/canvas/SelectableCanvas.mjs.map +1 -1
- package/dist/src/canvas/StaticCanvas.d.ts.map +1 -1
- package/dist/src/canvas/StaticCanvas.min.mjs +1 -1
- package/dist/src/canvas/StaticCanvas.min.mjs.map +1 -1
- package/dist/src/canvas/StaticCanvas.mjs +3 -1
- package/dist/src/canvas/StaticCanvas.mjs.map +1 -1
- package/dist/src/canvas/StaticCanvasOptions.d.ts.map +1 -1
- package/dist/src/canvas/StaticCanvasOptions.min.mjs.map +1 -1
- package/dist/src/canvas/StaticCanvasOptions.mjs.map +1 -1
- package/dist/src/controls/Control.d.ts +9 -1
- package/dist/src/controls/Control.d.ts.map +1 -1
- package/dist/src/controls/Control.min.mjs +1 -1
- package/dist/src/controls/Control.min.mjs.map +1 -1
- package/dist/src/controls/Control.mjs +8 -0
- package/dist/src/controls/Control.mjs.map +1 -1
- package/dist/src/gradient/Gradient.d.ts.map +1 -1
- package/dist/src/gradient/Gradient.min.mjs +1 -1
- package/dist/src/gradient/Gradient.min.mjs.map +1 -1
- package/dist/src/gradient/Gradient.mjs +19 -6
- package/dist/src/gradient/Gradient.mjs.map +1 -1
- package/dist/src/shapes/Circle.d.ts.map +1 -1
- package/dist/src/shapes/Circle.min.mjs +1 -1
- package/dist/src/shapes/Circle.min.mjs.map +1 -1
- package/dist/src/shapes/Circle.mjs +10 -7
- package/dist/src/shapes/Circle.mjs.map +1 -1
- package/dist/src/shapes/Ellipse.d.ts.map +1 -1
- package/dist/src/shapes/Ellipse.min.mjs +1 -1
- package/dist/src/shapes/Ellipse.min.mjs.map +1 -1
- package/dist/src/shapes/Ellipse.mjs +2 -1
- package/dist/src/shapes/Ellipse.mjs.map +1 -1
- package/dist/src/shapes/Group.d.ts.map +1 -1
- package/dist/src/shapes/Group.min.mjs +1 -1
- package/dist/src/shapes/Group.min.mjs.map +1 -1
- package/dist/src/shapes/Group.mjs +2 -1
- package/dist/src/shapes/Group.mjs.map +1 -1
- package/dist/src/shapes/IText/IText.d.ts.map +1 -1
- package/dist/src/shapes/IText/IText.min.mjs.map +1 -1
- package/dist/src/shapes/IText/IText.mjs.map +1 -1
- package/dist/src/shapes/Image.d.ts +1 -1
- package/dist/src/shapes/Image.d.ts.map +1 -1
- package/dist/src/shapes/Image.min.mjs +1 -1
- package/dist/src/shapes/Image.min.mjs.map +1 -1
- package/dist/src/shapes/Image.mjs +4 -3
- package/dist/src/shapes/Image.mjs.map +1 -1
- package/dist/src/shapes/Line.d.ts.map +1 -1
- package/dist/src/shapes/Line.min.mjs +1 -1
- package/dist/src/shapes/Line.min.mjs.map +1 -1
- package/dist/src/shapes/Line.mjs +6 -10
- package/dist/src/shapes/Line.mjs.map +1 -1
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -1
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +1 -1
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +1 -1
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +5 -4
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +1 -1
- package/dist/src/shapes/Object/InteractiveObject.d.ts.map +1 -1
- package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +1 -1
- package/dist/src/shapes/Object/InteractiveObject.mjs.map +1 -1
- package/dist/src/shapes/Object/Object.d.ts.map +1 -1
- package/dist/src/shapes/Object/Object.min.mjs +1 -1
- package/dist/src/shapes/Object/Object.min.mjs.map +1 -1
- package/dist/src/shapes/Object/Object.mjs +3 -0
- package/dist/src/shapes/Object/Object.mjs.map +1 -1
- package/dist/src/shapes/Object/types/FabricObjectProps.d.ts.map +1 -1
- package/dist/src/shapes/Object/types/ObjectProps.d.ts.map +1 -1
- package/dist/src/shapes/Path.d.ts.map +1 -1
- package/dist/src/shapes/Path.min.mjs.map +1 -1
- package/dist/src/shapes/Path.mjs +1 -2
- package/dist/src/shapes/Path.mjs.map +1 -1
- package/dist/src/shapes/Polyline.d.ts.map +1 -1
- package/dist/src/shapes/Polyline.min.mjs +1 -1
- package/dist/src/shapes/Polyline.min.mjs.map +1 -1
- package/dist/src/shapes/Polyline.mjs +10 -6
- package/dist/src/shapes/Polyline.mjs.map +1 -1
- package/dist/src/shapes/Rect.d.ts.map +1 -1
- package/dist/src/shapes/Rect.min.mjs +1 -1
- package/dist/src/shapes/Rect.min.mjs.map +1 -1
- package/dist/src/shapes/Rect.mjs +2 -1
- package/dist/src/shapes/Rect.mjs.map +1 -1
- package/dist/src/shapes/Text/Text.d.ts.map +1 -1
- package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
- package/dist/src/shapes/Text/Text.mjs.map +1 -1
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +1 -1
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +1 -1
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs +5 -5
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +1 -1
- package/dist/src/shapes/Textbox.d.ts.map +1 -1
- package/dist/src/shapes/Textbox.min.mjs.map +1 -1
- package/dist/src/shapes/Textbox.mjs.map +1 -1
- package/dist/src/shapes/Triangle.d.ts.map +1 -1
- package/dist/src/shapes/Triangle.min.mjs.map +1 -1
- package/dist/src/shapes/Triangle.mjs.map +1 -1
- package/dist/src/util/lang_string.d.ts +1 -1
- package/dist/src/util/lang_string.d.ts.map +1 -1
- package/dist/src/util/lang_string.min.mjs +1 -1
- package/dist/src/util/lang_string.min.mjs.map +1 -1
- package/dist/src/util/lang_string.mjs +1 -1
- package/dist/src/util/lang_string.mjs.map +1 -1
- package/dist/src/util/misc/svgParsing.d.ts.map +1 -1
- package/dist/src/util/misc/svgParsing.min.mjs +1 -1
- package/dist/src/util/misc/svgParsing.min.mjs.map +1 -1
- package/dist/src/util/misc/svgParsing.mjs +2 -1
- package/dist/src/util/misc/svgParsing.mjs.map +1 -1
- package/dist-extensions/cropping_controls/croppingControls.mjs +39 -9
- package/dist-extensions/cropping_controls/croppingControls.mjs.map +1 -1
- package/dist-extensions/cropping_controls/croppingHandlers.mjs +84 -2
- package/dist-extensions/cropping_controls/croppingHandlers.mjs.map +1 -1
- package/dist-extensions/cropping_controls/enterCropMode.mjs +7 -2
- package/dist-extensions/cropping_controls/enterCropMode.mjs.map +1 -1
- package/dist-extensions/extensions/cropping_controls/croppingControls.d.ts +12 -8
- package/dist-extensions/extensions/cropping_controls/croppingControls.d.ts.map +1 -1
- package/dist-extensions/extensions/cropping_controls/croppingHandlers.d.ts +19 -1
- package/dist-extensions/extensions/cropping_controls/croppingHandlers.d.ts.map +1 -1
- package/dist-extensions/extensions/cropping_controls/enterCropMode.d.ts.map +1 -1
- package/dist-extensions/fabric-extensions.min.js +1 -1
- package/dist-extensions/fabric-extensions.min.js.map +1 -1
- package/dist-extensions/src/EventTypeDefs.d.ts +3 -0
- package/dist-extensions/src/EventTypeDefs.d.ts.map +1 -1
- package/dist-extensions/src/Pattern/Pattern.d.ts.map +1 -1
- package/dist-extensions/src/Shadow.d.ts +1 -1
- package/dist-extensions/src/Shadow.d.ts.map +1 -1
- package/dist-extensions/src/canvas/CanvasOptions.d.ts.map +1 -1
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts +2 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts.map +1 -1
- package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +1 -1
- package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts.map +1 -1
- package/dist-extensions/src/controls/Control.d.ts +9 -1
- package/dist-extensions/src/controls/Control.d.ts.map +1 -1
- package/dist-extensions/src/gradient/Gradient.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Circle.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Ellipse.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Group.d.ts.map +1 -1
- package/dist-extensions/src/shapes/IText/IText.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Image.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Line.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Object/Object.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Path.d.ts +1 -1
- package/dist-extensions/src/shapes/Path.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Polyline.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Rect.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Text/Text.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Textbox.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Triangle.d.ts.map +1 -1
- package/dist-extensions/src/util/lang_string.d.ts +1 -1
- package/dist-extensions/src/util/lang_string.d.ts.map +1 -1
- package/dist-extensions/src/util/misc/svgParsing.d.ts.map +1 -1
- package/eslint.config.mjs +2 -0
- package/extensions/cropping_controls/croppingControls.spec.ts +65 -27
- package/extensions/cropping_controls/croppingControls.ts +40 -8
- package/extensions/cropping_controls/croppingHandlers.spec.ts +355 -46
- package/extensions/cropping_controls/croppingHandlers.ts +123 -0
- package/extensions/cropping_controls/enterCropMode.ts +6 -2
- package/package.json +17 -8
- package/src/ClassRegistry.spec.ts +18 -19
- package/src/EventTypeDefs.ts +13 -11
- package/src/Pattern/Pattern.spec.ts +12 -0
- package/src/Pattern/Pattern.ts +3 -2
- package/src/Shadow.ts +9 -8
- package/src/brushes/PencilBrush.spec.ts +11 -11
- package/src/canvas/Canvas-dispose.spec.ts +8 -7
- package/src/canvas/Canvas.spec.ts +27 -29
- package/src/canvas/CanvasOptions.ts +2 -1
- package/src/canvas/SelectableCanvas.ts +11 -4
- package/src/canvas/StaticCanvas.spec.ts +20 -0
- package/src/canvas/StaticCanvas.ts +7 -4
- package/src/canvas/StaticCanvasOptions.ts +1 -3
- package/src/controls/Control.ts +24 -1
- package/src/gradient/Gradient.spec.ts +101 -46
- package/src/gradient/Gradient.ts +27 -14
- package/src/shapes/Circle.spec.ts +10 -39
- package/src/shapes/Circle.ts +11 -11
- package/src/shapes/Ellipse.spec.ts +8 -37
- package/src/shapes/Ellipse.ts +7 -7
- package/src/shapes/Group.ts +3 -3
- package/src/shapes/IText/IText-click-behavior.spec.ts +36 -49
- package/src/shapes/IText/IText.ts +5 -6
- package/src/shapes/IText/__snapshots__/ITextBehavior.test.ts.snap +6 -6
- package/src/shapes/Image.spec.ts +17 -33
- package/src/shapes/Image.ts +15 -11
- package/src/shapes/Line.spec.ts +4 -30
- package/src/shapes/Line.ts +11 -16
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +11 -4
- package/src/shapes/Object/InteractiveObject.ts +4 -4
- package/src/shapes/Object/Object.ts +6 -5
- package/src/shapes/Object/objectSvgExport.spec.ts +112 -0
- package/src/shapes/Object/types/FabricObjectProps.ts +1 -4
- package/src/shapes/Object/types/ObjectProps.ts +1 -3
- package/src/shapes/Path.spec.ts +4 -27
- package/src/shapes/Path.ts +2 -4
- package/src/shapes/Polygon.spec.ts +4 -31
- package/src/shapes/Polyline.spec.ts +4 -31
- package/src/shapes/Polyline.ts +11 -12
- package/src/shapes/Rect.spec.ts +25 -33
- package/src/shapes/Rect.ts +7 -7
- package/src/shapes/Text/Text.spec.ts +3 -32
- package/src/shapes/Text/Text.ts +5 -6
- package/src/shapes/Text/TextSVGExportMixin.ts +14 -14
- package/src/shapes/Text/__snapshots__/Text.spec.ts.snap +1 -1
- package/src/shapes/Textbox.spec.ts +5 -5
- package/src/shapes/Textbox.ts +6 -5
- package/src/shapes/Triangle.ts +4 -4
- package/src/shapes/__snapshots__/Image.spec.ts.snap +4 -4
- package/src/shapes/__snapshots__/Textbox.spec.ts.snap +5 -5
- package/src/util/lang_string.ts +3 -2
- package/src/util/misc/svgParsing.ts +2 -1
- package/tsconfig.spec.json +1 -0
- package/vitest.config.ts +12 -2
- package/vitest.extend.ts +6 -2
|
@@ -9,11 +9,26 @@ import {
|
|
|
9
9
|
} from './croppingHandlers';
|
|
10
10
|
|
|
11
11
|
describe('createImageCroppingControls', () => {
|
|
12
|
-
test('returns an object with
|
|
12
|
+
test('returns an object with 12 control properties', () => {
|
|
13
13
|
const controls = createImageCroppingControls();
|
|
14
14
|
expect(typeof controls).toBe('object');
|
|
15
15
|
expect(Object.keys(controls)).toEqual(
|
|
16
|
-
expect.arrayContaining([
|
|
16
|
+
expect.arrayContaining([
|
|
17
|
+
// scaling controls
|
|
18
|
+
'tls',
|
|
19
|
+
'brs',
|
|
20
|
+
'trs',
|
|
21
|
+
'bls',
|
|
22
|
+
// cropping controls
|
|
23
|
+
'mlc',
|
|
24
|
+
'mrc',
|
|
25
|
+
'mbc',
|
|
26
|
+
'mtc',
|
|
27
|
+
'tlc',
|
|
28
|
+
'trc',
|
|
29
|
+
'blc',
|
|
30
|
+
'brc',
|
|
31
|
+
]),
|
|
17
32
|
);
|
|
18
33
|
});
|
|
19
34
|
|
|
@@ -25,53 +40,76 @@ describe('createImageCroppingControls', () => {
|
|
|
25
40
|
});
|
|
26
41
|
});
|
|
27
42
|
|
|
28
|
-
|
|
43
|
+
// Scaling controls tests
|
|
44
|
+
test('tls control uses scaleEquallyCropGenerator actionHandler', () => {
|
|
29
45
|
const controls = createImageCroppingControls();
|
|
30
|
-
expect(controls.
|
|
46
|
+
expect(typeof controls.tls.actionHandler).toBe('function');
|
|
31
47
|
});
|
|
32
48
|
|
|
33
|
-
test('
|
|
49
|
+
test('brs control uses scaleEquallyCropGenerator actionHandler', () => {
|
|
34
50
|
const controls = createImageCroppingControls();
|
|
35
|
-
expect(controls.
|
|
51
|
+
expect(typeof controls.brs.actionHandler).toBe('function');
|
|
36
52
|
});
|
|
37
53
|
|
|
38
|
-
test('
|
|
54
|
+
test('trs control uses scaleEquallyCropGenerator actionHandler', () => {
|
|
39
55
|
const controls = createImageCroppingControls();
|
|
40
|
-
expect(controls.
|
|
56
|
+
expect(typeof controls.trs.actionHandler).toBe('function');
|
|
41
57
|
});
|
|
42
58
|
|
|
43
|
-
test('
|
|
59
|
+
test('bls control uses scaleEquallyCropGenerator actionHandler', () => {
|
|
44
60
|
const controls = createImageCroppingControls();
|
|
45
|
-
expect(controls.
|
|
61
|
+
expect(typeof controls.bls.actionHandler).toBe('function');
|
|
46
62
|
});
|
|
47
63
|
|
|
48
|
-
|
|
64
|
+
// Cropping middle controls tests
|
|
65
|
+
test('mlc control uses changeCropX as actionHandler', () => {
|
|
49
66
|
const controls = createImageCroppingControls();
|
|
50
|
-
|
|
51
|
-
|
|
67
|
+
expect(controls.mlc.actionHandler).toBe(changeCropX);
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
test('mrc control uses changeCropWidth as actionHandler', () => {
|
|
71
|
+
const controls = createImageCroppingControls();
|
|
72
|
+
expect(controls.mrc.actionHandler).toBe(changeCropWidth);
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
test('mbc control uses changeCropHeight as actionHandler', () => {
|
|
76
|
+
const controls = createImageCroppingControls();
|
|
77
|
+
expect(controls.mbc.actionHandler).toBe(changeCropHeight);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
test('mtc control uses changeCropY as actionHandler', () => {
|
|
81
|
+
const controls = createImageCroppingControls();
|
|
82
|
+
expect(controls.mtc.actionHandler).toBe(changeCropY);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
// Cropping corner controls tests
|
|
86
|
+
test('tlc control combines changeCropX and changeCropY', () => {
|
|
87
|
+
const controls = createImageCroppingControls();
|
|
88
|
+
// tlc uses a custom function, so we verify it's a function
|
|
89
|
+
expect(typeof controls.tlc.actionHandler).toBe('function');
|
|
52
90
|
// The handler is not directly equal to either function since it's a wrapper
|
|
53
|
-
expect(controls.
|
|
54
|
-
expect(controls.
|
|
91
|
+
expect(controls.tlc.actionHandler).not.toBe(changeCropX);
|
|
92
|
+
expect(controls.tlc.actionHandler).not.toBe(changeCropY);
|
|
55
93
|
});
|
|
56
94
|
|
|
57
|
-
test('
|
|
95
|
+
test('trc control combines changeCropWidth and changeCropY', () => {
|
|
58
96
|
const controls = createImageCroppingControls();
|
|
59
|
-
expect(typeof controls.
|
|
60
|
-
expect(controls.
|
|
61
|
-
expect(controls.
|
|
97
|
+
expect(typeof controls.trc.actionHandler).toBe('function');
|
|
98
|
+
expect(controls.trc.actionHandler).not.toBe(changeCropWidth);
|
|
99
|
+
expect(controls.trc.actionHandler).not.toBe(changeCropY);
|
|
62
100
|
});
|
|
63
101
|
|
|
64
|
-
test('
|
|
102
|
+
test('blc control combines changeCropHeight and changeCropX', () => {
|
|
65
103
|
const controls = createImageCroppingControls();
|
|
66
|
-
expect(typeof controls.
|
|
67
|
-
expect(controls.
|
|
68
|
-
expect(controls.
|
|
104
|
+
expect(typeof controls.blc.actionHandler).toBe('function');
|
|
105
|
+
expect(controls.blc.actionHandler).not.toBe(changeCropHeight);
|
|
106
|
+
expect(controls.blc.actionHandler).not.toBe(changeCropX);
|
|
69
107
|
});
|
|
70
108
|
|
|
71
|
-
test('
|
|
109
|
+
test('brc control combines changeCropHeight and changeCropWidth', () => {
|
|
72
110
|
const controls = createImageCroppingControls();
|
|
73
|
-
expect(typeof controls.
|
|
74
|
-
expect(controls.
|
|
75
|
-
expect(controls.
|
|
111
|
+
expect(typeof controls.brc.actionHandler).toBe('function');
|
|
112
|
+
expect(controls.brc.actionHandler).not.toBe(changeCropHeight);
|
|
113
|
+
expect(controls.brc.actionHandler).not.toBe(changeCropWidth);
|
|
76
114
|
});
|
|
77
115
|
});
|
|
@@ -4,6 +4,8 @@ import {
|
|
|
4
4
|
changeCropWidth,
|
|
5
5
|
changeCropX,
|
|
6
6
|
changeCropY,
|
|
7
|
+
ghostScalePositionHandler,
|
|
8
|
+
scaleEquallyCropGenerator,
|
|
7
9
|
} from './croppingHandlers';
|
|
8
10
|
import { renderCornerControl } from './renderCornerControl';
|
|
9
11
|
|
|
@@ -12,7 +14,37 @@ const { scaleCursorStyleHandler } = controlsUtils;
|
|
|
12
14
|
const cropActionName = () => 'crop';
|
|
13
15
|
// use this function if you want to generate new controls for every instance
|
|
14
16
|
export const createImageCroppingControls = () => ({
|
|
15
|
-
|
|
17
|
+
// scaling image
|
|
18
|
+
tls: new Control({
|
|
19
|
+
x: -0.5,
|
|
20
|
+
y: -0.5,
|
|
21
|
+
cursorStyleHandler: scaleCursorStyleHandler,
|
|
22
|
+
positionHandler: ghostScalePositionHandler,
|
|
23
|
+
actionHandler: scaleEquallyCropGenerator(-0.5, -0.5),
|
|
24
|
+
}),
|
|
25
|
+
brs: new Control({
|
|
26
|
+
x: 0.5,
|
|
27
|
+
y: 0.5,
|
|
28
|
+
cursorStyleHandler: scaleCursorStyleHandler,
|
|
29
|
+
positionHandler: ghostScalePositionHandler,
|
|
30
|
+
actionHandler: scaleEquallyCropGenerator(0.5, 0.5),
|
|
31
|
+
}),
|
|
32
|
+
trs: new Control({
|
|
33
|
+
x: 0.5,
|
|
34
|
+
y: -0.5,
|
|
35
|
+
cursorStyleHandler: scaleCursorStyleHandler,
|
|
36
|
+
positionHandler: ghostScalePositionHandler,
|
|
37
|
+
actionHandler: scaleEquallyCropGenerator(0.5, -0.5),
|
|
38
|
+
}),
|
|
39
|
+
bls: new Control({
|
|
40
|
+
x: -0.5,
|
|
41
|
+
y: 0.5,
|
|
42
|
+
cursorStyleHandler: scaleCursorStyleHandler,
|
|
43
|
+
positionHandler: ghostScalePositionHandler,
|
|
44
|
+
actionHandler: scaleEquallyCropGenerator(-0.5, 0.5),
|
|
45
|
+
}),
|
|
46
|
+
// cropping image
|
|
47
|
+
mlc: new Control({
|
|
16
48
|
x: -0.5,
|
|
17
49
|
y: 0,
|
|
18
50
|
sizeX: 4,
|
|
@@ -22,7 +54,7 @@ export const createImageCroppingControls = () => ({
|
|
|
22
54
|
getActionName: cropActionName,
|
|
23
55
|
}),
|
|
24
56
|
|
|
25
|
-
|
|
57
|
+
mrc: new Control({
|
|
26
58
|
x: 0.5,
|
|
27
59
|
y: 0,
|
|
28
60
|
sizeX: 4,
|
|
@@ -32,7 +64,7 @@ export const createImageCroppingControls = () => ({
|
|
|
32
64
|
getActionName: cropActionName,
|
|
33
65
|
}),
|
|
34
66
|
|
|
35
|
-
|
|
67
|
+
mbc: new Control({
|
|
36
68
|
x: 0,
|
|
37
69
|
y: 0.5,
|
|
38
70
|
sizeX: 20,
|
|
@@ -42,7 +74,7 @@ export const createImageCroppingControls = () => ({
|
|
|
42
74
|
getActionName: cropActionName,
|
|
43
75
|
}),
|
|
44
76
|
|
|
45
|
-
|
|
77
|
+
mtc: new Control({
|
|
46
78
|
x: 0,
|
|
47
79
|
y: -0.5,
|
|
48
80
|
sizeX: 20,
|
|
@@ -52,7 +84,7 @@ export const createImageCroppingControls = () => ({
|
|
|
52
84
|
getActionName: cropActionName,
|
|
53
85
|
}),
|
|
54
86
|
|
|
55
|
-
|
|
87
|
+
tlc: new Control({
|
|
56
88
|
angle: 0,
|
|
57
89
|
x: -0.5,
|
|
58
90
|
y: -0.5,
|
|
@@ -68,7 +100,7 @@ export const createImageCroppingControls = () => ({
|
|
|
68
100
|
getActionName: cropActionName,
|
|
69
101
|
}),
|
|
70
102
|
|
|
71
|
-
|
|
103
|
+
trc: new Control({
|
|
72
104
|
angle: 90,
|
|
73
105
|
x: 0.5,
|
|
74
106
|
y: -0.5,
|
|
@@ -84,7 +116,7 @@ export const createImageCroppingControls = () => ({
|
|
|
84
116
|
getActionName: cropActionName,
|
|
85
117
|
}),
|
|
86
118
|
|
|
87
|
-
|
|
119
|
+
blc: new Control({
|
|
88
120
|
angle: 270,
|
|
89
121
|
x: -0.5,
|
|
90
122
|
y: 0.5,
|
|
@@ -100,7 +132,7 @@ export const createImageCroppingControls = () => ({
|
|
|
100
132
|
getActionName: cropActionName,
|
|
101
133
|
}),
|
|
102
134
|
|
|
103
|
-
|
|
135
|
+
brc: new Control({
|
|
104
136
|
angle: 180,
|
|
105
137
|
x: 0.5,
|
|
106
138
|
y: 0.5,
|