@postermywall/fabricjs-2 6.4.2-pmw-22 → 6.4.2-pmw-24
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/.idea/codeStyles/Project.xml +2 -2
- package/.idea/fabricjs-2.iml +0 -10
- package/.idea/modules.xml +0 -8
- package/.idea/prettier.xml +0 -6
- package/.prettierrc +2 -1
- package/dist/extensions/aligning_guidelines/constant.min.mjs +0 -2
- package/dist/extensions/aligning_guidelines/constant.min.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/constant.mjs +0 -11
- package/dist/extensions/aligning_guidelines/constant.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/index.min.mjs +0 -2
- package/dist/extensions/aligning_guidelines/index.min.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/index.mjs +0 -189
- package/dist/extensions/aligning_guidelines/index.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/util/basic.min.mjs +0 -2
- package/dist/extensions/aligning_guidelines/util/basic.min.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/util/basic.mjs +0 -11
- package/dist/extensions/aligning_guidelines/util/basic.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/util/collect-line.min.mjs +0 -2
- package/dist/extensions/aligning_guidelines/util/collect-line.min.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/util/collect-line.mjs +0 -251
- package/dist/extensions/aligning_guidelines/util/collect-line.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/util/collect-point.min.mjs +0 -2
- package/dist/extensions/aligning_guidelines/util/collect-point.min.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/util/collect-point.mjs +0 -102
- package/dist/extensions/aligning_guidelines/util/collect-point.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/util/draw.min.mjs +0 -2
- package/dist/extensions/aligning_guidelines/util/draw.min.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/util/draw.mjs +0 -133
- package/dist/extensions/aligning_guidelines/util/draw.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.min.mjs +0 -2
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.min.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.mjs +0 -100
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.mjs.map +0 -1
- package/dist/extensions/aligning_guidelines/util/make.d.ts +0 -12
- package/dist/extensions/aligning_guidelines/util/make.d.ts.map +0 -1
- package/dist/index.js +2 -3
- 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 +2 -3
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.cjs +2 -3
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +2 -3
- 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/shapes/Group.d.ts.map +1 -1
- package/dist/src/shapes/Object/Object.d.ts +0 -2
- 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 +1 -2
- package/dist/src/shapes/Object/Object.mjs.map +1 -1
- package/dist-extensions/_virtual/_rollupPluginBabelHelpers.mjs +0 -73
- package/dist-extensions/_virtual/_rollupPluginBabelHelpers.mjs.map +0 -1
- package/dist-extensions/aligning_guidelines/constant.d.ts +0 -3
- package/dist-extensions/aligning_guidelines/constant.d.ts.map +0 -1
- package/dist-extensions/aligning_guidelines/index.d.ts +0 -5
- package/dist-extensions/aligning_guidelines/index.d.ts.map +0 -1
- package/dist-extensions/aligning_guidelines/typedefs.d.ts +0 -33
- package/dist-extensions/aligning_guidelines/typedefs.d.ts.map +0 -1
- package/dist-extensions/aligning_guidelines/util/basic.d.ts +0 -4
- package/dist-extensions/aligning_guidelines/util/basic.d.ts.map +0 -1
- package/dist-extensions/aligning_guidelines/util/collect-line.d.ts +0 -13
- package/dist-extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -1
- package/dist-extensions/aligning_guidelines/util/collect-point.d.ts +0 -20
- package/dist-extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -1
- package/dist-extensions/aligning_guidelines/util/collect-point.mjs +0 -102
- package/dist-extensions/aligning_guidelines/util/collect-point.mjs.map +0 -1
- package/dist-extensions/aligning_guidelines/util/draw.d.ts +0 -6
- package/dist-extensions/aligning_guidelines/util/draw.d.ts.map +0 -1
- package/dist-extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -3
- package/dist-extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -1
- package/dist-extensions/extensions/aligning_guidelines/constant.mjs +0 -12
- package/dist-extensions/extensions/aligning_guidelines/constant.mjs.map +0 -1
- package/dist-extensions/extensions/aligning_guidelines/index.mjs +0 -130
- package/dist-extensions/extensions/aligning_guidelines/index.mjs.map +0 -1
- package/dist-extensions/extensions/aligning_guidelines/util/basic.mjs +0 -11
- package/dist-extensions/extensions/aligning_guidelines/util/basic.mjs.map +0 -1
- package/dist-extensions/extensions/aligning_guidelines/util/collect-line.mjs +0 -193
- package/dist-extensions/extensions/aligning_guidelines/util/collect-line.mjs.map +0 -1
- package/dist-extensions/extensions/aligning_guidelines/util/collect-point.mjs +0 -102
- package/dist-extensions/extensions/aligning_guidelines/util/collect-point.mjs.map +0 -1
- package/dist-extensions/extensions/aligning_guidelines/util/draw.mjs +0 -79
- package/dist-extensions/extensions/aligning_guidelines/util/draw.mjs.map +0 -1
- package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.mjs +0 -42
- package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.mjs.map +0 -1
- package/dist-extensions/extensions/aligning_guidelines/util/make.d.ts +0 -12
- package/dist-extensions/extensions/aligning_guidelines/util/make.d.ts.map +0 -1
- package/dist-extensions/extensions/data_updaters/origins/index.mjs +0 -108
- package/dist-extensions/extensions/data_updaters/origins/index.mjs.map +0 -1
- package/dist-extensions/extensions/index.mjs +0 -3
- package/dist-extensions/extensions/index.mjs.map +0 -1
- package/dist-extensions/package.json.mjs +0 -4
- package/dist-extensions/package.json.mjs.map +0 -1
- package/dist-extensions/src/ClassRegistry.mjs +0 -52
- package/dist-extensions/src/ClassRegistry.mjs.map +0 -1
- package/dist-extensions/src/Collection.mjs +0 -337
- package/dist-extensions/src/Collection.mjs.map +0 -1
- package/dist-extensions/src/CommonMethods.mjs +0 -65
- package/dist-extensions/src/CommonMethods.mjs.map +0 -1
- package/dist-extensions/src/Intersection.mjs +0 -265
- package/dist-extensions/src/Intersection.mjs.map +0 -1
- package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.mjs +0 -50
- package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.mjs.map +0 -1
- package/dist-extensions/src/LayoutManager/LayoutManager.mjs +0 -263
- package/dist-extensions/src/LayoutManager/LayoutManager.mjs.map +0 -1
- package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +0 -71
- package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +0 -1
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +0 -22
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs.map +0 -1
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +0 -27
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.mjs.map +0 -1
- package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +0 -97
- package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +0 -1
- package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.mjs +0 -29
- package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.mjs.map +0 -1
- package/dist-extensions/src/LayoutManager/constants.mjs +0 -9
- package/dist-extensions/src/LayoutManager/constants.mjs.map +0 -1
- package/dist-extensions/src/Observable.mjs +0 -159
- package/dist-extensions/src/Observable.mjs.map +0 -1
- package/dist-extensions/src/Pattern/Pattern.mjs +0 -186
- package/dist-extensions/src/Pattern/Pattern.mjs.map +0 -1
- package/dist-extensions/src/Point.mjs +0 -372
- package/dist-extensions/src/Point.mjs.map +0 -1
- package/dist-extensions/src/Shadow.mjs +0 -167
- package/dist-extensions/src/Shadow.mjs.map +0 -1
- package/dist-extensions/src/cache.mjs +0 -80
- package/dist-extensions/src/cache.mjs.map +0 -1
- package/dist-extensions/src/canvas/Canvas.mjs +0 -1348
- package/dist-extensions/src/canvas/Canvas.mjs.map +0 -1
- package/dist-extensions/src/canvas/CanvasOptions.mjs +0 -32
- package/dist-extensions/src/canvas/CanvasOptions.mjs.map +0 -1
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.mjs +0 -133
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +0 -1
- package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +0 -75
- package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs.map +0 -1
- package/dist-extensions/src/canvas/DOMManagers/util.mjs +0 -76
- package/dist-extensions/src/canvas/DOMManagers/util.mjs.map +0 -1
- package/dist-extensions/src/canvas/SelectableCanvas.mjs +0 -1139
- package/dist-extensions/src/canvas/SelectableCanvas.mjs.map +0 -1
- package/dist-extensions/src/canvas/StaticCanvas.mjs +0 -1279
- package/dist-extensions/src/canvas/StaticCanvas.mjs.map +0 -1
- package/dist-extensions/src/canvas/StaticCanvasOptions.mjs +0 -26
- package/dist-extensions/src/canvas/StaticCanvasOptions.mjs.map +0 -1
- package/dist-extensions/src/canvas/TextEditingManager.mjs +0 -61
- package/dist-extensions/src/canvas/TextEditingManager.mjs.map +0 -1
- package/dist-extensions/src/color/Color.mjs +0 -320
- package/dist-extensions/src/color/Color.mjs.map +0 -1
- package/dist-extensions/src/color/color_map.mjs +0 -157
- package/dist-extensions/src/color/color_map.mjs.map +0 -1
- package/dist-extensions/src/color/constants.mjs +0 -115
- package/dist-extensions/src/color/constants.mjs.map +0 -1
- package/dist-extensions/src/color/util.mjs +0 -82
- package/dist-extensions/src/color/util.mjs.map +0 -1
- package/dist-extensions/src/config.mjs +0 -161
- package/dist-extensions/src/config.mjs.map +0 -1
- package/dist-extensions/src/constants.mjs +0 -42
- package/dist-extensions/src/constants.mjs.map +0 -1
- package/dist-extensions/src/controls/Control.mjs +0 -292
- package/dist-extensions/src/controls/Control.mjs.map +0 -1
- package/dist-extensions/src/controls/changeWidth.mjs +0 -36
- package/dist-extensions/src/controls/changeWidth.mjs.map +0 -1
- package/dist-extensions/src/controls/commonControls.mjs +0 -92
- package/dist-extensions/src/controls/commonControls.mjs.map +0 -1
- package/dist-extensions/src/controls/controlRendering.mjs +0 -91
- package/dist-extensions/src/controls/controlRendering.mjs.map +0 -1
- package/dist-extensions/src/controls/drag.mjs +0 -33
- package/dist-extensions/src/controls/drag.mjs.map +0 -1
- package/dist-extensions/src/controls/fireEvent.mjs +0 -17
- package/dist-extensions/src/controls/fireEvent.mjs.map +0 -1
- package/dist-extensions/src/controls/rotate.mjs +0 -73
- package/dist-extensions/src/controls/rotate.mjs.map +0 -1
- package/dist-extensions/src/controls/scale.mjs +0 -210
- package/dist-extensions/src/controls/scale.mjs.map +0 -1
- package/dist-extensions/src/controls/scaleSkew.mjs +0 -66
- package/dist-extensions/src/controls/scaleSkew.mjs.map +0 -1
- package/dist-extensions/src/controls/skew.mjs +0 -182
- package/dist-extensions/src/controls/skew.mjs.map +0 -1
- package/dist-extensions/src/controls/util.mjs +0 -103
- package/dist-extensions/src/controls/util.mjs.map +0 -1
- package/dist-extensions/src/controls/wrapWithFireEvent.mjs +0 -23
- package/dist-extensions/src/controls/wrapWithFireEvent.mjs.map +0 -1
- package/dist-extensions/src/controls/wrapWithFixedAnchor.mjs +0 -25
- package/dist-extensions/src/controls/wrapWithFixedAnchor.mjs.map +0 -1
- package/dist-extensions/src/env/browser.mjs +0 -19
- package/dist-extensions/src/env/browser.mjs.map +0 -1
- package/dist-extensions/src/env/index.mjs +0 -30
- package/dist-extensions/src/env/index.mjs.map +0 -1
- package/dist-extensions/src/filters/BaseFilter.mjs +0 -327
- package/dist-extensions/src/filters/BaseFilter.mjs.map +0 -1
- package/dist-extensions/src/filters/BlendColor.mjs +0 -150
- package/dist-extensions/src/filters/BlendColor.mjs.map +0 -1
- package/dist-extensions/src/filters/BlendImage.mjs +0 -186
- package/dist-extensions/src/filters/BlendImage.mjs.map +0 -1
- package/dist-extensions/src/filters/Blur.mjs +0 -158
- package/dist-extensions/src/filters/Blur.mjs.map +0 -1
- package/dist-extensions/src/filters/Brightness.mjs +0 -70
- package/dist-extensions/src/filters/Brightness.mjs.map +0 -1
- package/dist-extensions/src/filters/Canvas2dFilterBackend.mjs +0 -62
- package/dist-extensions/src/filters/Canvas2dFilterBackend.mjs.map +0 -1
- package/dist-extensions/src/filters/ColorMatrix.mjs +0 -100
- package/dist-extensions/src/filters/ColorMatrix.mjs.map +0 -1
- package/dist-extensions/src/filters/ColorMatrixFilters.mjs +0 -31
- package/dist-extensions/src/filters/ColorMatrixFilters.mjs.map +0 -1
- package/dist-extensions/src/filters/Composed.mjs +0 -67
- package/dist-extensions/src/filters/Composed.mjs.map +0 -1
- package/dist-extensions/src/filters/Contrast.mjs +0 -69
- package/dist-extensions/src/filters/Contrast.mjs.map +0 -1
- package/dist-extensions/src/filters/Convolute.mjs +0 -153
- package/dist-extensions/src/filters/Convolute.mjs.map +0 -1
- package/dist-extensions/src/filters/FilterBackend.mjs +0 -40
- package/dist-extensions/src/filters/FilterBackend.mjs.map +0 -1
- package/dist-extensions/src/filters/GLProbes/GLProbe.mjs +0 -4
- package/dist-extensions/src/filters/GLProbes/GLProbe.mjs.map +0 -1
- package/dist-extensions/src/filters/GLProbes/WebGLProbe.mjs +0 -43
- package/dist-extensions/src/filters/GLProbes/WebGLProbe.mjs.map +0 -1
- package/dist-extensions/src/filters/Gamma.mjs +0 -102
- package/dist-extensions/src/filters/Gamma.mjs.map +0 -1
- package/dist-extensions/src/filters/Grayscale.mjs +0 -80
- package/dist-extensions/src/filters/Grayscale.mjs.map +0 -1
- package/dist-extensions/src/filters/HueRotation.mjs +0 -63
- package/dist-extensions/src/filters/HueRotation.mjs.map +0 -1
- package/dist-extensions/src/filters/Invert.mjs +0 -80
- package/dist-extensions/src/filters/Invert.mjs.map +0 -1
- package/dist-extensions/src/filters/Noise.mjs +0 -71
- package/dist-extensions/src/filters/Noise.mjs.map +0 -1
- package/dist-extensions/src/filters/Pixelate.mjs +0 -80
- package/dist-extensions/src/filters/Pixelate.mjs.map +0 -1
- package/dist-extensions/src/filters/RemoveColor.mjs +0 -86
- package/dist-extensions/src/filters/RemoveColor.mjs.map +0 -1
- package/dist-extensions/src/filters/Resize.mjs +0 -433
- package/dist-extensions/src/filters/Resize.mjs.map +0 -1
- package/dist-extensions/src/filters/Saturation.mjs +0 -72
- package/dist-extensions/src/filters/Saturation.mjs.map +0 -1
- package/dist-extensions/src/filters/Vibrance.mjs +0 -74
- package/dist-extensions/src/filters/Vibrance.mjs.map +0 -1
- package/dist-extensions/src/filters/WebGLFilterBackend.mjs +0 -313
- package/dist-extensions/src/filters/WebGLFilterBackend.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/baseFilter.mjs +0 -6
- package/dist-extensions/src/filters/shaders/baseFilter.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/blendColor.mjs +0 -15
- package/dist-extensions/src/filters/shaders/blendColor.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/blendImage.mjs +0 -8
- package/dist-extensions/src/filters/shaders/blendImage.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/blur.mjs +0 -4
- package/dist-extensions/src/filters/shaders/blur.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/brightness.mjs +0 -4
- package/dist-extensions/src/filters/shaders/brightness.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/colorMatrix.mjs +0 -4
- package/dist-extensions/src/filters/shaders/colorMatrix.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/constrast.mjs +0 -4
- package/dist-extensions/src/filters/shaders/constrast.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/convolute.mjs +0 -13
- package/dist-extensions/src/filters/shaders/convolute.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/gamma.mjs +0 -4
- package/dist-extensions/src/filters/shaders/gamma.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/grayscale.mjs +0 -8
- package/dist-extensions/src/filters/shaders/grayscale.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/invert.mjs +0 -4
- package/dist-extensions/src/filters/shaders/invert.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/noise.mjs +0 -4
- package/dist-extensions/src/filters/shaders/noise.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/pixelate.mjs +0 -4
- package/dist-extensions/src/filters/shaders/pixelate.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/removeColor.mjs +0 -4
- package/dist-extensions/src/filters/shaders/removeColor.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/saturation.mjs +0 -4
- package/dist-extensions/src/filters/shaders/saturation.mjs.map +0 -1
- package/dist-extensions/src/filters/shaders/vibrance.mjs +0 -4
- package/dist-extensions/src/filters/shaders/vibrance.mjs.map +0 -1
- package/dist-extensions/src/filters/utils.mjs +0 -8
- package/dist-extensions/src/filters/utils.mjs.map +0 -1
- package/dist-extensions/src/gradient/Gradient.mjs +0 -321
- package/dist-extensions/src/gradient/Gradient.mjs.map +0 -1
- package/dist-extensions/src/gradient/constants.mjs +0 -15
- package/dist-extensions/src/gradient/constants.mjs.map +0 -1
- package/dist-extensions/src/gradient/parser/misc.mjs +0 -9
- package/dist-extensions/src/gradient/parser/misc.mjs.map +0 -1
- package/dist-extensions/src/gradient/parser/parseColorStops.mjs +0 -42
- package/dist-extensions/src/gradient/parser/parseColorStops.mjs.map +0 -1
- package/dist-extensions/src/gradient/parser/parseCoords.mjs +0 -65
- package/dist-extensions/src/gradient/parser/parseCoords.mjs.map +0 -1
- package/dist-extensions/src/parser/attributes.mjs +0 -10
- package/dist-extensions/src/parser/attributes.mjs.map +0 -1
- package/dist-extensions/src/parser/constants.mjs +0 -52
- package/dist-extensions/src/parser/constants.mjs.map +0 -1
- package/dist-extensions/src/parser/doesSomeParentMatch.mjs +0 -17
- package/dist-extensions/src/parser/doesSomeParentMatch.mjs.map +0 -1
- package/dist-extensions/src/parser/elementMatchesRule.mjs +0 -19
- package/dist-extensions/src/parser/elementMatchesRule.mjs.map +0 -1
- package/dist-extensions/src/parser/getGlobalStylesForElement.mjs +0 -20
- package/dist-extensions/src/parser/getGlobalStylesForElement.mjs.map +0 -1
- package/dist-extensions/src/parser/getSvgRegex.mjs +0 -6
- package/dist-extensions/src/parser/getSvgRegex.mjs.map +0 -1
- package/dist-extensions/src/parser/hasInvalidAncestor.mjs +0 -5
- package/dist-extensions/src/parser/hasInvalidAncestor.mjs.map +0 -1
- package/dist-extensions/src/parser/normalizeAttr.mjs +0 -9
- package/dist-extensions/src/parser/normalizeAttr.mjs.map +0 -1
- package/dist-extensions/src/parser/normalizeValue.mjs +0 -62
- package/dist-extensions/src/parser/normalizeValue.mjs.map +0 -1
- package/dist-extensions/src/parser/parseAttributes.mjs +0 -65
- package/dist-extensions/src/parser/parseAttributes.mjs.map +0 -1
- package/dist-extensions/src/parser/parseFontDeclaration.mjs +0 -42
- package/dist-extensions/src/parser/parseFontDeclaration.mjs.map +0 -1
- package/dist-extensions/src/parser/parsePointsAttribute.mjs +0 -32
- package/dist-extensions/src/parser/parsePointsAttribute.mjs.map +0 -1
- package/dist-extensions/src/parser/parseStyleAttribute.mjs +0 -26
- package/dist-extensions/src/parser/parseStyleAttribute.mjs.map +0 -1
- package/dist-extensions/src/parser/parseStyleObject.mjs +0 -18
- package/dist-extensions/src/parser/parseStyleObject.mjs.map +0 -1
- package/dist-extensions/src/parser/parseStyleString.mjs +0 -16
- package/dist-extensions/src/parser/parseStyleString.mjs.map +0 -1
- package/dist-extensions/src/parser/parseTransformAttribute.mjs +0 -90
- package/dist-extensions/src/parser/parseTransformAttribute.mjs.map +0 -1
- package/dist-extensions/src/parser/percent.mjs +0 -21
- package/dist-extensions/src/parser/percent.mjs.map +0 -1
- package/dist-extensions/src/parser/selectorMatches.mjs +0 -26
- package/dist-extensions/src/parser/selectorMatches.mjs.map +0 -1
- package/dist-extensions/src/parser/setStrokeFillOpacity.mjs +0 -38
- package/dist-extensions/src/parser/setStrokeFillOpacity.mjs.map +0 -1
- package/dist-extensions/src/shapes/ActiveSelection.mjs +0 -237
- package/dist-extensions/src/shapes/ActiveSelection.mjs.map +0 -1
- package/dist-extensions/src/shapes/Circle.mjs +0 -174
- package/dist-extensions/src/shapes/Circle.mjs.map +0 -1
- package/dist-extensions/src/shapes/Ellipse.mjs +0 -141
- package/dist-extensions/src/shapes/Ellipse.mjs.map +0 -1
- package/dist-extensions/src/shapes/Group.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Group.mjs +0 -782
- package/dist-extensions/src/shapes/Group.mjs.map +0 -1
- package/dist-extensions/src/shapes/IText/DraggableTextDelegate.mjs +0 -346
- package/dist-extensions/src/shapes/IText/DraggableTextDelegate.mjs.map +0 -1
- package/dist-extensions/src/shapes/IText/IText.mjs +0 -616
- package/dist-extensions/src/shapes/IText/IText.mjs.map +0 -1
- package/dist-extensions/src/shapes/IText/ITextBehavior.mjs +0 -895
- package/dist-extensions/src/shapes/IText/ITextBehavior.mjs.map +0 -1
- package/dist-extensions/src/shapes/IText/ITextClickBehavior.mjs +0 -261
- package/dist-extensions/src/shapes/IText/ITextClickBehavior.mjs.map +0 -1
- package/dist-extensions/src/shapes/IText/ITextKeyBehavior.mjs +0 -601
- package/dist-extensions/src/shapes/IText/ITextKeyBehavior.mjs.map +0 -1
- package/dist-extensions/src/shapes/IText/constants.mjs +0 -52
- package/dist-extensions/src/shapes/IText/constants.mjs.map +0 -1
- package/dist-extensions/src/shapes/Image.mjs +0 -723
- package/dist-extensions/src/shapes/Image.mjs.map +0 -1
- package/dist-extensions/src/shapes/Line.mjs +0 -287
- package/dist-extensions/src/shapes/Line.mjs.map +0 -1
- package/dist-extensions/src/shapes/Object/AnimatableObject.d.ts +0 -33
- package/dist-extensions/src/shapes/Object/AnimatableObject.d.ts.map +0 -1
- package/dist-extensions/src/shapes/Object/FabricObject.mjs +0 -17
- package/dist-extensions/src/shapes/Object/FabricObject.mjs.map +0 -1
- package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.mjs +0 -165
- package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +0 -1
- package/dist-extensions/src/shapes/Object/InteractiveObject.mjs +0 -554
- package/dist-extensions/src/shapes/Object/InteractiveObject.mjs.map +0 -1
- package/dist-extensions/src/shapes/Object/Object.d.ts +0 -2
- package/dist-extensions/src/shapes/Object/Object.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Object/Object.mjs +0 -1605
- package/dist-extensions/src/shapes/Object/Object.mjs.map +0 -1
- package/dist-extensions/src/shapes/Object/ObjectGeometry.mjs +0 -656
- package/dist-extensions/src/shapes/Object/ObjectGeometry.mjs.map +0 -1
- package/dist-extensions/src/shapes/Object/ObjectOrigin.d.ts +0 -96
- package/dist-extensions/src/shapes/Object/ObjectOrigin.d.ts.map +0 -1
- package/dist-extensions/src/shapes/Object/StackedObject.d.ts +0 -60
- package/dist-extensions/src/shapes/Object/StackedObject.d.ts.map +0 -1
- package/dist-extensions/src/shapes/Object/defaultValues.mjs +0 -87
- package/dist-extensions/src/shapes/Object/defaultValues.mjs.map +0 -1
- package/dist-extensions/src/shapes/Path.mjs +0 -319
- package/dist-extensions/src/shapes/Path.mjs.map +0 -1
- package/dist-extensions/src/shapes/Polygon.mjs +0 -16
- package/dist-extensions/src/shapes/Polygon.mjs.map +0 -1
- package/dist-extensions/src/shapes/Polyline.mjs +0 -351
- package/dist-extensions/src/shapes/Polyline.mjs.map +0 -1
- package/dist-extensions/src/shapes/Rect.mjs +0 -154
- package/dist-extensions/src/shapes/Rect.mjs.map +0 -1
- package/dist-extensions/src/shapes/Table.mjs +0 -281
- package/dist-extensions/src/shapes/Table.mjs.map +0 -1
- package/dist-extensions/src/shapes/Tabs.mjs +0 -23
- package/dist-extensions/src/shapes/Tabs.mjs.map +0 -1
- package/dist-extensions/src/shapes/Text/StyledText.mjs +0 -287
- package/dist-extensions/src/shapes/Text/StyledText.mjs.map +0 -1
- package/dist-extensions/src/shapes/Text/Text.mjs +0 -1449
- package/dist-extensions/src/shapes/Text/Text.mjs.map +0 -1
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.mjs +0 -219
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.mjs.map +0 -1
- package/dist-extensions/src/shapes/Text/constants.mjs +0 -67
- package/dist-extensions/src/shapes/Text/constants.mjs.map +0 -1
- package/dist-extensions/src/shapes/Textbox.mjs +0 -496
- package/dist-extensions/src/shapes/Textbox.mjs.map +0 -1
- package/dist-extensions/src/shapes/Triangle.mjs +0 -57
- package/dist-extensions/src/shapes/Triangle.mjs.map +0 -1
- package/dist-extensions/src/util/animation/AnimationBase.mjs +0 -128
- package/dist-extensions/src/util/animation/AnimationBase.mjs.map +0 -1
- package/dist-extensions/src/util/animation/AnimationFrameProvider.mjs +0 -11
- package/dist-extensions/src/util/animation/AnimationFrameProvider.mjs.map +0 -1
- package/dist-extensions/src/util/animation/AnimationRegistry.mjs +0 -55
- package/dist-extensions/src/util/animation/AnimationRegistry.mjs.map +0 -1
- package/dist-extensions/src/util/animation/ArrayAnimation.mjs +0 -27
- package/dist-extensions/src/util/animation/ArrayAnimation.mjs.map +0 -1
- package/dist-extensions/src/util/animation/ColorAnimation.mjs +0 -48
- package/dist-extensions/src/util/animation/ColorAnimation.mjs.map +0 -1
- package/dist-extensions/src/util/animation/ValueAnimation.mjs +0 -27
- package/dist-extensions/src/util/animation/ValueAnimation.mjs.map +0 -1
- package/dist-extensions/src/util/animation/animate.mjs +0 -48
- package/dist-extensions/src/util/animation/animate.mjs.map +0 -1
- package/dist-extensions/src/util/animation/easing.mjs +0 -15
- package/dist-extensions/src/util/animation/easing.mjs.map +0 -1
- package/dist-extensions/src/util/applyMixins.mjs +0 -14
- package/dist-extensions/src/util/applyMixins.mjs.map +0 -1
- package/dist-extensions/src/util/dom_event.mjs +0 -25
- package/dist-extensions/src/util/dom_event.mjs.map +0 -1
- package/dist-extensions/src/util/dom_misc.mjs +0 -51
- package/dist-extensions/src/util/dom_misc.mjs.map +0 -1
- package/dist-extensions/src/util/dom_style.mjs +0 -23
- package/dist-extensions/src/util/dom_style.mjs.map +0 -1
- package/dist-extensions/src/util/internals/cleanupSvgAttribute.mjs +0 -9
- package/dist-extensions/src/util/internals/cleanupSvgAttribute.mjs.map +0 -1
- package/dist-extensions/src/util/internals/cloneDeep.d.ts +0 -2
- package/dist-extensions/src/util/internals/cloneDeep.d.ts.map +0 -1
- package/dist-extensions/src/util/internals/cloneStyles.mjs +0 -15
- package/dist-extensions/src/util/internals/cloneStyles.mjs.map +0 -1
- package/dist-extensions/src/util/internals/console.mjs +0 -22
- package/dist-extensions/src/util/internals/console.mjs.map +0 -1
- package/dist-extensions/src/util/internals/findRight.mjs +0 -11
- package/dist-extensions/src/util/internals/findRight.mjs.map +0 -1
- package/dist-extensions/src/util/internals/ifNaN.mjs +0 -12
- package/dist-extensions/src/util/internals/ifNaN.mjs.map +0 -1
- package/dist-extensions/src/util/internals/index.d.ts +0 -5
- package/dist-extensions/src/util/internals/index.d.ts.map +0 -1
- package/dist-extensions/src/util/internals/removeFromArray.mjs +0 -17
- package/dist-extensions/src/util/internals/removeFromArray.mjs.map +0 -1
- package/dist-extensions/src/util/internals/uid.mjs +0 -5
- package/dist-extensions/src/util/internals/uid.mjs.map +0 -1
- package/dist-extensions/src/util/lang_string.mjs +0 -72
- package/dist-extensions/src/util/lang_string.mjs.map +0 -1
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.mjs +0 -43
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.mjs.map +0 -1
- package/dist-extensions/src/util/misc/capValue.mjs +0 -4
- package/dist-extensions/src/util/misc/capValue.mjs.map +0 -1
- package/dist-extensions/src/util/misc/cos.mjs +0 -26
- package/dist-extensions/src/util/misc/cos.mjs.map +0 -1
- package/dist-extensions/src/util/misc/dom.mjs +0 -36
- package/dist-extensions/src/util/misc/dom.mjs.map +0 -1
- package/dist-extensions/src/util/misc/findScaleTo.mjs +0 -22
- package/dist-extensions/src/util/misc/findScaleTo.mjs.map +0 -1
- package/dist-extensions/src/util/misc/isTransparent.mjs +0 -29
- package/dist-extensions/src/util/misc/isTransparent.mjs.map +0 -1
- package/dist-extensions/src/util/misc/matrix.mjs +0 -249
- package/dist-extensions/src/util/misc/matrix.mjs.map +0 -1
- package/dist-extensions/src/util/misc/objectEnlive.mjs +0 -145
- package/dist-extensions/src/util/misc/objectEnlive.mjs.map +0 -1
- package/dist-extensions/src/util/misc/objectTransforms.mjs +0 -92
- package/dist-extensions/src/util/misc/objectTransforms.mjs.map +0 -1
- package/dist-extensions/src/util/misc/pick.mjs +0 -26
- package/dist-extensions/src/util/misc/pick.mjs.map +0 -1
- package/dist-extensions/src/util/misc/planeChange.mjs +0 -86
- package/dist-extensions/src/util/misc/planeChange.mjs.map +0 -1
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.mjs +0 -111
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.mjs.map +0 -1
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +0 -230
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs.map +0 -1
- package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.mjs +0 -44
- package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.mjs.map +0 -1
- package/dist-extensions/src/util/misc/projectStroke/index.mjs +0 -60
- package/dist-extensions/src/util/misc/projectStroke/index.mjs.map +0 -1
- package/dist-extensions/src/util/misc/radiansDegreesConversion.mjs +0 -18
- package/dist-extensions/src/util/misc/radiansDegreesConversion.mjs.map +0 -1
- package/dist-extensions/src/util/misc/resolveOrigin.mjs +0 -18
- package/dist-extensions/src/util/misc/resolveOrigin.mjs.map +0 -1
- package/dist-extensions/src/util/misc/sin.mjs +0 -28
- package/dist-extensions/src/util/misc/sin.mjs.map +0 -1
- package/dist-extensions/src/util/misc/svgParsing.mjs +0 -117
- package/dist-extensions/src/util/misc/svgParsing.mjs.map +0 -1
- package/dist-extensions/src/util/misc/textStyles.mjs +0 -106
- package/dist-extensions/src/util/misc/textStyles.mjs.map +0 -1
- package/dist-extensions/src/util/misc/toFixed.mjs +0 -10
- package/dist-extensions/src/util/misc/toFixed.mjs.map +0 -1
- package/dist-extensions/src/util/misc/vectors.mjs +0 -94
- package/dist-extensions/src/util/misc/vectors.mjs.map +0 -1
- package/dist-extensions/src/util/path/index.mjs +0 -716
- package/dist-extensions/src/util/path/index.mjs.map +0 -1
- package/dist-extensions/src/util/path/regex.mjs +0 -24
- package/dist-extensions/src/util/path/regex.mjs.map +0 -1
- package/dist-extensions/src/util/typeAssertions.mjs +0 -21
- package/dist-extensions/src/util/typeAssertions.mjs.map +0 -1
- package/package.json +1 -1
- package/src/shapes/Object/Object.ts +25 -32
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
|
|
10
10
|
<option name="USE_DOUBLE_QUOTES" value="false" />
|
|
11
11
|
<option name="FORCE_QUOTE_STYlE" value="true" />
|
|
12
|
-
<option name="ENFORCE_TRAILING_COMMA" value="
|
|
12
|
+
<option name="ENFORCE_TRAILING_COMMA" value="WhenMultiline" />
|
|
13
13
|
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
|
|
14
14
|
<option name="SPACES_WITHIN_IMPORTS" value="true" />
|
|
15
15
|
</JSCodeStyleSettings>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
|
|
31
31
|
<option name="USE_DOUBLE_QUOTES" value="false" />
|
|
32
32
|
<option name="FORCE_QUOTE_STYlE" value="true" />
|
|
33
|
-
<option name="ENFORCE_TRAILING_COMMA" value="
|
|
33
|
+
<option name="ENFORCE_TRAILING_COMMA" value="WhenMultiline" />
|
|
34
34
|
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
|
|
35
35
|
<option name="SPACES_WITHIN_IMPORTS" value="true" />
|
|
36
36
|
</TypeScriptCodeStyleSettings>
|
package/.idea/fabricjs-2.iml
CHANGED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<module type="WEB_MODULE" version="4">
|
|
3
|
-
<component name="NewModuleRootManager">
|
|
4
|
-
<content url="file://$MODULE_DIR$">
|
|
5
|
-
<excludeFolder url="file://$MODULE_DIR$/dist" />
|
|
6
|
-
</content>
|
|
7
|
-
<orderEntry type="inheritedJdk" />
|
|
8
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
|
9
|
-
</component>
|
|
10
|
-
</module>
|
package/.idea/modules.xml
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="ProjectModuleManager">
|
|
4
|
-
<modules>
|
|
5
|
-
<module fileurl="file://$PROJECT_DIR$/.idea/fabricjs-2.iml" filepath="$PROJECT_DIR$/.idea/fabricjs-2.iml" />
|
|
6
|
-
</modules>
|
|
7
|
-
</component>
|
|
8
|
-
</project>
|
package/.idea/prettier.xml
CHANGED
package/.prettierrc
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constant.min.mjs","sources":["../../../extensions/aligning_guidelines/constant.ts"],"sourcesContent":["import type { AligningLineConfig } from './typedefs';\n\nexport const aligningLineConfig: AligningLineConfig = {\n /** At what distance from the shape does alignment begin? */\n margin: 4,\n /** Aligning line dimensions */\n width: 1,\n /** Aligning line color */\n color: 'rgb(255,0,0,0.9)',\n};\n"],"names":["aligningLineConfig","margin","width","color"],"mappings":"AAEO,MAAMA,EAAyC,CAEpDC,OAAQ,EAERC,MAAO,EAEPC,MAAO"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
const aligningLineConfig = {
|
|
2
|
-
/** At what distance from the shape does alignment begin? */
|
|
3
|
-
margin: 4,
|
|
4
|
-
/** Aligning line dimensions */
|
|
5
|
-
width: 1,
|
|
6
|
-
/** Aligning line color */
|
|
7
|
-
color: 'rgb(255,0,0,0.9)'
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export { aligningLineConfig };
|
|
11
|
-
//# sourceMappingURL=constant.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constant.mjs","sources":["../../../extensions/aligning_guidelines/constant.ts"],"sourcesContent":["import type { AligningLineConfig } from './typedefs';\n\nexport const aligningLineConfig: AligningLineConfig = {\n /** At what distance from the shape does alignment begin? */\n margin: 4,\n /** Aligning line dimensions */\n width: 1,\n /** Aligning line color */\n color: 'rgb(255,0,0,0.9)',\n};\n"],"names":["aligningLineConfig","margin","width","color"],"mappings":"AAEO,MAAMA,kBAAsC,GAAG;AACpD;AACAC,EAAAA,MAAM,EAAE,CAAC;AACT;AACAC,EAAAA,KAAK,EAAE,CAAC;AACR;AACAC,EAAAA,KAAK,EAAE,kBAAA;AACT;;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"../../src/config.min.mjs";import"../../src/cache.min.mjs";import"../../src/util/animation/AnimationRegistry.min.mjs";import{collectVerticalPoint as t,collectHorizontalPoint as r}from"./util/collect-point.min.mjs";import{drawPointList as s,drawVerticalLine as i,drawHorizontalLine as e}from"./util/draw.min.mjs";import{getObjectsByTarget as m}from"./util/get-objects-by-target.min.mjs";import{collectLine as o}from"./util/collect-line.min.mjs";import{aligningLineConfig as n}from"./constant.min.mjs";import"../../src/canvas/StaticCanvas.min.mjs";import{Point as c}from"../../src/Point.min.mjs";import{makeBoundingBoxFromPoints as a}from"../../src/util/misc/boundingBoxFromPoints.min.mjs";import"../../src/canvas/SelectableCanvas.min.mjs";import"../../src/util/misc/vectors.min.mjs";import"../../src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs";import"../../src/shapes/Group.min.mjs";import"../../src/util/path/regex.min.mjs";import"../../src/parser/constants.min.mjs";import"../../src/gradient/Gradient.min.mjs";import"../../src/Pattern/Pattern.min.mjs";import"../../src/Shadow.min.mjs";import"../../src/shapes/Path.min.mjs";import"../../src/shapes/Circle.min.mjs";import"../../src/shapes/Rect.min.mjs";import"../../src/shapes/Object/FabricObject.min.mjs";import"../../src/shapes/Object/Object.min.mjs";import"../../src/shapes/Object/InteractiveObject.min.mjs";import"../../src/shapes/Line.min.mjs";import"../../src/shapes/Triangle.min.mjs";import"../../src/shapes/Ellipse.min.mjs";import"../../src/shapes/Polyline.min.mjs";import"../../src/shapes/Polygon.min.mjs";import"../../src/shapes/Tabs.min.mjs";import"../../src/shapes/Table.min.mjs";import"../../src/shapes/Text/Text.min.mjs";import"../../src/shapes/IText/IText.min.mjs";import"../../src/shapes/Textbox.min.mjs";import"../../src/LayoutManager/LayoutManager.min.mjs";import"../../src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs";import"../../src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs";import"../../src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs";import"../../src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs";import"../../src/shapes/ActiveSelection.min.mjs";import"../../src/shapes/Image.min.mjs";import"../../src/parser/hasInvalidAncestor.min.mjs";import"../../src/parser/parseTransformAttribute.min.mjs";import"../../src/filters/BaseFilter.min.mjs";import"../../src/filters/BlendColor.min.mjs";import"../../src/filters/BlendImage.min.mjs";import"../../src/filters/Blur.min.mjs";import"../../src/filters/Brightness.min.mjs";import"../../src/filters/ColorMatrix.min.mjs";import"../../src/filters/ColorMatrixFilters.min.mjs";import"../../src/filters/Composed.min.mjs";import"../../src/filters/Contrast.min.mjs";import"../../src/filters/Convolute.min.mjs";import"../../src/filters/Gamma.min.mjs";import"../../src/filters/Grayscale.min.mjs";import"../../src/filters/HueRotation.min.mjs";import"../../src/filters/Invert.min.mjs";import"../../src/filters/Noise.min.mjs";import"../../src/filters/Pixelate.min.mjs";import"../../src/filters/RemoveColor.min.mjs";import"../../src/filters/Resize.min.mjs";import"../../src/filters/Saturation.min.mjs";import"../../src/filters/Vibrance.min.mjs";function p(p){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object.assign(n,l);const j=new Set,f=new Set;let g=!1;const u=new Map,h=t=>{const r=[t.calcTransformMatrix().toString(),t.width,t.height].join(),s=u.get(r);if(s)return s;const i=t.getCoords(),e=[a(i),i];return u.set(r,e),e};function b(t){const r=t.target;r.setCoords(),g=!1,f.clear(),j.clear();const s=m(r),i=r.getBoundingRect();for(const t of s){const s=h(t)[0],{vLines:e,hLines:m}=o({activeObject:r,activeObjectRect:i,objectRect:s});e.forEach((t=>{f.add(JSON.stringify(t))})),m.forEach((t=>{j.add(JSON.stringify(t))}))}}function d(s){const i=s.target;i.setCoords();const e=String(s.transform.action).startsWith("scale");f.clear(),j.clear();const o=m(i);let n=s.transform.corner;i.flipX&&(n=n.replace("l","r").replace("r","l")),i.flipY&&(n=n.replace("t","b").replace("b","t"));let a=["tl","tr","br","bl","mt","mr","mb","ml"].indexOf(n);if(-1==a)return;if(g=a>3,g){if(i.getTotalAngle()%90!=0)return;a-=4}let p=i.getCoords()[a];for(const s of o){const[m,o]=h(s),n={activeObject:i,point:p,list:[...o,new c(m.left+m.width/2,m.top+m.height/2)],isScale:e,index:a},l=t(n),g=r(n);l.forEach((t=>{f.add(JSON.stringify(t))})),g.forEach((t=>{j.add(JSON.stringify(t))})),(l.length||g.length)&&(p=i.getCoords()[a])}}function S(){p.clearContext(p.contextTop)}function y(){if(g){const t=[];for(const r of f)t.push(JSON.parse(r));for(const r of j)t.push(JSON.parse(r));s(p,t)}else{for(const t of f)i(p,JSON.parse(t));for(const t of j)e(p,JSON.parse(t))}}function O(){f.clear(),j.clear(),u.clear(),p.requestRenderAll()}return p.on("object:resizing",d),p.on("object:scaling",d),p.on("object:moving",b),p.on("before:render",S),p.on("after:render",y),p.on("mouse:up",O),()=>{p.off("object:resizing",d),p.off("object:scaling",d),p.off("object:moving",b),p.off("before:render",S),p.off("after:render",y),p.off("mouse:up",O)}}export{p as initAligningGuidelines};
|
|
2
|
-
//# sourceMappingURL=index.min.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.min.mjs","sources":["../../../extensions/aligning_guidelines/index.ts"],"sourcesContent":["import type {\n BasicTransformEvent,\n Canvas,\n FabricObject,\n TBBox,\n TPointerEvent,\n} from '@postermywall/fabricjs-2';\nimport { Point, util } from '@postermywall/fabricjs-2';\nimport {\n collectHorizontalPoint,\n collectVerticalPoint,\n} from './util/collect-point';\nimport {\n drawHorizontalLine,\n drawPointList,\n drawVerticalLine,\n} from './util/draw';\nimport { getObjectsByTarget } from './util/get-objects-by-target';\nimport { collectLine } from './util/collect-line';\nimport type {\n AligningLineConfig,\n HorizontalLine,\n VerticalLine,\n} from './typedefs';\nimport { aligningLineConfig } from './constant';\n\ntype TransformEvent = BasicTransformEvent<TPointerEvent> & {\n target: FabricObject;\n};\n\nexport type { AligningLineConfig } from './typedefs';\n\nexport function initAligningGuidelines(\n canvas: Canvas,\n options: Partial<AligningLineConfig> = {},\n) {\n Object.assign(aligningLineConfig, options);\n\n const horizontalLines = new Set<string>();\n const verticalLines = new Set<string>();\n let onlyDrawPoint = false;\n const cacheMap = new Map<string, [TBBox, Point[]]>();\n\n const getCaCheMapValue = (object: FabricObject) => {\n const cacheKey = [\n object.calcTransformMatrix().toString(),\n object.width,\n object.height,\n ].join();\n const cacheValue = cacheMap.get(cacheKey);\n if (cacheValue) return cacheValue;\n const coords = object.getCoords();\n const rect = util.makeBoundingBoxFromPoints(coords);\n const value: [TBBox, Point[]] = [rect, coords];\n cacheMap.set(cacheKey, value);\n return value;\n };\n\n function moving(e: TransformEvent) {\n const activeObject = e.target;\n activeObject.setCoords();\n onlyDrawPoint = false;\n verticalLines.clear();\n horizontalLines.clear();\n\n const objects = getObjectsByTarget(activeObject);\n const activeObjectRect = activeObject.getBoundingRect();\n\n for (const object of objects) {\n const objectRect = getCaCheMapValue(object)[0];\n const { vLines, hLines } = collectLine({\n activeObject,\n activeObjectRect,\n objectRect,\n });\n vLines.forEach((o) => {\n verticalLines.add(JSON.stringify(o));\n });\n hLines.forEach((o) => {\n horizontalLines.add(JSON.stringify(o));\n });\n }\n }\n\n function scalingOrResizing(e: TransformEvent) {\n // br bl tr tl mb ml mt mr\n const activeObject = e.target;\n activeObject.setCoords();\n const isScale = String(e.transform.action).startsWith('scale');\n verticalLines.clear();\n horizontalLines.clear();\n\n const objects = getObjectsByTarget(activeObject);\n let corner = e.transform.corner;\n if (activeObject.flipX) corner = corner.replace('l', 'r').replace('r', 'l');\n if (activeObject.flipY) corner = corner.replace('t', 'b').replace('b', 't');\n let index = ['tl', 'tr', 'br', 'bl', 'mt', 'mr', 'mb', 'ml'].indexOf(\n corner,\n );\n if (index == -1) return;\n onlyDrawPoint = index > 3;\n if (onlyDrawPoint) {\n const angle = activeObject.getTotalAngle();\n if (angle % 90 != 0) return;\n index -= 4;\n }\n let point = activeObject.getCoords()[index];\n for (const object of objects) {\n const [rect, coords] = getCaCheMapValue(object);\n const center = new Point(\n rect.left + rect.width / 2,\n rect.top + rect.height / 2,\n );\n const list = [...coords, center];\n const props = { activeObject, point, list, isScale, index };\n const vLines = collectVerticalPoint(props);\n const hLines = collectHorizontalPoint(props);\n vLines.forEach((o) => {\n verticalLines.add(JSON.stringify(o));\n });\n hLines.forEach((o) => {\n horizontalLines.add(JSON.stringify(o));\n });\n if (vLines.length || hLines.length)\n point = activeObject.getCoords()[index];\n }\n }\n\n function beforeRender() {\n canvas.clearContext(canvas.contextTop);\n }\n function afterRender() {\n if (onlyDrawPoint) {\n const list: Array<VerticalLine | HorizontalLine> = [];\n for (const v of verticalLines) list.push(JSON.parse(v));\n for (const h of horizontalLines) list.push(JSON.parse(h));\n drawPointList(canvas, list);\n } else {\n for (const v of verticalLines) drawVerticalLine(canvas, JSON.parse(v));\n for (const h of horizontalLines)\n drawHorizontalLine(canvas, JSON.parse(h));\n }\n }\n function mouseUp() {\n verticalLines.clear();\n horizontalLines.clear();\n cacheMap.clear();\n canvas.requestRenderAll();\n }\n\n canvas.on('object:resizing', scalingOrResizing);\n canvas.on('object:scaling', scalingOrResizing);\n canvas.on('object:moving', moving);\n canvas.on('before:render', beforeRender);\n canvas.on('after:render', afterRender);\n canvas.on('mouse:up', mouseUp);\n\n return () => {\n canvas.off('object:resizing', scalingOrResizing);\n canvas.off('object:scaling', scalingOrResizing);\n canvas.off('object:moving', moving);\n canvas.off('before:render', beforeRender);\n canvas.off('after:render', afterRender);\n canvas.off('mouse:up', mouseUp);\n };\n}\n"],"names":["initAligningGuidelines","canvas","options","arguments","length","undefined","Object","assign","aligningLineConfig","horizontalLines","Set","verticalLines","onlyDrawPoint","cacheMap","Map","getCaCheMapValue","object","cacheKey","calcTransformMatrix","toString","width","height","join","cacheValue","get","coords","getCoords","value","util","set","moving","e","activeObject","target","setCoords","clear","objects","getObjectsByTarget","activeObjectRect","getBoundingRect","objectRect","vLines","hLines","collectLine","forEach","o","add","JSON","stringify","scalingOrResizing","isScale","String","transform","action","startsWith","corner","flipX","replace","flipY","index","indexOf","getTotalAngle","point","rect","props","list","Point","left","top","collectVerticalPoint","collectHorizontalPoint","beforeRender","clearContext","contextTop","afterRender","v","push","parse","h","drawPointList","drawVerticalLine","drawHorizontalLine","mouseUp","requestRenderAll","on","off"],"mappings":"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"}
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
import '../../src/config.mjs';
|
|
2
|
-
import '../../src/cache.mjs';
|
|
3
|
-
import '../../src/util/animation/AnimationRegistry.mjs';
|
|
4
|
-
import { collectVerticalPoint, collectHorizontalPoint } from './util/collect-point.mjs';
|
|
5
|
-
import { drawPointList, drawVerticalLine, drawHorizontalLine } from './util/draw.mjs';
|
|
6
|
-
import { getObjectsByTarget } from './util/get-objects-by-target.mjs';
|
|
7
|
-
import { collectLine } from './util/collect-line.mjs';
|
|
8
|
-
import { aligningLineConfig } from './constant.mjs';
|
|
9
|
-
import '../../src/canvas/StaticCanvas.mjs';
|
|
10
|
-
import { Point } from '../../src/Point.mjs';
|
|
11
|
-
import { makeBoundingBoxFromPoints } from '../../src/util/misc/boundingBoxFromPoints.mjs';
|
|
12
|
-
import '../../src/canvas/SelectableCanvas.mjs';
|
|
13
|
-
import '../../src/util/misc/vectors.mjs';
|
|
14
|
-
import '../../src/util/misc/projectStroke/StrokeLineJoinProjections.mjs';
|
|
15
|
-
import '../../src/shapes/Group.mjs';
|
|
16
|
-
import '../../src/util/path/regex.mjs';
|
|
17
|
-
import '../../src/parser/constants.mjs';
|
|
18
|
-
import '../../src/gradient/Gradient.mjs';
|
|
19
|
-
import '../../src/Pattern/Pattern.mjs';
|
|
20
|
-
import '../../src/Shadow.mjs';
|
|
21
|
-
import '../../src/shapes/Path.mjs';
|
|
22
|
-
import '../../src/shapes/Circle.mjs';
|
|
23
|
-
import '../../src/shapes/Rect.mjs';
|
|
24
|
-
import '../../src/shapes/Object/FabricObject.mjs';
|
|
25
|
-
import '../../src/shapes/Object/Object.mjs';
|
|
26
|
-
import '../../src/shapes/Object/InteractiveObject.mjs';
|
|
27
|
-
import '../../src/shapes/Line.mjs';
|
|
28
|
-
import '../../src/shapes/Triangle.mjs';
|
|
29
|
-
import '../../src/shapes/Ellipse.mjs';
|
|
30
|
-
import '../../src/shapes/Polyline.mjs';
|
|
31
|
-
import '../../src/shapes/Polygon.mjs';
|
|
32
|
-
import '../../src/shapes/Tabs.mjs';
|
|
33
|
-
import '../../src/shapes/Table.mjs';
|
|
34
|
-
import '../../src/shapes/Text/Text.mjs';
|
|
35
|
-
import '../../src/shapes/IText/IText.mjs';
|
|
36
|
-
import '../../src/shapes/Textbox.mjs';
|
|
37
|
-
import '../../src/LayoutManager/LayoutManager.mjs';
|
|
38
|
-
import '../../src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs';
|
|
39
|
-
import '../../src/LayoutManager/LayoutStrategies/FitContentLayout.mjs';
|
|
40
|
-
import '../../src/LayoutManager/LayoutStrategies/FixedLayout.mjs';
|
|
41
|
-
import '../../src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs';
|
|
42
|
-
import '../../src/shapes/ActiveSelection.mjs';
|
|
43
|
-
import '../../src/shapes/Image.mjs';
|
|
44
|
-
import '../../src/parser/hasInvalidAncestor.mjs';
|
|
45
|
-
import '../../src/parser/parseTransformAttribute.mjs';
|
|
46
|
-
import '../../src/filters/BaseFilter.mjs';
|
|
47
|
-
import '../../src/filters/BlendColor.mjs';
|
|
48
|
-
import '../../src/filters/BlendImage.mjs';
|
|
49
|
-
import '../../src/filters/Blur.mjs';
|
|
50
|
-
import '../../src/filters/Brightness.mjs';
|
|
51
|
-
import '../../src/filters/ColorMatrix.mjs';
|
|
52
|
-
import '../../src/filters/ColorMatrixFilters.mjs';
|
|
53
|
-
import '../../src/filters/Composed.mjs';
|
|
54
|
-
import '../../src/filters/Contrast.mjs';
|
|
55
|
-
import '../../src/filters/Convolute.mjs';
|
|
56
|
-
import '../../src/filters/Gamma.mjs';
|
|
57
|
-
import '../../src/filters/Grayscale.mjs';
|
|
58
|
-
import '../../src/filters/HueRotation.mjs';
|
|
59
|
-
import '../../src/filters/Invert.mjs';
|
|
60
|
-
import '../../src/filters/Noise.mjs';
|
|
61
|
-
import '../../src/filters/Pixelate.mjs';
|
|
62
|
-
import '../../src/filters/RemoveColor.mjs';
|
|
63
|
-
import '../../src/filters/Resize.mjs';
|
|
64
|
-
import '../../src/filters/Saturation.mjs';
|
|
65
|
-
import '../../src/filters/Vibrance.mjs';
|
|
66
|
-
|
|
67
|
-
function initAligningGuidelines(canvas) {
|
|
68
|
-
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
69
|
-
Object.assign(aligningLineConfig, options);
|
|
70
|
-
const horizontalLines = new Set();
|
|
71
|
-
const verticalLines = new Set();
|
|
72
|
-
let onlyDrawPoint = false;
|
|
73
|
-
const cacheMap = new Map();
|
|
74
|
-
const getCaCheMapValue = object => {
|
|
75
|
-
const cacheKey = [object.calcTransformMatrix().toString(), object.width, object.height].join();
|
|
76
|
-
const cacheValue = cacheMap.get(cacheKey);
|
|
77
|
-
if (cacheValue) return cacheValue;
|
|
78
|
-
const coords = object.getCoords();
|
|
79
|
-
const rect = makeBoundingBoxFromPoints(coords);
|
|
80
|
-
const value = [rect, coords];
|
|
81
|
-
cacheMap.set(cacheKey, value);
|
|
82
|
-
return value;
|
|
83
|
-
};
|
|
84
|
-
function moving(e) {
|
|
85
|
-
const activeObject = e.target;
|
|
86
|
-
activeObject.setCoords();
|
|
87
|
-
onlyDrawPoint = false;
|
|
88
|
-
verticalLines.clear();
|
|
89
|
-
horizontalLines.clear();
|
|
90
|
-
const objects = getObjectsByTarget(activeObject);
|
|
91
|
-
const activeObjectRect = activeObject.getBoundingRect();
|
|
92
|
-
for (const object of objects) {
|
|
93
|
-
const objectRect = getCaCheMapValue(object)[0];
|
|
94
|
-
const {
|
|
95
|
-
vLines,
|
|
96
|
-
hLines
|
|
97
|
-
} = collectLine({
|
|
98
|
-
activeObject,
|
|
99
|
-
activeObjectRect,
|
|
100
|
-
objectRect
|
|
101
|
-
});
|
|
102
|
-
vLines.forEach(o => {
|
|
103
|
-
verticalLines.add(JSON.stringify(o));
|
|
104
|
-
});
|
|
105
|
-
hLines.forEach(o => {
|
|
106
|
-
horizontalLines.add(JSON.stringify(o));
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
function scalingOrResizing(e) {
|
|
111
|
-
// br bl tr tl mb ml mt mr
|
|
112
|
-
const activeObject = e.target;
|
|
113
|
-
activeObject.setCoords();
|
|
114
|
-
const isScale = String(e.transform.action).startsWith('scale');
|
|
115
|
-
verticalLines.clear();
|
|
116
|
-
horizontalLines.clear();
|
|
117
|
-
const objects = getObjectsByTarget(activeObject);
|
|
118
|
-
let corner = e.transform.corner;
|
|
119
|
-
if (activeObject.flipX) corner = corner.replace('l', 'r').replace('r', 'l');
|
|
120
|
-
if (activeObject.flipY) corner = corner.replace('t', 'b').replace('b', 't');
|
|
121
|
-
let index = ['tl', 'tr', 'br', 'bl', 'mt', 'mr', 'mb', 'ml'].indexOf(corner);
|
|
122
|
-
if (index == -1) return;
|
|
123
|
-
onlyDrawPoint = index > 3;
|
|
124
|
-
if (onlyDrawPoint) {
|
|
125
|
-
const angle = activeObject.getTotalAngle();
|
|
126
|
-
if (angle % 90 != 0) return;
|
|
127
|
-
index -= 4;
|
|
128
|
-
}
|
|
129
|
-
let point = activeObject.getCoords()[index];
|
|
130
|
-
for (const object of objects) {
|
|
131
|
-
const [rect, coords] = getCaCheMapValue(object);
|
|
132
|
-
const center = new Point(rect.left + rect.width / 2, rect.top + rect.height / 2);
|
|
133
|
-
const list = [...coords, center];
|
|
134
|
-
const props = {
|
|
135
|
-
activeObject,
|
|
136
|
-
point,
|
|
137
|
-
list,
|
|
138
|
-
isScale,
|
|
139
|
-
index
|
|
140
|
-
};
|
|
141
|
-
const vLines = collectVerticalPoint(props);
|
|
142
|
-
const hLines = collectHorizontalPoint(props);
|
|
143
|
-
vLines.forEach(o => {
|
|
144
|
-
verticalLines.add(JSON.stringify(o));
|
|
145
|
-
});
|
|
146
|
-
hLines.forEach(o => {
|
|
147
|
-
horizontalLines.add(JSON.stringify(o));
|
|
148
|
-
});
|
|
149
|
-
if (vLines.length || hLines.length) point = activeObject.getCoords()[index];
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
function beforeRender() {
|
|
153
|
-
canvas.clearContext(canvas.contextTop);
|
|
154
|
-
}
|
|
155
|
-
function afterRender() {
|
|
156
|
-
if (onlyDrawPoint) {
|
|
157
|
-
const list = [];
|
|
158
|
-
for (const v of verticalLines) list.push(JSON.parse(v));
|
|
159
|
-
for (const h of horizontalLines) list.push(JSON.parse(h));
|
|
160
|
-
drawPointList(canvas, list);
|
|
161
|
-
} else {
|
|
162
|
-
for (const v of verticalLines) drawVerticalLine(canvas, JSON.parse(v));
|
|
163
|
-
for (const h of horizontalLines) drawHorizontalLine(canvas, JSON.parse(h));
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
function mouseUp() {
|
|
167
|
-
verticalLines.clear();
|
|
168
|
-
horizontalLines.clear();
|
|
169
|
-
cacheMap.clear();
|
|
170
|
-
canvas.requestRenderAll();
|
|
171
|
-
}
|
|
172
|
-
canvas.on('object:resizing', scalingOrResizing);
|
|
173
|
-
canvas.on('object:scaling', scalingOrResizing);
|
|
174
|
-
canvas.on('object:moving', moving);
|
|
175
|
-
canvas.on('before:render', beforeRender);
|
|
176
|
-
canvas.on('after:render', afterRender);
|
|
177
|
-
canvas.on('mouse:up', mouseUp);
|
|
178
|
-
return () => {
|
|
179
|
-
canvas.off('object:resizing', scalingOrResizing);
|
|
180
|
-
canvas.off('object:scaling', scalingOrResizing);
|
|
181
|
-
canvas.off('object:moving', moving);
|
|
182
|
-
canvas.off('before:render', beforeRender);
|
|
183
|
-
canvas.off('after:render', afterRender);
|
|
184
|
-
canvas.off('mouse:up', mouseUp);
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
export { initAligningGuidelines };
|
|
189
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../extensions/aligning_guidelines/index.ts"],"sourcesContent":["import type {\n BasicTransformEvent,\n Canvas,\n FabricObject,\n TBBox,\n TPointerEvent,\n} from '@postermywall/fabricjs-2';\nimport { Point, util } from '@postermywall/fabricjs-2';\nimport {\n collectHorizontalPoint,\n collectVerticalPoint,\n} from './util/collect-point';\nimport {\n drawHorizontalLine,\n drawPointList,\n drawVerticalLine,\n} from './util/draw';\nimport { getObjectsByTarget } from './util/get-objects-by-target';\nimport { collectLine } from './util/collect-line';\nimport type {\n AligningLineConfig,\n HorizontalLine,\n VerticalLine,\n} from './typedefs';\nimport { aligningLineConfig } from './constant';\n\ntype TransformEvent = BasicTransformEvent<TPointerEvent> & {\n target: FabricObject;\n};\n\nexport type { AligningLineConfig } from './typedefs';\n\nexport function initAligningGuidelines(\n canvas: Canvas,\n options: Partial<AligningLineConfig> = {},\n) {\n Object.assign(aligningLineConfig, options);\n\n const horizontalLines = new Set<string>();\n const verticalLines = new Set<string>();\n let onlyDrawPoint = false;\n const cacheMap = new Map<string, [TBBox, Point[]]>();\n\n const getCaCheMapValue = (object: FabricObject) => {\n const cacheKey = [\n object.calcTransformMatrix().toString(),\n object.width,\n object.height,\n ].join();\n const cacheValue = cacheMap.get(cacheKey);\n if (cacheValue) return cacheValue;\n const coords = object.getCoords();\n const rect = util.makeBoundingBoxFromPoints(coords);\n const value: [TBBox, Point[]] = [rect, coords];\n cacheMap.set(cacheKey, value);\n return value;\n };\n\n function moving(e: TransformEvent) {\n const activeObject = e.target;\n activeObject.setCoords();\n onlyDrawPoint = false;\n verticalLines.clear();\n horizontalLines.clear();\n\n const objects = getObjectsByTarget(activeObject);\n const activeObjectRect = activeObject.getBoundingRect();\n\n for (const object of objects) {\n const objectRect = getCaCheMapValue(object)[0];\n const { vLines, hLines } = collectLine({\n activeObject,\n activeObjectRect,\n objectRect,\n });\n vLines.forEach((o) => {\n verticalLines.add(JSON.stringify(o));\n });\n hLines.forEach((o) => {\n horizontalLines.add(JSON.stringify(o));\n });\n }\n }\n\n function scalingOrResizing(e: TransformEvent) {\n // br bl tr tl mb ml mt mr\n const activeObject = e.target;\n activeObject.setCoords();\n const isScale = String(e.transform.action).startsWith('scale');\n verticalLines.clear();\n horizontalLines.clear();\n\n const objects = getObjectsByTarget(activeObject);\n let corner = e.transform.corner;\n if (activeObject.flipX) corner = corner.replace('l', 'r').replace('r', 'l');\n if (activeObject.flipY) corner = corner.replace('t', 'b').replace('b', 't');\n let index = ['tl', 'tr', 'br', 'bl', 'mt', 'mr', 'mb', 'ml'].indexOf(\n corner,\n );\n if (index == -1) return;\n onlyDrawPoint = index > 3;\n if (onlyDrawPoint) {\n const angle = activeObject.getTotalAngle();\n if (angle % 90 != 0) return;\n index -= 4;\n }\n let point = activeObject.getCoords()[index];\n for (const object of objects) {\n const [rect, coords] = getCaCheMapValue(object);\n const center = new Point(\n rect.left + rect.width / 2,\n rect.top + rect.height / 2,\n );\n const list = [...coords, center];\n const props = { activeObject, point, list, isScale, index };\n const vLines = collectVerticalPoint(props);\n const hLines = collectHorizontalPoint(props);\n vLines.forEach((o) => {\n verticalLines.add(JSON.stringify(o));\n });\n hLines.forEach((o) => {\n horizontalLines.add(JSON.stringify(o));\n });\n if (vLines.length || hLines.length)\n point = activeObject.getCoords()[index];\n }\n }\n\n function beforeRender() {\n canvas.clearContext(canvas.contextTop);\n }\n function afterRender() {\n if (onlyDrawPoint) {\n const list: Array<VerticalLine | HorizontalLine> = [];\n for (const v of verticalLines) list.push(JSON.parse(v));\n for (const h of horizontalLines) list.push(JSON.parse(h));\n drawPointList(canvas, list);\n } else {\n for (const v of verticalLines) drawVerticalLine(canvas, JSON.parse(v));\n for (const h of horizontalLines)\n drawHorizontalLine(canvas, JSON.parse(h));\n }\n }\n function mouseUp() {\n verticalLines.clear();\n horizontalLines.clear();\n cacheMap.clear();\n canvas.requestRenderAll();\n }\n\n canvas.on('object:resizing', scalingOrResizing);\n canvas.on('object:scaling', scalingOrResizing);\n canvas.on('object:moving', moving);\n canvas.on('before:render', beforeRender);\n canvas.on('after:render', afterRender);\n canvas.on('mouse:up', mouseUp);\n\n return () => {\n canvas.off('object:resizing', scalingOrResizing);\n canvas.off('object:scaling', scalingOrResizing);\n canvas.off('object:moving', moving);\n canvas.off('before:render', beforeRender);\n canvas.off('after:render', afterRender);\n canvas.off('mouse:up', mouseUp);\n };\n}\n"],"names":["initAligningGuidelines","canvas","options","arguments","length","undefined","Object","assign","aligningLineConfig","horizontalLines","Set","verticalLines","onlyDrawPoint","cacheMap","Map","getCaCheMapValue","object","cacheKey","calcTransformMatrix","toString","width","height","join","cacheValue","get","coords","getCoords","rect","util","value","set","moving","e","activeObject","target","setCoords","clear","objects","getObjectsByTarget","activeObjectRect","getBoundingRect","objectRect","vLines","hLines","collectLine","forEach","o","add","JSON","stringify","scalingOrResizing","isScale","String","transform","action","startsWith","corner","flipX","replace","flipY","index","indexOf","angle","getTotalAngle","point","center","Point","left","top","list","props","collectVerticalPoint","collectHorizontalPoint","beforeRender","clearContext","contextTop","afterRender","v","push","parse","h","drawPointList","drawVerticalLine","drawHorizontalLine","mouseUp","requestRenderAll","on","off"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"basic.min.mjs","sources":["../../../../extensions/aligning_guidelines/util/basic.ts"],"sourcesContent":["import type { FabricObject, Point } from '@postermywall/fabricjs-2';\n\nexport function getDistance(a: number, b: number) {\n return Math.abs(a - b);\n}\n\nexport function setPositionDir(\n target: FabricObject,\n pos: Point,\n dir: 'x' | 'y',\n) {\n const center = target.translateToCenterPoint(pos, 'center', 'center');\n const position = target.translateToOriginPoint(\n center,\n target.originX,\n target.originY,\n );\n if (dir == 'x') target.setX(position.x);\n else target.setY(position.y);\n}\n"],"names":["getDistance","a","b","Math","abs","setPositionDir","target","pos","dir","center","translateToCenterPoint","position","translateToOriginPoint","originX","originY","setX","x","setY","y"],"mappings":"AAEO,SAASA,EAAYC,EAAWC,GACrC,OAAOC,KAAKC,IAAIH,EAAIC,EACtB,CAEO,SAASG,EACdC,EACAC,EACAC,GAEA,MAAMC,EAASH,EAAOI,uBAAuBH,EAAK,SAAU,UACtDI,EAAWL,EAAOM,uBACtBH,EACAH,EAAOO,QACPP,EAAOQ,SAEE,KAAPN,EAAYF,EAAOS,KAAKJ,EAASK,GAChCV,EAAOW,KAAKN,EAASO,EAC5B"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
function getDistance(a, b) {
|
|
2
|
-
return Math.abs(a - b);
|
|
3
|
-
}
|
|
4
|
-
function setPositionDir(target, pos, dir) {
|
|
5
|
-
const center = target.translateToCenterPoint(pos, 'center', 'center');
|
|
6
|
-
const position = target.translateToOriginPoint(center, target.originX, target.originY);
|
|
7
|
-
if (dir == 'x') target.setX(position.x);else target.setY(position.y);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export { getDistance, setPositionDir };
|
|
11
|
-
//# sourceMappingURL=basic.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"basic.mjs","sources":["../../../../extensions/aligning_guidelines/util/basic.ts"],"sourcesContent":["import type { FabricObject, Point } from '@postermywall/fabricjs-2';\n\nexport function getDistance(a: number, b: number) {\n return Math.abs(a - b);\n}\n\nexport function setPositionDir(\n target: FabricObject,\n pos: Point,\n dir: 'x' | 'y',\n) {\n const center = target.translateToCenterPoint(pos, 'center', 'center');\n const position = target.translateToOriginPoint(\n center,\n target.originX,\n target.originY,\n );\n if (dir == 'x') target.setX(position.x);\n else target.setY(position.y);\n}\n"],"names":["getDistance","a","b","Math","abs","setPositionDir","target","pos","dir","center","translateToCenterPoint","position","translateToOriginPoint","originX","originY","setX","x","setY","y"],"mappings":"AAEO,SAASA,WAAWA,CAACC,CAAS,EAAEC,CAAS,EAAE;AAChD,EAAA,OAAOC,IAAI,CAACC,GAAG,CAACH,CAAC,GAAGC,CAAC,CAAC,CAAA;AACxB,CAAA;AAEO,SAASG,cAAcA,CAC5BC,MAAoB,EACpBC,GAAU,EACVC,GAAc,EACd;EACA,MAAMC,MAAM,GAAGH,MAAM,CAACI,sBAAsB,CAACH,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;AACrE,EAAA,MAAMI,QAAQ,GAAGL,MAAM,CAACM,sBAAsB,CAC5CH,MAAM,EACNH,MAAM,CAACO,OAAO,EACdP,MAAM,CAACQ,OACT,CAAC,CAAA;EACD,IAAIN,GAAG,IAAI,GAAG,EAAEF,MAAM,CAACS,IAAI,CAACJ,QAAQ,CAACK,CAAC,CAAC,CAAC,KACnCV,MAAM,CAACW,IAAI,CAACN,QAAQ,CAACO,CAAC,CAAC,CAAA;AAC9B;;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"../../../src/config.min.mjs";import"../../../src/cache.min.mjs";import"../../../src/util/animation/AnimationRegistry.min.mjs";import{aligningLineConfig as t}from"../constant.min.mjs";import{getDistance as i,setPositionDir as s}from"./basic.min.mjs";import"../../../src/canvas/StaticCanvas.min.mjs";import{Point as r}from"../../../src/Point.min.mjs";import"../../../src/canvas/SelectableCanvas.min.mjs";import"../../../src/util/misc/vectors.min.mjs";import"../../../src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs";import"../../../src/shapes/Group.min.mjs";import"../../../src/util/path/regex.min.mjs";import"../../../src/parser/constants.min.mjs";import"../../../src/gradient/Gradient.min.mjs";import"../../../src/Pattern/Pattern.min.mjs";import"../../../src/Shadow.min.mjs";import"../../../src/shapes/Path.min.mjs";import"../../../src/shapes/Circle.min.mjs";import"../../../src/shapes/Rect.min.mjs";import"../../../src/shapes/Object/FabricObject.min.mjs";import"../../../src/shapes/Object/Object.min.mjs";import"../../../src/shapes/Object/InteractiveObject.min.mjs";import"../../../src/shapes/Line.min.mjs";import"../../../src/shapes/Triangle.min.mjs";import"../../../src/shapes/Ellipse.min.mjs";import"../../../src/shapes/Polyline.min.mjs";import"../../../src/shapes/Polygon.min.mjs";import"../../../src/shapes/Tabs.min.mjs";import"../../../src/shapes/Table.min.mjs";import"../../../src/shapes/Text/Text.min.mjs";import"../../../src/shapes/IText/IText.min.mjs";import"../../../src/shapes/Textbox.min.mjs";import"../../../src/LayoutManager/LayoutManager.min.mjs";import"../../../src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs";import"../../../src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs";import"../../../src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs";import"../../../src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs";import"../../../src/shapes/ActiveSelection.min.mjs";import"../../../src/shapes/Image.min.mjs";import"../../../src/parser/hasInvalidAncestor.min.mjs";import"../../../src/parser/parseTransformAttribute.min.mjs";import"../../../src/filters/BaseFilter.min.mjs";import"../../../src/filters/BlendColor.min.mjs";import"../../../src/filters/BlendImage.min.mjs";import"../../../src/filters/Blur.min.mjs";import"../../../src/filters/Brightness.min.mjs";import"../../../src/filters/ColorMatrix.min.mjs";import"../../../src/filters/ColorMatrixFilters.min.mjs";import"../../../src/filters/Composed.min.mjs";import"../../../src/filters/Contrast.min.mjs";import"../../../src/filters/Convolute.min.mjs";import"../../../src/filters/Gamma.min.mjs";import"../../../src/filters/Grayscale.min.mjs";import"../../../src/filters/HueRotation.min.mjs";import"../../../src/filters/Invert.min.mjs";import"../../../src/filters/Noise.min.mjs";import"../../../src/filters/Pixelate.min.mjs";import"../../../src/filters/RemoveColor.min.mjs";import"../../../src/filters/Resize.min.mjs";import"../../../src/filters/Saturation.min.mjs";import"../../../src/filters/Vibrance.min.mjs";function m(i){var s,r;const m=t.margin,{activeObject:a,activeObjectRect:c,objectRect:p}=i,j={target:a,list:n(p),aList:n(c),margin:m/(null!==(s=null===(r=a.canvas)||void 0===r?void 0:r.getZoom())&&void 0!==s?s:1)},l=function(t){const{target:i,list:s,aList:r,margin:m}=t,n=r.map((t=>e(t,s,"x"))),a=Math.min(...n.map((t=>t.dis)));if(a>m)return[];const c=[],p=r[0].x2-r[0].x,j=r[0].y2-r[0].y;let l=!1;for(let t=0;t<n.length;t++){const m=n[t];if(a==m.dis){const e=s[m.index],n=r[m.index],h=e.x,x=n.y,y=Math.min(e.y,e.y2,x,n.y2),f=Math.max(e.y,e.y2,x,n.y2);if(c.push({x:h,y1:y,y2:f}),l)continue;l=!0,o({target:i,x:h,y:x,centerX:t-1,centerY:m.index-1,width:p,height:j,dir:"x"});const u=a*m.dir;r.forEach((t=>t.x-=u))}}return c}(j),h=function(t){const{target:i,list:s,aList:r,margin:m}=t,n=r.map((t=>e(t,s,"y"))),a=Math.min(...n.map((t=>t.dis)));if(a>m)return[];const c=[],p=r[0].x2-r[0].x,j=r[0].y2-r[0].y;let l=!1;for(let t=0;t<n.length;t++){const m=n[t];if(a==m.dis){const e=s[m.index],n=r[m.index],h=e.y,x=n.x,y=Math.min(e.x,e.x2,x,n.x2),f=Math.max(e.x,e.x2,x,n.x2);if(c.push({y:h,x1:y,x2:f}),l)continue;l=!0,o({target:i,x:x,y:h,centerX:m.index-1,centerY:t-1,width:p,height:j,dir:"y"});const u=a*m.dir;r.forEach((t=>t.y-=u))}}return c}(j);return{vLines:l,hLines:h}}function e(t,s,r){let m=1/0,e=-1,n=1;for(let o=0;o<s.length;o++){const a=i(t[r],s[o][r]);m>a&&(e=o,m=a,n=t[r]>s[o][r]?1:-1)}return{dis:m,index:e,dir:n}}function n(t){const{left:i,top:s,width:r,height:m}=t,e=i+r/2,n=s+m/2;return[{x:i,y:s,x2:i+r,y2:s+m},{x:e,y:n,x2:e,y2:n},{x:i+r,x2:i,y:s+m,y2:s}]}function o(t){const{target:i,centerX:m,centerY:e,width:n,height:o,dir:a}=t;let{x:c,y:p}=t;c-=m*n/2,p-=e*o/2,s(i,new r(c,p),a),i.setCoords()}export{m as collectLine};
|
|
2
|
-
//# sourceMappingURL=collect-line.min.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collect-line.min.mjs","sources":["../../../../extensions/aligning_guidelines/util/collect-line.ts"],"sourcesContent":["import type { FabricObject, TBBox } from 'fabric';\nimport { Point } from 'fabric';\nimport type { HorizontalLine, VerticalLine } from '../typedefs';\nimport { aligningLineConfig } from '../constant';\nimport { getDistance, setPositionDir } from './basic';\n\ntype CollectLineProps = {\n activeObject: FabricObject;\n activeObjectRect: TBBox;\n objectRect: TBBox;\n};\n\nexport function collectLine(props: CollectLineProps) {\n const aligningLineMargin = aligningLineConfig.margin;\n const { activeObject, activeObjectRect, objectRect } = props;\n const list = makeLineByRect(objectRect);\n const aList = makeLineByRect(activeObjectRect);\n const margin = aligningLineMargin / (activeObject.canvas?.getZoom() ?? 1);\n const opts = { target: activeObject, list, aList, margin };\n const vLines = collectVerticalLine(opts);\n const hLines = collectHorizontalLine(opts);\n\n return { vLines, hLines };\n}\n\ntype CollectItemLineProps = {\n target: FabricObject;\n list: LineProps[];\n aList: LineProps[];\n margin: number;\n};\nfunction collectVerticalLine(props: CollectItemLineProps) {\n const { target, list, aList, margin } = props;\n\n const arr = aList.map((x) => getDistanceLine(x, list, 'x'));\n const min = Math.min(...arr.map((x) => x.dis));\n if (min > margin) return [];\n const lines: VerticalLine[] = [];\n const width = aList[0].x2 - aList[0].x;\n const height = aList[0].y2 - aList[0].y;\n let b = false;\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n if (min == item.dis) {\n const line = list[item.index];\n const aLine = aList[item.index];\n const x = line.x;\n const y = aLine.y;\n\n const y1 = Math.min(line.y, line.y2, y, aLine.y2);\n const y2 = Math.max(line.y, line.y2, y, aLine.y2);\n // 参考线可画多条\n lines.push({ x, y1, y2 });\n if (b) continue;\n b = true;\n // 对齐只进行一次\n setPos({\n target,\n x,\n y,\n centerX: i - 1,\n centerY: item.index - 1,\n width,\n height,\n dir: 'x',\n });\n const dis = min * item.dir;\n aList.forEach((x) => (x.x -= dis));\n }\n }\n return lines;\n}\n\nfunction collectHorizontalLine(props: CollectItemLineProps) {\n const { target, list, aList, margin } = props;\n\n const arr = aList.map((x) => getDistanceLine(x, list, 'y'));\n const min = Math.min(...arr.map((x) => x.dis));\n if (min > margin) return [];\n const lines: HorizontalLine[] = [];\n const width = aList[0].x2 - aList[0].x;\n const height = aList[0].y2 - aList[0].y;\n let b = false;\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n if (min == item.dis) {\n const line = list[item.index];\n const aLine = aList[item.index];\n const y = line.y;\n const x = aLine.x;\n\n const x1 = Math.min(line.x, line.x2, x, aLine.x2);\n const x2 = Math.max(line.x, line.x2, x, aLine.x2);\n // 参考线可画多条\n lines.push({ y, x1, x2 });\n if (b) continue;\n b = true;\n // 对齐只进行一次\n setPos({\n target,\n x,\n y,\n centerX: item.index - 1,\n centerY: i - 1,\n width,\n height,\n dir: 'y',\n });\n const dis = min * item.dir;\n aList.forEach((x) => (x.y -= dis));\n }\n }\n return lines;\n}\n\ntype LineProps = {\n x: number;\n y: number;\n x2: number;\n y2: number;\n};\nfunction getDistanceLine(\n target: LineProps,\n list: LineProps[],\n type: 'x' | 'y',\n) {\n let dis = Infinity;\n let index = -1;\n /** 1正值 -1负值 */\n let dir = 1;\n for (let i = 0; i < list.length; i++) {\n const v = getDistance(target[type], list[i][type]);\n if (dis > v) {\n index = i;\n dis = v;\n dir = target[type] > list[i][type] ? 1 : -1;\n }\n }\n return { dis, index, dir };\n}\n\nfunction makeLineByRect(rect: TBBox) {\n const { left, top, width, height } = rect;\n const a = { x: left, y: top, x2: left + width, y2: top + height };\n const x = left + width / 2;\n const y = top + height / 2;\n const b = { x, y, x2: x, y2: y };\n const c = { x: left + width, x2: left, y: top + height, y2: top };\n\n return [a, b, c];\n}\n\ntype SnapToPixelProps = {\n target: FabricObject;\n x: number;\n y: number;\n /** -1 0 1 */\n centerX: number;\n /** -1 0 1 */\n centerY: number;\n width: number;\n height: number;\n dir: 'x' | 'y';\n};\nfunction setPos(props: SnapToPixelProps) {\n const { target, centerX, centerY, width, height, dir } = props;\n let { x, y } = props;\n x -= (centerX * width) / 2;\n y -= (centerY * height) / 2;\n setPositionDir(target, new Point(x, y), dir);\n target.setCoords();\n}\n"],"names":["collectLine","props","_activeObject$canvas$","_activeObject$canvas","aligningLineMargin","aligningLineConfig","margin","activeObject","activeObjectRect","objectRect","opts","target","list","makeLineByRect","aList","canvas","getZoom","vLines","arr","map","x","getDistanceLine","min","Math","dis","lines","width","x2","height","y2","y","b","i","length","item","line","index","aLine","y1","max","push","setPos","centerX","centerY","dir","forEach","collectVerticalLine","hLines","x1","collectHorizontalLine","type","Infinity","v","getDistance","rect","left","top","setPositionDir","Point","setCoords"],"mappings":"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"}
|