fabric 5.3.0 → 6.0.0-beta1
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/.babelrc +11 -0
- package/.babelrcAlt +19 -0
- package/.browserslistrc +5 -0
- package/.eslintrc.js +43 -0
- package/.eslintrc.json +38 -46
- package/.eslintrc_tests +12 -0
- package/.gitattributes +2 -0
- package/.prettierignore +16 -0
- package/.prettierrc +4 -0
- package/CHANGELOG.md +491 -189
- package/CONTRIBUTING.md +226 -58
- package/README.md +188 -239
- package/bower.json +1 -3
- package/dist/fabric.d.ts +1021 -0
- package/dist/index.cjs +28027 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.min.js +1 -0
- package/dist/index.mjs +27964 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.node.cjs +28092 -0
- package/dist/index.node.cjs.map +1 -0
- package/dist/index.node.d.ts +15 -0
- package/dist/index.node.mjs +28035 -0
- package/dist/index.node.mjs.map +1 -0
- package/dist/src/Collection.d.ts +126 -0
- package/dist/src/CommonMethods.d.ts +32 -0
- package/dist/src/EventTypeDefs.d.ts +226 -0
- package/dist/src/Intersection.d.ts +100 -0
- package/dist/src/Observable.d.ts +54 -0
- package/dist/src/Pattern.d.ts +104 -0
- package/dist/src/Point.d.ts +232 -0
- package/dist/src/Shadow.d.ts +87 -0
- package/dist/src/brushes/BaseBrush.d.ts +105 -0
- package/dist/src/brushes/CircleBrush.d.ts +49 -0
- package/dist/src/brushes/PatternBrush.d.ts +23 -0
- package/dist/src/brushes/PencilBrush.d.ts +92 -0
- package/dist/src/brushes/SprayBrush.d.ts +79 -0
- package/dist/src/cache.d.ts +46 -0
- package/dist/src/canvas/Canvas.d.ts +567 -0
- package/dist/src/canvas/SelectableCanvas.d.ts +723 -0
- package/dist/src/canvas/StaticCanvas.d.ts +751 -0
- package/dist/src/canvas/TextEditingManager.d.ts +17 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts +2 -0
- package/dist/src/color/Color.d.ts +174 -0
- package/dist/src/color/color_map.d.ts +155 -0
- package/dist/src/color/constants.d.ts +22 -0
- package/dist/src/color/util.d.ts +12 -0
- package/dist/src/config.d.ts +115 -0
- package/dist/src/constants.d.ts +14 -0
- package/dist/src/controls/Control.d.ts +228 -0
- package/dist/src/controls/changeWidth.d.ts +13 -0
- package/dist/src/controls/controls.render.d.ts +29 -0
- package/dist/src/controls/default_controls.d.ts +50 -0
- package/dist/src/controls/drag.d.ts +12 -0
- package/dist/src/controls/polyControl.d.ts +5 -0
- package/dist/src/controls/rotate.d.ts +12 -0
- package/dist/src/controls/scale.d.ts +47 -0
- package/dist/src/controls/scaleSkew.d.ts +39 -0
- package/dist/src/controls/skew.d.ts +33 -0
- package/dist/src/controls/util.d.ts +41 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts +8 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts +9 -0
- package/dist/src/env/browser.d.ts +3 -0
- package/dist/src/env/index.d.ts +7 -0
- package/dist/src/env/node.d.ts +3 -0
- package/dist/src/env/types.d.ts +15 -0
- package/dist/src/filters/BaseFilter.d.ts +156 -0
- package/dist/src/filters/BlendColor.d.ts +80 -0
- package/dist/src/filters/BlendImage.d.ts +90 -0
- package/dist/src/filters/Blur.d.ts +50 -0
- package/dist/src/filters/Boilerplate.d.ts +46 -0
- package/dist/src/filters/Brightness.d.ts +46 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts +27 -0
- package/dist/src/filters/ColorMatrix.d.ts +62 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts +1169 -0
- package/dist/src/filters/Composed.d.ts +47 -0
- package/dist/src/filters/Contrast.d.ts +44 -0
- package/dist/src/filters/Convolute.d.ts +82 -0
- package/dist/src/filters/FilterBackend.d.ts +14 -0
- package/dist/src/filters/Gamma.d.ts +53 -0
- package/dist/src/filters/Grayscale.d.ts +45 -0
- package/dist/src/filters/HueRotation.d.ts +24 -0
- package/dist/src/filters/Invert.d.ts +54 -0
- package/dist/src/filters/Noise.d.ts +53 -0
- package/dist/src/filters/Pixelate.d.ts +43 -0
- package/dist/src/filters/RemoveColor.d.ts +62 -0
- package/dist/src/filters/Resize.d.ts +134 -0
- package/dist/src/filters/Saturation.d.ts +47 -0
- package/dist/src/filters/Vibrance.d.ts +47 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts +126 -0
- package/dist/src/filters/WebGLProbe.d.ts +28 -0
- package/dist/src/filters/typedefs.d.ts +49 -0
- package/dist/src/gradient/Gradient.d.ts +149 -0
- package/dist/src/gradient/constants.d.ts +15 -0
- package/dist/src/gradient/parser/index.d.ts +4 -0
- package/dist/src/gradient/parser/misc.d.ts +4 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts +6 -0
- package/dist/src/gradient/parser/parseCoords.d.ts +17 -0
- package/dist/src/gradient/typedefs.d.ts +93 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts +2 -0
- package/dist/src/mixins/stateful.mixin.d.ts +18 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts +2 -0
- package/dist/src/parkinglot/straighten.d.ts +2 -0
- package/dist/src/parser/applyViewboxTransform.d.ts +5 -0
- package/dist/src/parser/attributes.d.ts +6 -0
- package/dist/src/parser/constants.d.ts +54 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts +2 -0
- package/dist/src/parser/elementById.d.ts +6 -0
- package/dist/src/parser/elementMatchesRule.d.ts +5 -0
- package/dist/src/parser/elements_parser.d.ts +3 -0
- package/dist/src/parser/getCSSRules.d.ts +7 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts +5 -0
- package/dist/src/parser/getGradientDefs.d.ts +7 -0
- package/dist/src/parser/getMultipleNodes.d.ts +2 -0
- package/dist/src/parser/getSvgRegex.d.ts +2 -0
- package/dist/src/parser/hasAncestorWithNodeName.d.ts +2 -0
- package/dist/src/parser/loadSVGFromString.d.ts +12 -0
- package/dist/src/parser/loadSVGFromURL.d.ts +13 -0
- package/dist/src/parser/normalizeAttr.d.ts +2 -0
- package/dist/src/parser/normalizeValue.d.ts +2 -0
- package/dist/src/parser/parseAttributes.d.ts +9 -0
- package/dist/src/parser/parseElements.d.ts +11 -0
- package/dist/src/parser/parseFontDeclaration.d.ts +10 -0
- package/dist/src/parser/parsePointsAttribute.d.ts +12 -0
- package/dist/src/parser/parseSVGDocument.d.ts +15 -0
- package/dist/src/parser/parseStyleAttribute.d.ts +9 -0
- package/dist/src/parser/parseStyleObject.d.ts +2 -0
- package/dist/src/parser/parseStyleString.d.ts +2 -0
- package/dist/src/parser/parseTransformAttribute.d.ts +10 -0
- package/dist/src/parser/parseUseDirectives.d.ts +2 -0
- package/dist/src/parser/percent.d.ts +9 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +2 -0
- package/dist/src/parser/rotateMatrix.d.ts +2 -0
- package/dist/src/parser/scaleMatrix.d.ts +2 -0
- package/dist/src/parser/selectorMatches.d.ts +2 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts +6 -0
- package/dist/src/parser/skewMatrix.d.ts +2 -0
- package/dist/src/parser/translateMatrix.d.ts +2 -0
- package/dist/src/shapes/ActiveSelection.d.ts +66 -0
- package/dist/src/shapes/Circle.d.ts +80 -0
- package/dist/src/shapes/Ellipse.d.ts +74 -0
- package/dist/src/shapes/Group.d.ts +381 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
- package/dist/src/shapes/IText/IText.d.ts +322 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts +285 -0
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts +81 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +193 -0
- package/dist/src/shapes/IText/constants.d.ts +13 -0
- package/dist/src/shapes/Image.d.ts +283 -0
- package/dist/src/shapes/Line.d.ts +117 -0
- package/dist/src/shapes/Object/AnimatableObject.d.ts +33 -0
- package/dist/src/shapes/Object/FabricObject.d.ts +9 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +74 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts +282 -0
- package/dist/src/shapes/Object/Object.d.ts +906 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts +343 -0
- package/dist/src/shapes/Object/ObjectOrigin.d.ts +178 -0
- package/dist/src/shapes/Object/StackedObject.d.ts +62 -0
- package/dist/src/shapes/Object/defaultValues.d.ts +77 -0
- package/dist/src/shapes/Path.d.ts +123 -0
- package/dist/src/shapes/Polygon.d.ts +7 -0
- package/dist/src/shapes/Polyline.d.ts +130 -0
- package/dist/src/shapes/Rect.d.ts +62 -0
- package/dist/src/shapes/Text/StyledText.d.ts +118 -0
- package/dist/src/shapes/Text/Text.d.ts +656 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +32 -0
- package/dist/src/shapes/Textbox.d.ts +170 -0
- package/dist/src/shapes/Triangle.d.ts +17 -0
- package/dist/src/typedefs.d.ts +93 -0
- package/dist/src/util/animation/AnimationBase.d.ts +54 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts +8 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts +29 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts +10 -0
- package/dist/src/util/animation/ColorAnimation.d.ts +11 -0
- package/dist/src/util/animation/ValueAnimation.d.ts +10 -0
- package/dist/src/util/animation/animate.d.ts +37 -0
- package/dist/src/util/animation/easing.d.ts +130 -0
- package/dist/src/util/animation/types.d.ts +87 -0
- package/dist/src/util/applyMixins.d.ts +8 -0
- package/dist/src/util/class_registry.d.ts +14 -0
- package/dist/src/util/dom_event.d.ts +5 -0
- package/dist/src/util/dom_misc.d.ts +40 -0
- package/dist/src/util/dom_request.d.ts +14 -0
- package/dist/src/util/dom_style.d.ts +7 -0
- package/dist/src/util/fireEvent.d.ts +3 -0
- package/dist/src/util/internals/cloneDeep.d.ts +2 -0
- package/dist/src/util/internals/getRandomInt.d.ts +8 -0
- package/dist/src/util/internals/ifNaN.d.ts +8 -0
- package/dist/src/util/internals/index.d.ts +4 -0
- package/dist/src/util/internals/removeFromArray.d.ts +9 -0
- package/dist/src/util/internals/uid.d.ts +2 -0
- package/dist/src/util/lang_class.d.ts +12 -0
- package/dist/src/util/lang_string.d.ts +22 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts +9 -0
- package/dist/src/util/misc/capValue.d.ts +2 -0
- package/dist/src/util/misc/cos.d.ts +10 -0
- package/dist/src/util/misc/dom.d.ts +28 -0
- package/dist/src/util/misc/findScaleTo.d.ts +29 -0
- package/dist/src/util/misc/groupSVGElements.d.ts +9 -0
- package/dist/src/util/misc/isTransparent.d.ts +11 -0
- package/dist/src/util/misc/matrix.d.ts +92 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts +23 -0
- package/dist/src/util/misc/objectEnlive.d.ts +56 -0
- package/dist/src/util/misc/objectTransforms.d.ts +68 -0
- package/dist/src/util/misc/pick.d.ts +8 -0
- package/dist/src/util/misc/planeChange.d.ts +84 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +51 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +81 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +25 -0
- package/dist/src/util/misc/projectStroke/index.d.ts +11 -0
- package/dist/src/util/misc/projectStroke/types.d.ts +23 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts +14 -0
- package/dist/src/util/misc/resolveOrigin.d.ts +9 -0
- package/dist/src/util/misc/rotatePoint.d.ts +12 -0
- package/dist/src/util/misc/sin.d.ts +10 -0
- package/dist/src/util/misc/svgParsing.d.ts +53 -0
- package/dist/src/util/misc/textStyles.d.ts +32 -0
- package/dist/src/util/misc/toFixed.d.ts +8 -0
- package/dist/src/util/misc/vectors.d.ts +57 -0
- package/dist/src/util/path.d.ts +108 -0
- package/dist/src/util/transform_matrix_removal.d.ts +14 -0
- package/dist/src/util/types.d.ts +19 -0
- package/fabric.ts +427 -0
- package/index.node.ts +43 -0
- package/index.ts +1 -0
- package/package.json +90 -39
- package/publish.js +0 -26
- package/rollup.config.mjs +79 -0
- package/rollup.test.config.js +24 -0
- package/scripts/build.mjs +50 -0
- package/scripts/buildLock.mjs +115 -0
- package/scripts/buildReporter.mjs +15 -0
- package/scripts/buildStats.mjs +139 -0
- package/scripts/dirname.mjs +14 -0
- package/scripts/index.mjs +679 -0
- package/scripts/transform_files.mjs +504 -0
- package/src/Collection.ts +311 -0
- package/src/CommonMethods.ts +63 -0
- package/src/EventTypeDefs.ts +294 -0
- package/src/Intersection.ts +273 -0
- package/src/Observable.ts +175 -0
- package/src/Pattern.ts +211 -0
- package/src/Point.ts +388 -0
- package/src/Shadow.ts +215 -0
- package/src/brushes/{base_brush.class.js → BaseBrush.ts} +65 -42
- package/src/brushes/CircleBrush.ts +145 -0
- package/src/brushes/PatternBrush.ts +70 -0
- package/src/brushes/PencilBrush.ts +300 -0
- package/src/brushes/SprayBrush.ts +219 -0
- package/src/cache.ts +89 -0
- package/src/canvas/Canvas.ts +1672 -0
- package/src/canvas/SelectableCanvas.ts +1636 -0
- package/src/canvas/StaticCanvas.ts +1709 -0
- package/src/canvas/TextEditingManager.ts +48 -0
- package/src/canvas/canvas_gestures.mixin.ts +207 -0
- package/src/color/Color.ts +404 -0
- package/src/color/color_map.ts +154 -0
- package/src/color/constants.ts +26 -0
- package/src/color/util.ts +32 -0
- package/src/config.ts +159 -0
- package/src/constants.ts +19 -0
- package/src/controls/Control.ts +377 -0
- package/src/controls/changeWidth.ts +52 -0
- package/src/controls/controls.render.ts +138 -0
- package/src/controls/default_controls.ts +132 -0
- package/src/controls/drag.ts +31 -0
- package/src/controls/polyControl.ts +135 -0
- package/src/controls/rotate.ts +87 -0
- package/src/controls/scale.ts +277 -0
- package/src/controls/scaleSkew.ts +92 -0
- package/src/controls/skew.ts +242 -0
- package/src/controls/util.ts +154 -0
- package/src/controls/wrapWithFireEvent.ts +25 -0
- package/src/controls/wrapWithFixedAnchor.ts +20 -0
- package/src/env/browser.ts +28 -0
- package/src/env/index.ts +19 -0
- package/src/env/node.ts +52 -0
- package/src/env/types.ts +15 -0
- package/src/filters/{base_filter.class.js → BaseFilter.ts} +201 -149
- package/src/filters/BlendColor.ts +258 -0
- package/src/filters/BlendImage.ts +254 -0
- package/src/filters/Blur.ts +202 -0
- package/src/filters/Boilerplate.ts +91 -0
- package/src/filters/Brightness.ts +93 -0
- package/src/filters/Canvas2dFilterBackend.ts +65 -0
- package/src/filters/ColorMatrix.ts +156 -0
- package/src/filters/ColorMatrixFilters.ts +106 -0
- package/src/filters/Composed.ts +85 -0
- package/src/filters/Contrast.ts +94 -0
- package/src/filters/Convolute.ts +341 -0
- package/src/filters/FilterBackend.ts +32 -0
- package/src/filters/Gamma.ts +127 -0
- package/src/filters/Grayscale.ts +137 -0
- package/src/filters/HueRotation.ts +66 -0
- package/src/filters/Invert.ts +117 -0
- package/src/filters/Noise.ts +109 -0
- package/src/filters/Pixelate.ts +114 -0
- package/src/filters/RemoveColor.ts +148 -0
- package/src/filters/Resize.ts +540 -0
- package/src/filters/Saturation.ts +100 -0
- package/src/filters/Vibrance.ts +103 -0
- package/src/filters/WebGLFilterBackend.ts +430 -0
- package/src/filters/WebGLProbe.ts +62 -0
- package/src/filters/typedefs.ts +65 -0
- package/src/gradient/Gradient.ts +401 -0
- package/src/gradient/constants.ts +12 -0
- package/src/gradient/parser/index.ts +3 -0
- package/src/gradient/parser/misc.ts +13 -0
- package/src/gradient/parser/parseColorStops.ts +55 -0
- package/src/gradient/parser/parseCoords.ts +73 -0
- package/src/gradient/typedefs.ts +104 -0
- package/src/mixins/{eraser_brush.mixin.js → eraser_brush.mixin.ts} +350 -239
- package/src/mixins/stateful.mixin.ts +104 -0
- package/src/parkinglot/canvas_animation.mixin.ts +121 -0
- package/src/parkinglot/straighten.ts +58 -0
- package/src/parser/applyViewboxTransform.ts +162 -0
- package/src/parser/attributes.ts +25 -0
- package/src/parser/constants.ts +118 -0
- package/src/parser/doesSomeParentMatch.ts +19 -0
- package/src/parser/elementById.ts +23 -0
- package/src/parser/elementMatchesRule.ts +19 -0
- package/src/parser/elements_parser.ts +191 -0
- package/src/parser/getCSSRules.ts +62 -0
- package/src/parser/getGlobalStylesForElement.ts +19 -0
- package/src/parser/getGradientDefs.ts +32 -0
- package/src/parser/getMultipleNodes.ts +15 -0
- package/src/parser/getSvgRegex.ts +5 -0
- package/src/parser/hasAncestorWithNodeName.ts +14 -0
- package/src/parser/loadSVGFromString.ts +26 -0
- package/src/parser/loadSVGFromURL.ts +40 -0
- package/src/parser/normalizeAttr.ts +10 -0
- package/src/parser/normalizeValue.ts +63 -0
- package/src/parser/parseAttributes.ts +90 -0
- package/src/parser/parseElements.ts +28 -0
- package/src/parser/parseFontDeclaration.ts +44 -0
- package/src/parser/parsePointsAttribute.ts +36 -0
- package/src/parser/parseSVGDocument.ts +106 -0
- package/src/parser/parseStyleAttribute.ts +27 -0
- package/src/parser/parseStyleObject.ts +15 -0
- package/src/parser/parseStyleString.ts +16 -0
- package/src/parser/parseTransformAttribute.ts +155 -0
- package/src/parser/parseUseDirectives.ts +79 -0
- package/src/parser/percent.ts +27 -0
- package/src/parser/recursivelyParseGradientsXlink.ts +42 -0
- package/src/parser/rotateMatrix.ts +21 -0
- package/src/parser/scaleMatrix.ts +9 -0
- package/src/parser/selectorMatches.ts +25 -0
- package/src/parser/setStrokeFillOpacity.ts +40 -0
- package/src/parser/skewMatrix.ts +6 -0
- package/src/parser/translateMatrix.ts +8 -0
- package/src/shapes/ActiveSelection.ts +157 -0
- package/src/shapes/Circle.ts +205 -0
- package/src/shapes/Ellipse.ts +154 -0
- package/src/shapes/Group.ts +1053 -0
- package/src/shapes/IText/DraggableTextDelegate.ts +394 -0
- package/src/shapes/IText/IText.ts +666 -0
- package/src/shapes/IText/ITextBehavior.ts +1055 -0
- package/src/shapes/IText/ITextClickBehavior.ts +321 -0
- package/src/shapes/IText/ITextKeyBehavior.ts +683 -0
- package/src/shapes/IText/constants.ts +47 -0
- package/src/shapes/Image.ts +789 -0
- package/src/shapes/Line.ts +329 -0
- package/src/shapes/Object/AnimatableObject.ts +106 -0
- package/src/shapes/Object/FabricObject.ts +19 -0
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +277 -0
- package/src/shapes/Object/InteractiveObject.ts +645 -0
- package/src/shapes/Object/Object.ts +1896 -0
- package/src/shapes/Object/ObjectGeometry.ts +830 -0
- package/src/shapes/Object/ObjectOrigin.ts +354 -0
- package/src/shapes/Object/StackedObject.ts +191 -0
- package/src/shapes/Object/defaultValues.ts +112 -0
- package/src/shapes/Path.ts +395 -0
- package/src/shapes/Polygon.ts +19 -0
- package/src/shapes/Polyline.ts +333 -0
- package/src/shapes/Rect.ts +199 -0
- package/src/shapes/Text/StyledText.ts +319 -0
- package/src/shapes/Text/Text.ts +1948 -0
- package/src/shapes/Text/TextSVGExportMixin.ts +288 -0
- package/src/shapes/Textbox.ts +471 -0
- package/src/shapes/Triangle.ts +45 -0
- package/src/typedefs.ts +119 -0
- package/src/util/animation/AnimationBase.ts +166 -0
- package/src/util/animation/AnimationFrameProvider.ts +28 -0
- package/src/util/animation/AnimationRegistry.ts +58 -0
- package/src/util/animation/ArrayAnimation.ts +27 -0
- package/src/util/animation/ColorAnimation.ts +74 -0
- package/src/util/animation/ValueAnimation.ts +29 -0
- package/src/util/animation/animate.ts +74 -0
- package/src/util/animation/easing.ts +327 -0
- package/src/util/animation/types.ts +136 -0
- package/src/util/applyMixins.ts +22 -0
- package/src/util/class_registry.ts +54 -0
- package/src/util/dom_event.ts +28 -0
- package/src/util/dom_misc.ts +138 -0
- package/src/util/dom_request.ts +64 -0
- package/src/util/dom_style.ts +20 -0
- package/src/util/fireEvent.ts +15 -0
- package/src/util/internals/cloneDeep.ts +2 -0
- package/src/util/internals/getRandomInt.ts +8 -0
- package/src/util/internals/ifNaN.ts +9 -0
- package/src/util/internals/index.ts +3 -0
- package/src/util/internals/removeFromArray.ts +14 -0
- package/src/util/internals/uid.ts +3 -0
- package/src/util/lang_class.ts +90 -0
- package/src/util/lang_string.ts +79 -0
- package/src/util/misc/boundingBoxFromPoints.ts +37 -0
- package/src/util/misc/capValue.ts +2 -0
- package/src/util/misc/cos.ts +24 -0
- package/src/util/misc/dom.ts +50 -0
- package/src/util/misc/findScaleTo.ts +44 -0
- package/src/util/misc/groupSVGElements.ts +15 -0
- package/src/util/misc/isTransparent.ts +51 -0
- package/src/util/misc/matrix.ts +207 -0
- package/src/util/misc/mergeClipPaths.ts +40 -0
- package/src/util/misc/objectEnlive.ts +189 -0
- package/src/util/misc/objectTransforms.ts +129 -0
- package/src/util/misc/pick.ts +17 -0
- package/src/util/misc/planeChange.ts +136 -0
- package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +112 -0
- package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +231 -0
- package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +75 -0
- package/src/util/misc/projectStroke/index.ts +53 -0
- package/src/util/misc/projectStroke/types.ts +24 -0
- package/src/util/misc/radiansDegreesConversion.ts +18 -0
- package/src/util/misc/resolveOrigin.ts +22 -0
- package/src/util/misc/rotatePoint.ts +15 -0
- package/src/util/misc/sin.ts +26 -0
- package/src/util/misc/svgParsing.ts +181 -0
- package/src/util/misc/textStyles.ts +133 -0
- package/src/util/misc/toFixed.ts +8 -0
- package/src/util/misc/vectors.ts +82 -0
- package/src/util/path.ts +941 -0
- package/src/util/transform_matrix_removal.ts +60 -0
- package/src/util/types.ts +78 -0
- package/tsconfig.json +106 -0
- package/HEADER.js +0 -203
- package/build.js +0 -287
- package/dist/fabric.js +0 -31187
- package/dist/fabric.min.js +0 -1
- package/old-travis-reference.yml +0 -97
- package/src/brushes/circle_brush.class.js +0 -144
- package/src/brushes/pattern_brush.class.js +0 -61
- package/src/brushes/pencil_brush.class.js +0 -310
- package/src/brushes/spray_brush.class.js +0 -219
- package/src/canvas.class.js +0 -1312
- package/src/color.class.js +0 -636
- package/src/control.class.js +0 -339
- package/src/controls.actions.js +0 -740
- package/src/controls.render.js +0 -99
- package/src/elements_parser.js +0 -152
- package/src/filters/2d_backend.class.js +0 -65
- package/src/filters/blendcolor_filter.class.js +0 -251
- package/src/filters/blendimage_filter.class.js +0 -247
- package/src/filters/blur_filter.class.js +0 -217
- package/src/filters/brightness_filter.class.js +0 -113
- package/src/filters/colormatrix_filter.class.js +0 -159
- package/src/filters/composed_filter.class.js +0 -72
- package/src/filters/contrast_filter.class.js +0 -113
- package/src/filters/convolute_filter.class.js +0 -352
- package/src/filters/filter_boilerplate.js +0 -111
- package/src/filters/filter_generator.js +0 -85
- package/src/filters/gamma_filter.class.js +0 -136
- package/src/filters/grayscale_filter.class.js +0 -154
- package/src/filters/hue_rotation.class.js +0 -107
- package/src/filters/invert_filter.class.js +0 -111
- package/src/filters/noise_filter.class.js +0 -134
- package/src/filters/pixelate_filter.class.js +0 -137
- package/src/filters/removecolor_filter.class.js +0 -173
- package/src/filters/resize_filter.class.js +0 -490
- package/src/filters/saturate_filter.class.js +0 -119
- package/src/filters/vibrance_filter.class.js +0 -122
- package/src/filters/webgl_backend.class.js +0 -396
- package/src/globalFabric.js +0 -4
- package/src/gradient.class.js +0 -490
- package/src/intersection.class.js +0 -172
- package/src/log.js +0 -11
- package/src/mixins/animation.mixin.js +0 -231
- package/src/mixins/canvas_dataurl_exporter.mixin.js +0 -97
- package/src/mixins/canvas_events.mixin.js +0 -974
- package/src/mixins/canvas_gestures.mixin.js +0 -149
- package/src/mixins/canvas_grouping.mixin.js +0 -177
- package/src/mixins/canvas_serialization.mixin.js +0 -228
- package/src/mixins/collection.mixin.js +0 -170
- package/src/mixins/default_controls.js +0 -114
- package/src/mixins/itext.svg_export.js +0 -241
- package/src/mixins/itext_behavior.mixin.js +0 -940
- package/src/mixins/itext_click_behavior.mixin.js +0 -278
- package/src/mixins/itext_key_behavior.mixin.js +0 -694
- package/src/mixins/object.svg_export.js +0 -258
- package/src/mixins/object_geometry.mixin.js +0 -683
- package/src/mixins/object_interactivity.mixin.js +0 -314
- package/src/mixins/object_origin.mixin.js +0 -255
- package/src/mixins/object_stacking.mixin.js +0 -80
- package/src/mixins/object_straightening.mixin.js +0 -80
- package/src/mixins/observable.mixin.js +0 -141
- package/src/mixins/shared_methods.mixin.js +0 -94
- package/src/mixins/stateful.mixin.js +0 -107
- package/src/mixins/text_style.mixin.js +0 -324
- package/src/parser.js +0 -1090
- package/src/pattern.class.js +0 -189
- package/src/point.class.js +0 -337
- package/src/shadow.class.js +0 -195
- package/src/shapes/active_selection.class.js +0 -155
- package/src/shapes/circle.class.js +0 -210
- package/src/shapes/ellipse.class.js +0 -181
- package/src/shapes/group.class.js +0 -593
- package/src/shapes/image.class.js +0 -764
- package/src/shapes/itext.class.js +0 -526
- package/src/shapes/line.class.js +0 -324
- package/src/shapes/object.class.js +0 -2008
- package/src/shapes/path.class.js +0 -384
- package/src/shapes/polygon.class.js +0 -81
- package/src/shapes/polyline.class.js +0 -268
- package/src/shapes/rect.class.js +0 -187
- package/src/shapes/text.class.js +0 -1696
- package/src/shapes/textbox.class.js +0 -461
- package/src/shapes/triangle.class.js +0 -93
- package/src/static_canvas.class.js +0 -1881
- package/src/util/anim_ease.js +0 -398
- package/src/util/animate.js +0 -254
- package/src/util/animate_color.js +0 -74
- package/src/util/dom_event.js +0 -50
- package/src/util/dom_misc.js +0 -300
- package/src/util/dom_request.js +0 -54
- package/src/util/dom_style.js +0 -70
- package/src/util/lang_array.js +0 -94
- package/src/util/lang_class.js +0 -115
- package/src/util/lang_object.js +0 -75
- package/src/util/lang_string.js +0 -110
- package/src/util/misc.js +0 -1330
- package/src/util/named_accessors.mixin.js +0 -428
- package/src/util/path.js +0 -829
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export declare class Cache {
|
|
2
|
+
/**
|
|
3
|
+
* Cache of widths of chars in text rendering.
|
|
4
|
+
*/
|
|
5
|
+
charWidthsCache: Record<
|
|
6
|
+
/** fontFamily */ string, Record<
|
|
7
|
+
/** fontStyleCacheKey */ string, Record</** char */ string, /** width */ number>>>;
|
|
8
|
+
/**
|
|
9
|
+
* @return {Object} reference to cache
|
|
10
|
+
*/
|
|
11
|
+
getFontCache({ fontFamily, fontStyle, fontWeight, }: {
|
|
12
|
+
fontFamily: string;
|
|
13
|
+
fontStyle: string;
|
|
14
|
+
fontWeight: string | number;
|
|
15
|
+
}): Record<string, number>;
|
|
16
|
+
/**
|
|
17
|
+
* Clear char widths cache for the given font family or all the cache if no
|
|
18
|
+
* fontFamily is specified.
|
|
19
|
+
* Use it if you know you are loading fonts in a lazy way and you are not waiting
|
|
20
|
+
* for custom fonts to load properly when adding text objects to the canvas.
|
|
21
|
+
* If a text object is added when its own font is not loaded yet, you will get wrong
|
|
22
|
+
* measurement and so wrong bounding boxes.
|
|
23
|
+
* After the font cache is cleared, either change the textObject text content or call
|
|
24
|
+
* initDimensions() to trigger a recalculation
|
|
25
|
+
* @param {String} [fontFamily] font family to clear
|
|
26
|
+
*/
|
|
27
|
+
clearFontCache(fontFamily?: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Given current aspect ratio, determines the max width and height that can
|
|
30
|
+
* respect the total allowed area for the cache.
|
|
31
|
+
* @param {number} ar aspect ratio
|
|
32
|
+
* @return {number[]} Limited dimensions X and Y
|
|
33
|
+
*/
|
|
34
|
+
limitDimsByArea(ar: number): number[];
|
|
35
|
+
/**
|
|
36
|
+
* This object keeps the results of the boundsOfCurve calculation mapped by the joined arguments necessary to calculate it.
|
|
37
|
+
* It does speed up calculation, if you parse and add always the same paths, but in case of heavy usage of freedrawing
|
|
38
|
+
* you do not get any speed benefit and you get a big object in memory.
|
|
39
|
+
* The object was a private variable before, while now is appended to the lib so that you have access to it and you
|
|
40
|
+
* can eventually clear it.
|
|
41
|
+
* It was an internal variable, is accessible since version 2.3.4
|
|
42
|
+
*/
|
|
43
|
+
boundsOfCurveCache: {};
|
|
44
|
+
}
|
|
45
|
+
export declare const cache: Cache;
|
|
46
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1,567 @@
|
|
|
1
|
+
import { CanvasEvents, DragEventData, ObjectEvents, TPointerEvent, TPointerEventInfo, TPointerEventNames, Transform } from '../EventTypeDefs';
|
|
2
|
+
import { Point } from '../Point';
|
|
3
|
+
import { Group } from '../shapes/Group';
|
|
4
|
+
import type { FabricObject } from '../shapes/Object/FabricObject';
|
|
5
|
+
import { SelectableCanvas } from './SelectableCanvas';
|
|
6
|
+
import { TextEditingManager } from './TextEditingManager';
|
|
7
|
+
type TSyntheticEventContext = {
|
|
8
|
+
mouse: {
|
|
9
|
+
e: TPointerEvent;
|
|
10
|
+
};
|
|
11
|
+
drag: DragEventData;
|
|
12
|
+
};
|
|
13
|
+
export declare class Canvas extends SelectableCanvas {
|
|
14
|
+
/**
|
|
15
|
+
* Contains the id of the touch event that owns the fabric transform
|
|
16
|
+
* @type Number
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
mainTouchId: null | number;
|
|
20
|
+
/**
|
|
21
|
+
* When the option is enabled, PointerEvent is used instead of TPointerEvent.
|
|
22
|
+
* @type Boolean
|
|
23
|
+
* @default
|
|
24
|
+
*/
|
|
25
|
+
enablePointerEvents: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Holds a reference to a setTimeout timer for event synchronization
|
|
28
|
+
* @type number
|
|
29
|
+
* @private
|
|
30
|
+
*/
|
|
31
|
+
private _willAddMouseDown;
|
|
32
|
+
/**
|
|
33
|
+
* Holds a reference to an object on the canvas that is receiving the drag over event.
|
|
34
|
+
* @type FabricObject
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
private _draggedoverTarget?;
|
|
38
|
+
/**
|
|
39
|
+
* Holds a reference to an object on the canvas from where the drag operation started
|
|
40
|
+
* @type FabricObject
|
|
41
|
+
* @private
|
|
42
|
+
*/
|
|
43
|
+
private _dragSource?;
|
|
44
|
+
/**
|
|
45
|
+
* Holds a reference to an object on the canvas that is the current drop target
|
|
46
|
+
* May differ from {@link _draggedoverTarget}
|
|
47
|
+
* @todo inspect whether {@link _draggedoverTarget} and {@link _dropTarget} should be merged somehow
|
|
48
|
+
* @type FabricObject
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
private _dropTarget;
|
|
52
|
+
currentTarget?: FabricObject;
|
|
53
|
+
currentSubTargets?: FabricObject[];
|
|
54
|
+
/**
|
|
55
|
+
* Holds a reference to a pointer during mousedown to compare on mouse up and determine
|
|
56
|
+
* if it was a click event
|
|
57
|
+
* @type FabricObject
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
_previousPointer: Point;
|
|
61
|
+
private _isClick;
|
|
62
|
+
textEditingManager: TextEditingManager;
|
|
63
|
+
constructor(el: string | HTMLCanvasElement, options?: {});
|
|
64
|
+
/**
|
|
65
|
+
* return an event prefix pointer or mouse.
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
private _getEventPrefix;
|
|
69
|
+
addOrRemove(functor: any, eventjsFunctor: 'add' | 'remove'): void;
|
|
70
|
+
/**
|
|
71
|
+
* Removes all event listeners
|
|
72
|
+
*/
|
|
73
|
+
removeListeners(): void;
|
|
74
|
+
/**
|
|
75
|
+
* @private
|
|
76
|
+
* @param {Event} [e] Event object fired on wheel event
|
|
77
|
+
*/
|
|
78
|
+
private _onMouseWheel;
|
|
79
|
+
/**
|
|
80
|
+
* @private
|
|
81
|
+
* @param {Event} e Event object fired on mousedown
|
|
82
|
+
*/
|
|
83
|
+
private _onMouseOut;
|
|
84
|
+
/**
|
|
85
|
+
* @private
|
|
86
|
+
* @param {Event} e Event object fired on mouseenter
|
|
87
|
+
*/
|
|
88
|
+
private _onMouseEnter;
|
|
89
|
+
/**
|
|
90
|
+
* supports native like text dragging
|
|
91
|
+
* @private
|
|
92
|
+
* @param {DragEvent} e
|
|
93
|
+
*/
|
|
94
|
+
private _onDragStart;
|
|
95
|
+
/**
|
|
96
|
+
* First we clear top context where the effects are being rendered.
|
|
97
|
+
* Then we render the effects.
|
|
98
|
+
* Doing so will render the correct effect for all cases including an overlap between `source` and `target`.
|
|
99
|
+
* @private
|
|
100
|
+
*/
|
|
101
|
+
private _renderDragEffects;
|
|
102
|
+
/**
|
|
103
|
+
* supports native like text dragging
|
|
104
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Drag_operations#finishing_a_drag
|
|
105
|
+
* @private
|
|
106
|
+
* @param {DragEvent} e
|
|
107
|
+
*/
|
|
108
|
+
private _onDragEnd;
|
|
109
|
+
/**
|
|
110
|
+
* fire `drag` event on canvas and drag source
|
|
111
|
+
* @private
|
|
112
|
+
* @param {DragEvent} e
|
|
113
|
+
*/
|
|
114
|
+
private _onDragProgress;
|
|
115
|
+
/**
|
|
116
|
+
* As opposed to {@link findTarget} we want the top most object to be returned w/o the active object cutting in line.
|
|
117
|
+
* Override at will
|
|
118
|
+
*/
|
|
119
|
+
protected findDragTargets(e: DragEvent): {
|
|
120
|
+
target: FabricObject<ObjectEvents> | undefined;
|
|
121
|
+
targets: FabricObject<ObjectEvents>[];
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* prevent default to allow drop event to be fired
|
|
125
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Drag_operations#specifying_drop_targets
|
|
126
|
+
* @private
|
|
127
|
+
* @param {DragEvent} [e] Event object fired on Event.js shake
|
|
128
|
+
*/
|
|
129
|
+
private _onDragOver;
|
|
130
|
+
/**
|
|
131
|
+
* fire `dragleave` on `dragover` targets
|
|
132
|
+
* @private
|
|
133
|
+
* @param {Event} [e] Event object fired on Event.js shake
|
|
134
|
+
*/
|
|
135
|
+
private _onDragEnter;
|
|
136
|
+
/**
|
|
137
|
+
* fire `dragleave` on `dragover` targets
|
|
138
|
+
* @private
|
|
139
|
+
* @param {Event} [e] Event object fired on Event.js shake
|
|
140
|
+
*/
|
|
141
|
+
private _onDragLeave;
|
|
142
|
+
/**
|
|
143
|
+
* `drop:before` is a an event that allows you to schedule logic
|
|
144
|
+
* before the `drop` event. Prefer `drop` event always, but if you need
|
|
145
|
+
* to run some drop-disabling logic on an event, since there is no way
|
|
146
|
+
* to handle event handlers ordering, use `drop:before`
|
|
147
|
+
* @private
|
|
148
|
+
* @param {Event} e
|
|
149
|
+
*/
|
|
150
|
+
private _onDrop;
|
|
151
|
+
/**
|
|
152
|
+
* @private
|
|
153
|
+
* @param {Event} e Event object fired on mousedown
|
|
154
|
+
*/
|
|
155
|
+
private _onContextMenu;
|
|
156
|
+
/**
|
|
157
|
+
* @private
|
|
158
|
+
* @param {Event} e Event object fired on mousedown
|
|
159
|
+
*/
|
|
160
|
+
private _onDoubleClick;
|
|
161
|
+
/**
|
|
162
|
+
* Return a the id of an event.
|
|
163
|
+
* returns either the pointerId or the identifier or 0 for the mouse event
|
|
164
|
+
* @private
|
|
165
|
+
* @param {Event} evt Event object
|
|
166
|
+
*/
|
|
167
|
+
getPointerId(evt: TouchEvent | PointerEvent): number;
|
|
168
|
+
/**
|
|
169
|
+
* Determines if an event has the id of the event that is considered main
|
|
170
|
+
* @private
|
|
171
|
+
* @param {evt} event Event object
|
|
172
|
+
*/
|
|
173
|
+
_isMainEvent(evt: TPointerEvent): boolean;
|
|
174
|
+
/**
|
|
175
|
+
* @private
|
|
176
|
+
* @param {Event} e Event object fired on mousedown
|
|
177
|
+
*/
|
|
178
|
+
_onTouchStart(e: TouchEvent): void;
|
|
179
|
+
/**
|
|
180
|
+
* @private
|
|
181
|
+
* @param {Event} e Event object fired on mousedown
|
|
182
|
+
*/
|
|
183
|
+
_onMouseDown(e: TPointerEvent): void;
|
|
184
|
+
/**
|
|
185
|
+
* @private
|
|
186
|
+
* @param {Event} e Event object fired on mousedown
|
|
187
|
+
*/
|
|
188
|
+
_onTouchEnd(e: TouchEvent): void;
|
|
189
|
+
/**
|
|
190
|
+
* @private
|
|
191
|
+
* @param {Event} e Event object fired on mouseup
|
|
192
|
+
*/
|
|
193
|
+
_onMouseUp(e: TPointerEvent): void;
|
|
194
|
+
/**
|
|
195
|
+
* @private
|
|
196
|
+
* @param {Event} e Event object fired on mousemove
|
|
197
|
+
*/
|
|
198
|
+
_onMouseMove(e: TPointerEvent): void;
|
|
199
|
+
/**
|
|
200
|
+
* @private
|
|
201
|
+
*/
|
|
202
|
+
_onResize(): void;
|
|
203
|
+
/**
|
|
204
|
+
* Decides whether the canvas should be redrawn in mouseup and mousedown events.
|
|
205
|
+
* @private
|
|
206
|
+
* @param {Object} target
|
|
207
|
+
*/
|
|
208
|
+
_shouldRender(target: FabricObject | undefined): boolean;
|
|
209
|
+
/**
|
|
210
|
+
* Method that defines the actions when mouse is released on canvas.
|
|
211
|
+
* The method resets the currentTransform parameters, store the image corner
|
|
212
|
+
* position in the image object and render the canvas on top.
|
|
213
|
+
* @private
|
|
214
|
+
* @param {Event} e Event object fired on mouseup
|
|
215
|
+
*/
|
|
216
|
+
__onMouseUp(e: TPointerEvent): void;
|
|
217
|
+
_basicEventHandler<T extends keyof (CanvasEvents | ObjectEvents)>(eventType: T, options: (CanvasEvents & ObjectEvents)[T]): (import("../EventTypeDefs").CollectionEvents & {
|
|
218
|
+
'canvas:cleared': never;
|
|
219
|
+
'before:render': {
|
|
220
|
+
ctx: CanvasRenderingContext2D;
|
|
221
|
+
};
|
|
222
|
+
'after:render': {
|
|
223
|
+
ctx: CanvasRenderingContext2D;
|
|
224
|
+
};
|
|
225
|
+
} & Record<"mouse:down" | "mouse:down:before" | "mouse:move" | "mouse:move:before" | "mouse:up" | "mouse:up:before" | "mouse:dblclick", TPointerEventInfo<TPointerEvent>> & Record<"mouse:wheel", TPointerEventInfo<WheelEvent>> & Record<"mouse:over", import("../EventTypeDefs").TEvent<TPointerEvent> & {
|
|
226
|
+
target?: FabricObject<ObjectEvents> | undefined;
|
|
227
|
+
subTargets?: FabricObject<ObjectEvents>[] | undefined;
|
|
228
|
+
button?: number | undefined;
|
|
229
|
+
isClick: boolean;
|
|
230
|
+
pointer: Point;
|
|
231
|
+
transform?: Transform | null | undefined;
|
|
232
|
+
absolutePointer: Point;
|
|
233
|
+
currentSubTargets?: FabricObject<ObjectEvents>[] | undefined;
|
|
234
|
+
currentTarget?: FabricObject<ObjectEvents> | null | undefined;
|
|
235
|
+
} & {
|
|
236
|
+
previousTarget?: FabricObject<ObjectEvents> | undefined;
|
|
237
|
+
}> & Record<"mouse:out", import("../EventTypeDefs").TEvent<TPointerEvent> & {
|
|
238
|
+
target?: FabricObject<ObjectEvents> | undefined;
|
|
239
|
+
subTargets?: FabricObject<ObjectEvents>[] | undefined;
|
|
240
|
+
button?: number | undefined;
|
|
241
|
+
isClick: boolean;
|
|
242
|
+
pointer: Point;
|
|
243
|
+
transform?: Transform | null | undefined;
|
|
244
|
+
absolutePointer: Point;
|
|
245
|
+
currentSubTargets?: FabricObject<ObjectEvents>[] | undefined;
|
|
246
|
+
currentTarget?: FabricObject<ObjectEvents> | null | undefined;
|
|
247
|
+
} & {
|
|
248
|
+
nextTarget?: FabricObject<ObjectEvents> | undefined;
|
|
249
|
+
}> & {
|
|
250
|
+
dragstart: import("../EventTypeDefs").TEvent<DragEvent> & {
|
|
251
|
+
target: FabricObject<ObjectEvents>;
|
|
252
|
+
};
|
|
253
|
+
drag: DragEventData;
|
|
254
|
+
dragover: DragEventData;
|
|
255
|
+
dragenter: import("../EventTypeDefs").TEvent<DragEvent> & {
|
|
256
|
+
target?: FabricObject<ObjectEvents> | undefined;
|
|
257
|
+
subTargets?: FabricObject<ObjectEvents>[] | undefined;
|
|
258
|
+
dragSource?: FabricObject<ObjectEvents> | undefined;
|
|
259
|
+
canDrop?: boolean | undefined;
|
|
260
|
+
didDrop?: boolean | undefined;
|
|
261
|
+
dropTarget?: FabricObject<ObjectEvents> | undefined;
|
|
262
|
+
} & {
|
|
263
|
+
previousTarget?: FabricObject<ObjectEvents> | undefined;
|
|
264
|
+
};
|
|
265
|
+
dragleave: import("../EventTypeDefs").TEvent<DragEvent> & {
|
|
266
|
+
target?: FabricObject<ObjectEvents> | undefined;
|
|
267
|
+
subTargets?: FabricObject<ObjectEvents>[] | undefined;
|
|
268
|
+
dragSource?: FabricObject<ObjectEvents> | undefined;
|
|
269
|
+
canDrop?: boolean | undefined;
|
|
270
|
+
didDrop?: boolean | undefined;
|
|
271
|
+
dropTarget?: FabricObject<ObjectEvents> | undefined;
|
|
272
|
+
} & {
|
|
273
|
+
nextTarget?: FabricObject<ObjectEvents> | undefined;
|
|
274
|
+
};
|
|
275
|
+
dragend: DragEventData;
|
|
276
|
+
'drop:before': import("../EventTypeDefs").DropEventData;
|
|
277
|
+
drop: import("../EventTypeDefs").DropEventData;
|
|
278
|
+
'drop:after': import("../EventTypeDefs").DropEventData;
|
|
279
|
+
} & {
|
|
280
|
+
'drag:enter': import("../EventTypeDefs").TEvent<DragEvent> & {
|
|
281
|
+
target?: FabricObject<ObjectEvents> | undefined;
|
|
282
|
+
subTargets?: FabricObject<ObjectEvents>[] | undefined;
|
|
283
|
+
dragSource?: FabricObject<ObjectEvents> | undefined;
|
|
284
|
+
canDrop?: boolean | undefined;
|
|
285
|
+
didDrop?: boolean | undefined;
|
|
286
|
+
dropTarget?: FabricObject<ObjectEvents> | undefined;
|
|
287
|
+
} & {
|
|
288
|
+
previousTarget?: FabricObject<ObjectEvents> | undefined;
|
|
289
|
+
};
|
|
290
|
+
'drag:leave': import("../EventTypeDefs").TEvent<DragEvent> & {
|
|
291
|
+
target?: FabricObject<ObjectEvents> | undefined;
|
|
292
|
+
subTargets?: FabricObject<ObjectEvents>[] | undefined;
|
|
293
|
+
dragSource?: FabricObject<ObjectEvents> | undefined;
|
|
294
|
+
canDrop?: boolean | undefined;
|
|
295
|
+
didDrop?: boolean | undefined;
|
|
296
|
+
dropTarget?: FabricObject<ObjectEvents> | undefined;
|
|
297
|
+
} & {
|
|
298
|
+
nextTarget?: FabricObject<ObjectEvents> | undefined;
|
|
299
|
+
};
|
|
300
|
+
} & import("../EventTypeDefs").MiscEvents & Record<"object:moving" | "object:scaling" | "object:rotating" | "object:skewing" | "object:resizing", import("../EventTypeDefs").TEvent<TPointerEvent> & {
|
|
301
|
+
transform: Transform;
|
|
302
|
+
pointer: Point;
|
|
303
|
+
} & {
|
|
304
|
+
target: FabricObject<ObjectEvents>;
|
|
305
|
+
}> & Record<"object:modified", import("../EventTypeDefs").ModifiedEvent<TPointerEvent> | {
|
|
306
|
+
target: FabricObject<ObjectEvents>;
|
|
307
|
+
}> & {
|
|
308
|
+
'before:transform': import("../EventTypeDefs").TEvent<TPointerEvent> & {
|
|
309
|
+
transform: Transform;
|
|
310
|
+
};
|
|
311
|
+
} & {
|
|
312
|
+
'selection:created': Partial<import("../EventTypeDefs").TEvent<TPointerEvent>> & {
|
|
313
|
+
selected: FabricObject<ObjectEvents>[];
|
|
314
|
+
};
|
|
315
|
+
'selection:updated': Partial<import("../EventTypeDefs").TEvent<TPointerEvent>> & {
|
|
316
|
+
selected: FabricObject<ObjectEvents>[];
|
|
317
|
+
deselected: FabricObject<ObjectEvents>[];
|
|
318
|
+
};
|
|
319
|
+
'before:selection:cleared': Partial<import("../EventTypeDefs").TEvent<TPointerEvent>> & {
|
|
320
|
+
deselected: FabricObject<ObjectEvents>[];
|
|
321
|
+
};
|
|
322
|
+
'selection:cleared': Partial<import("../EventTypeDefs").TEvent<TPointerEvent>> & {
|
|
323
|
+
deselected: FabricObject<ObjectEvents>[];
|
|
324
|
+
};
|
|
325
|
+
} & {
|
|
326
|
+
'before:path:created': {
|
|
327
|
+
path: FabricObject<ObjectEvents>;
|
|
328
|
+
};
|
|
329
|
+
'path:created': {
|
|
330
|
+
path: FabricObject<ObjectEvents>;
|
|
331
|
+
};
|
|
332
|
+
'erasing:start': never;
|
|
333
|
+
'erasing:end': {
|
|
334
|
+
path: FabricObject<ObjectEvents>;
|
|
335
|
+
targets: FabricObject<ObjectEvents>[];
|
|
336
|
+
subTargets: FabricObject<ObjectEvents>[];
|
|
337
|
+
drawables: {
|
|
338
|
+
backgroundImage?: FabricObject<ObjectEvents> | undefined;
|
|
339
|
+
overlayImage?: FabricObject<ObjectEvents> | undefined;
|
|
340
|
+
};
|
|
341
|
+
};
|
|
342
|
+
'text:selection:changed': {
|
|
343
|
+
target: import("../..").IText<import("../shapes/IText/ITextBehavior").ITextEvents>;
|
|
344
|
+
};
|
|
345
|
+
'text:changed': {
|
|
346
|
+
target: import("../..").IText<import("../shapes/IText/ITextBehavior").ITextEvents>;
|
|
347
|
+
};
|
|
348
|
+
'text:editing:entered': {
|
|
349
|
+
target: import("../..").IText<import("../shapes/IText/ITextBehavior").ITextEvents>;
|
|
350
|
+
};
|
|
351
|
+
'text:editing:exited': {
|
|
352
|
+
target: import("../..").IText<import("../shapes/IText/ITextBehavior").ITextEvents>;
|
|
353
|
+
};
|
|
354
|
+
} & Record<"mousedown" | "mousedown:before" | "mousemove" | "mousemove:before" | "mouseup" | "mouseup:before" | "mousedblclick", TPointerEventInfo<TPointerEvent>> & Record<"mousewheel", TPointerEventInfo<WheelEvent>> & Record<"mouseover", import("../EventTypeDefs").TEvent<TPointerEvent> & {
|
|
355
|
+
target?: FabricObject<ObjectEvents> | undefined;
|
|
356
|
+
subTargets?: FabricObject<ObjectEvents>[] | undefined;
|
|
357
|
+
button?: number | undefined;
|
|
358
|
+
isClick: boolean;
|
|
359
|
+
pointer: Point;
|
|
360
|
+
transform?: Transform | null | undefined;
|
|
361
|
+
absolutePointer: Point;
|
|
362
|
+
currentSubTargets?: FabricObject<ObjectEvents>[] | undefined;
|
|
363
|
+
currentTarget?: FabricObject<ObjectEvents> | null | undefined;
|
|
364
|
+
} & {
|
|
365
|
+
previousTarget?: FabricObject<ObjectEvents> | undefined;
|
|
366
|
+
}> & Record<"mouseout", import("../EventTypeDefs").TEvent<TPointerEvent> & {
|
|
367
|
+
target?: FabricObject<ObjectEvents> | undefined;
|
|
368
|
+
subTargets?: FabricObject<ObjectEvents>[] | undefined;
|
|
369
|
+
button?: number | undefined;
|
|
370
|
+
isClick: boolean;
|
|
371
|
+
pointer: Point;
|
|
372
|
+
transform?: Transform | null | undefined;
|
|
373
|
+
absolutePointer: Point;
|
|
374
|
+
currentSubTargets?: FabricObject<ObjectEvents>[] | undefined;
|
|
375
|
+
currentTarget?: FabricObject<ObjectEvents> | null | undefined;
|
|
376
|
+
} & {
|
|
377
|
+
nextTarget?: FabricObject<ObjectEvents> | undefined;
|
|
378
|
+
}> & Record<"moving" | "scaling" | "rotating" | "skewing" | "resizing", import("../EventTypeDefs").BasicTransformEvent<TPointerEvent>> & Record<"modified", import("../EventTypeDefs").ModifiedEvent<TPointerEvent>> & {
|
|
379
|
+
selected: Partial<import("../EventTypeDefs").TEvent<TPointerEvent>> & {
|
|
380
|
+
target: FabricObject<ObjectEvents>;
|
|
381
|
+
};
|
|
382
|
+
deselected: Partial<import("../EventTypeDefs").TEvent<TPointerEvent>> & {
|
|
383
|
+
target: FabricObject<ObjectEvents>;
|
|
384
|
+
};
|
|
385
|
+
added: {
|
|
386
|
+
target: import("./StaticCanvas").StaticCanvas<import("../EventTypeDefs").StaticCanvasEvents> | Canvas | Group;
|
|
387
|
+
};
|
|
388
|
+
removed: {
|
|
389
|
+
target: import("./StaticCanvas").StaticCanvas<import("../EventTypeDefs").StaticCanvasEvents> | Canvas | Group;
|
|
390
|
+
};
|
|
391
|
+
'erasing:end': {
|
|
392
|
+
path: FabricObject<ObjectEvents>;
|
|
393
|
+
};
|
|
394
|
+
})[T];
|
|
395
|
+
/**
|
|
396
|
+
* @private
|
|
397
|
+
* Handle event firing for target and subtargets
|
|
398
|
+
* @param {Event} e event from mouse
|
|
399
|
+
* @param {String} eventType event to fire (up, down or move)
|
|
400
|
+
* @param {fabric.Object} targetObj receiving event
|
|
401
|
+
* @param {Number} [button] button used in the event 1 = left, 2 = middle, 3 = right
|
|
402
|
+
* @param {Boolean} isClick for left button only, indicates that the mouse up happened without move.
|
|
403
|
+
*/
|
|
404
|
+
_handleEvent(e: TPointerEvent, eventType: TPointerEventNames, button?: number, isClick?: boolean): void;
|
|
405
|
+
/**
|
|
406
|
+
* End the current transform.
|
|
407
|
+
* You don't usually need to call this method unless you are interrupting a user initiated transform
|
|
408
|
+
* because of some other event ( a press of key combination, or something that block the user UX )
|
|
409
|
+
* @param {Event} [e] send the mouse event that generate the finalize down, so it can be used in the event
|
|
410
|
+
*/
|
|
411
|
+
endCurrentTransform(e: TPointerEvent): void;
|
|
412
|
+
/**
|
|
413
|
+
* @private
|
|
414
|
+
* @param {Event} e send the mouse event that generate the finalize down, so it can be used in the event
|
|
415
|
+
*/
|
|
416
|
+
_finalizeCurrentTransform(e: TPointerEvent): void;
|
|
417
|
+
/**
|
|
418
|
+
* @private
|
|
419
|
+
* @param {Event} e Event object fired on mousedown
|
|
420
|
+
*/
|
|
421
|
+
_onMouseDownInDrawingMode(e: TPointerEvent): void;
|
|
422
|
+
/**
|
|
423
|
+
* @private
|
|
424
|
+
* @param {Event} e Event object fired on mousemove
|
|
425
|
+
*/
|
|
426
|
+
_onMouseMoveInDrawingMode(e: TPointerEvent): void;
|
|
427
|
+
/**
|
|
428
|
+
* @private
|
|
429
|
+
* @param {Event} e Event object fired on mouseup
|
|
430
|
+
*/
|
|
431
|
+
_onMouseUpInDrawingMode(e: TPointerEvent): void;
|
|
432
|
+
/**
|
|
433
|
+
* Method that defines the actions when mouse is clicked on canvas.
|
|
434
|
+
* The method inits the currentTransform parameters and renders all the
|
|
435
|
+
* canvas so the current image can be placed on the top canvas and the rest
|
|
436
|
+
* in on the container one.
|
|
437
|
+
* @private
|
|
438
|
+
* @param {Event} e Event object fired on mousedown
|
|
439
|
+
*/
|
|
440
|
+
__onMouseDown(e: TPointerEvent): void;
|
|
441
|
+
/**
|
|
442
|
+
* reset cache form common information needed during event processing
|
|
443
|
+
* @private
|
|
444
|
+
*/
|
|
445
|
+
_resetTransformEventData(): void;
|
|
446
|
+
/**
|
|
447
|
+
* Cache common information needed during event processing
|
|
448
|
+
* @private
|
|
449
|
+
* @param {Event} e Event object fired on event
|
|
450
|
+
*/
|
|
451
|
+
_cacheTransformEventData(e: TPointerEvent): void;
|
|
452
|
+
/**
|
|
453
|
+
* @private
|
|
454
|
+
*/
|
|
455
|
+
_beforeTransform(e: TPointerEvent): void;
|
|
456
|
+
/**
|
|
457
|
+
* Method that defines the actions when mouse is hovering the canvas.
|
|
458
|
+
* The currentTransform parameter will define whether the user is rotating/scaling/translating
|
|
459
|
+
* an image or neither of them (only hovering). A group selection is also possible and would cancel
|
|
460
|
+
* all any other type of action.
|
|
461
|
+
* In case of an image transformation only the top canvas will be rendered.
|
|
462
|
+
* @private
|
|
463
|
+
* @param {Event} e Event object fired on mousemove
|
|
464
|
+
*/
|
|
465
|
+
__onMouseMove(e: TPointerEvent): void;
|
|
466
|
+
/**
|
|
467
|
+
* Manage the mouseout, mouseover events for the fabric object on the canvas
|
|
468
|
+
* @param {Fabric.Object} target the target where the target from the mousemove event
|
|
469
|
+
* @param {Event} e Event object fired on mousemove
|
|
470
|
+
* @private
|
|
471
|
+
*/
|
|
472
|
+
_fireOverOutEvents(e: TPointerEvent, target?: FabricObject): void;
|
|
473
|
+
/**
|
|
474
|
+
* Manage the dragEnter, dragLeave events for the fabric objects on the canvas
|
|
475
|
+
* @param {Fabric.Object} target the target where the target from the onDrag event
|
|
476
|
+
* @param {Object} data Event object fired on dragover
|
|
477
|
+
* @private
|
|
478
|
+
*/
|
|
479
|
+
_fireEnterLeaveEvents(target: FabricObject | undefined, data: DragEventData): void;
|
|
480
|
+
/**
|
|
481
|
+
* Manage the synthetic in/out events for the fabric objects on the canvas
|
|
482
|
+
* @param {Fabric.Object} target the target where the target from the supported events
|
|
483
|
+
* @param {Object} data Event object fired
|
|
484
|
+
* @param {Object} config configuration for the function to work
|
|
485
|
+
* @param {String} config.targetName property on the canvas where the old target is stored
|
|
486
|
+
* @param {String} [config.canvasEvtOut] name of the event to fire at canvas level for out
|
|
487
|
+
* @param {String} config.evtOut name of the event to fire for out
|
|
488
|
+
* @param {String} [config.canvasEvtIn] name of the event to fire at canvas level for in
|
|
489
|
+
* @param {String} config.evtIn name of the event to fire for in
|
|
490
|
+
* @private
|
|
491
|
+
*/
|
|
492
|
+
fireSyntheticInOutEvents<T extends keyof TSyntheticEventContext>(type: T, { target, oldTarget, fireCanvas, e, ...data }: TSyntheticEventContext[T] & {
|
|
493
|
+
target?: FabricObject;
|
|
494
|
+
oldTarget?: FabricObject;
|
|
495
|
+
fireCanvas?: boolean;
|
|
496
|
+
}): void;
|
|
497
|
+
/**
|
|
498
|
+
* Method that defines actions when an Event Mouse Wheel
|
|
499
|
+
* @param {Event} e Event object fired on mouseup
|
|
500
|
+
*/
|
|
501
|
+
__onMouseWheel(e: TPointerEvent): void;
|
|
502
|
+
/**
|
|
503
|
+
* @private
|
|
504
|
+
* @param {Event} e Event fired on mousemove
|
|
505
|
+
*/
|
|
506
|
+
_transformObject(e: TPointerEvent): void;
|
|
507
|
+
/**
|
|
508
|
+
* @private
|
|
509
|
+
*/
|
|
510
|
+
_performTransformAction(e: TPointerEvent, transform: Transform, pointer: Point): void;
|
|
511
|
+
/**
|
|
512
|
+
* Sets the cursor depending on where the canvas is being hovered.
|
|
513
|
+
* Note: very buggy in Opera
|
|
514
|
+
* @param {Event} e Event object
|
|
515
|
+
* @param {Object} target Object that the mouse is hovering, if so.
|
|
516
|
+
*/
|
|
517
|
+
_setCursorFromEvent(e: TPointerEvent, target?: FabricObject): void;
|
|
518
|
+
/**
|
|
519
|
+
* Return true if the current mouse event that generated a new selection should generate a group
|
|
520
|
+
* @private
|
|
521
|
+
* @param {TPointerEvent} e Event object
|
|
522
|
+
* @param {FabricObject} target
|
|
523
|
+
* @return {Boolean}
|
|
524
|
+
*/
|
|
525
|
+
_shouldGroup(e: TPointerEvent, target?: FabricObject): boolean;
|
|
526
|
+
/**
|
|
527
|
+
* Handles active selection creation for user event
|
|
528
|
+
* @private
|
|
529
|
+
* @param {TPointerEvent} e Event object
|
|
530
|
+
* @param {FabricObject} target
|
|
531
|
+
*/
|
|
532
|
+
_handleGrouping(e: TPointerEvent, target: FabricObject): void;
|
|
533
|
+
/**
|
|
534
|
+
* @private
|
|
535
|
+
*/
|
|
536
|
+
_updateActiveSelection(e: TPointerEvent, target: FabricObject): void;
|
|
537
|
+
/**
|
|
538
|
+
* Generates and set as active the active selection from user events
|
|
539
|
+
* @private
|
|
540
|
+
*/
|
|
541
|
+
_createActiveSelection(e: TPointerEvent, target: FabricObject): void;
|
|
542
|
+
/**
|
|
543
|
+
* Finds objects inside the selection rectangle and group them
|
|
544
|
+
* @private
|
|
545
|
+
* @param {Event} e mouse event
|
|
546
|
+
*/
|
|
547
|
+
_groupSelectedObjects(e: TPointerEvent): void;
|
|
548
|
+
/**
|
|
549
|
+
* @private
|
|
550
|
+
*/
|
|
551
|
+
_collectObjects(e: TPointerEvent): FabricObject<ObjectEvents>[];
|
|
552
|
+
/**
|
|
553
|
+
* @private
|
|
554
|
+
*/
|
|
555
|
+
_maybeGroupObjects(e: TPointerEvent): void;
|
|
556
|
+
exitTextEditing(): void;
|
|
557
|
+
/**
|
|
558
|
+
* @override clear {@link textEditingManager}
|
|
559
|
+
*/
|
|
560
|
+
clear(): void;
|
|
561
|
+
/**
|
|
562
|
+
* @override clear {@link textEditingManager}
|
|
563
|
+
*/
|
|
564
|
+
destroy(): void;
|
|
565
|
+
}
|
|
566
|
+
export {};
|
|
567
|
+
//# sourceMappingURL=Canvas.d.ts.map
|