fabric 5.3.0 → 6.0.0-beta3
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/.eslintignore +3 -0
- package/.eslintrc.js +43 -0
- package/.eslintrc.json +38 -46
- package/.eslintrc_tests +12 -0
- package/.gitattributes +2 -0
- package/.gitpod.yml +17 -1
- package/.prettierignore +19 -0
- package/.prettierrc +4 -0
- package/CHANGELOG.md +532 -189
- package/CONTRIBUTING.md +224 -59
- package/README.md +200 -235
- package/bower.json +1 -3
- package/dist/fabric.d.ts +42 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +27582 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +1 -0
- package/dist/index.mjs +27519 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.node.cjs +27663 -0
- package/dist/index.node.cjs.map +1 -0
- package/dist/index.node.d.ts +14 -0
- package/dist/index.node.mjs +27606 -0
- package/dist/index.node.mjs.map +1 -0
- package/dist/src/ClassRegistry.d.ts +13 -0
- package/dist/src/Collection.d.ts +136 -0
- package/dist/src/CommonMethods.d.ts +32 -0
- package/dist/src/EventTypeDefs.d.ts +227 -0
- package/dist/src/Intersection.d.ts +112 -0
- package/dist/src/Observable.d.ts +60 -0
- package/dist/src/Pattern.d.ts +113 -0
- package/dist/src/Point.d.ts +232 -0
- package/dist/src/Shadow.d.ts +97 -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 +47 -0
- package/dist/src/canvas/Canvas.d.ts +548 -0
- package/dist/src/canvas/SelectableCanvas.d.ts +754 -0
- package/dist/src/canvas/StaticCanvas.d.ts +778 -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/commonControls.d.ts +28 -0
- package/dist/src/controls/controlRendering.d.ts +29 -0
- package/dist/src/controls/drag.d.ts +12 -0
- package/dist/src/controls/index.d.ts +13 -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 +15 -0
- package/dist/src/env/node.d.ts +5 -0
- package/dist/src/env/types.d.ts +15 -0
- package/dist/src/filters/BaseFilter.d.ts +153 -0
- package/dist/src/filters/BlendColor.d.ts +80 -0
- package/dist/src/filters/BlendImage.d.ts +92 -0
- package/dist/src/filters/Blur.d.ts +51 -0
- package/dist/src/filters/Boilerplate.d.ts +48 -0
- package/dist/src/filters/Brightness.d.ts +47 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts +27 -0
- package/dist/src/filters/ColorMatrix.d.ts +63 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts +545 -0
- package/dist/src/filters/Composed.d.ts +45 -0
- package/dist/src/filters/Contrast.d.ts +45 -0
- package/dist/src/filters/Convolute.d.ts +82 -0
- package/dist/src/filters/FilterBackend.d.ts +14 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts +11 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +11 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts +20 -0
- package/dist/src/filters/Gamma.d.ts +54 -0
- package/dist/src/filters/Grayscale.d.ts +46 -0
- package/dist/src/filters/HueRotation.d.ts +24 -0
- package/dist/src/filters/Invert.d.ts +55 -0
- package/dist/src/filters/Noise.d.ts +54 -0
- package/dist/src/filters/Pixelate.d.ts +44 -0
- package/dist/src/filters/RemoveColor.d.ts +63 -0
- package/dist/src/filters/Resize.d.ts +136 -0
- package/dist/src/filters/Saturation.d.ts +48 -0
- package/dist/src/filters/Vibrance.d.ts +48 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts +126 -0
- package/dist/src/filters/filters.d.ts +21 -0
- package/dist/src/filters/index.d.ts +5 -0
- package/dist/src/filters/shaders/baseFilter.d.ts +4 -0
- package/dist/src/filters/shaders/blendColor.d.ts +13 -0
- package/dist/src/filters/shaders/blendImage.d.ts +3 -0
- package/dist/src/filters/shaders/blur.d.ts +2 -0
- package/dist/src/filters/shaders/brightness.d.ts +2 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts +2 -0
- package/dist/src/filters/shaders/constrast.d.ts +2 -0
- package/dist/src/filters/shaders/convolute.d.ts +11 -0
- package/dist/src/filters/shaders/gamma.d.ts +2 -0
- package/dist/src/filters/shaders/grayscale.d.ts +3 -0
- package/dist/src/filters/shaders/invert.d.ts +2 -0
- package/dist/src/filters/shaders/noise.d.ts +2 -0
- package/dist/src/filters/shaders/pixelate.d.ts +2 -0
- package/dist/src/filters/shaders/removeColor.d.ts +2 -0
- package/dist/src/filters/shaders/saturation.d.ts +2 -0
- package/dist/src/filters/shaders/vibrance.d.ts +2 -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 +3 -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/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 +53 -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/index.d.ts +10 -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 +82 -0
- package/dist/src/shapes/Circle.d.ts +99 -0
- package/dist/src/shapes/Ellipse.d.ts +84 -0
- package/dist/src/shapes/Group.d.ts +408 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
- package/dist/src/shapes/IText/IText.d.ts +335 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts +287 -0
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts +83 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +195 -0
- package/dist/src/shapes/IText/constants.d.ts +13 -0
- package/dist/src/shapes/Image.d.ts +311 -0
- package/dist/src/shapes/Line.d.ts +126 -0
- package/dist/src/shapes/Object/AnimatableObject.d.ts +33 -0
- package/dist/src/shapes/Object/FabricObject.d.ts +11 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +74 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts +296 -0
- package/dist/src/shapes/Object/Object.d.ts +594 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts +327 -0
- package/dist/src/shapes/Object/ObjectOrigin.d.ts +109 -0
- package/dist/src/shapes/Object/StackedObject.d.ts +72 -0
- package/dist/src/shapes/Object/defaultValues.d.ts +76 -0
- package/dist/src/shapes/Object/types/BaseProps.d.ts +84 -0
- package/dist/src/shapes/Object/types/BorderProps.d.ts +37 -0
- package/dist/src/shapes/Object/types/ControlProps.d.ts +62 -0
- package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +96 -0
- package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +80 -0
- package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +51 -0
- package/dist/src/shapes/Object/types/ObjectProps.d.ts +42 -0
- package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +66 -0
- package/dist/src/shapes/Object/types/index.d.ts +6 -0
- package/dist/src/shapes/Path.d.ts +130 -0
- package/dist/src/shapes/Polygon.d.ts +9 -0
- package/dist/src/shapes/Polyline.d.ts +140 -0
- package/dist/src/shapes/Rect.d.ts +76 -0
- package/dist/src/shapes/Text/StyledText.d.ts +119 -0
- package/dist/src/shapes/Text/Text.d.ts +673 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +32 -0
- package/dist/src/shapes/Text/constants.d.ts +7 -0
- package/dist/src/shapes/Textbox.d.ts +185 -0
- package/dist/src/shapes/Triangle.d.ts +25 -0
- package/dist/src/typedefs.d.ts +90 -0
- package/dist/src/util/animation/AnimationBase.d.ts +54 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts +3 -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/dom_event.d.ts +5 -0
- package/dist/src/util/dom_misc.d.ts +39 -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/index.d.ts +35 -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_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 +9 -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/index.d.ts +96 -0
- package/dist/src/util/path/regex.d.ts +3 -0
- package/dist/src/util/path/typechecks.d.ts +24 -0
- package/dist/src/util/path/typedefs.d.ts +220 -0
- package/dist/src/util/transform_matrix_removal.d.ts +14 -0
- package/dist/src/util/types.d.ts +19 -0
- package/fabric.ts +51 -0
- package/index.node.ts +37 -0
- package/index.ts +1 -0
- package/package.json +100 -40
- package/publish.js +0 -26
- package/rollup.config.mjs +91 -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/git.mjs +36 -0
- package/scripts/index.mjs +564 -0
- package/scripts/sandbox.mjs +149 -0
- package/src/ClassRegistry.ts +56 -0
- package/src/Collection.ts +346 -0
- package/src/CommonMethods.ts +63 -0
- package/src/EventTypeDefs.ts +296 -0
- package/src/Intersection.ts +302 -0
- package/src/Observable.ts +181 -0
- package/src/Pattern.ts +227 -0
- package/src/Point.ts +388 -0
- package/src/Shadow.ts +214 -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 +90 -0
- package/src/canvas/Canvas.ts +1607 -0
- package/src/canvas/SelectableCanvas.ts +1608 -0
- package/src/canvas/StaticCanvas.ts +1734 -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 +20 -0
- package/src/controls/Control.ts +380 -0
- package/src/controls/changeWidth.ts +52 -0
- package/src/controls/commonControls.ts +105 -0
- package/src/controls/controlRendering.ts +138 -0
- package/src/controls/drag.ts +31 -0
- package/src/controls/index.ts +22 -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 +32 -0
- package/src/env/index.ts +24 -0
- package/src/env/node.ts +56 -0
- package/src/env/types.ts +15 -0
- package/src/filters/{base_filter.class.js → BaseFilter.ts} +192 -151
- package/src/filters/BlendColor.ts +217 -0
- package/src/filters/BlendImage.ts +228 -0
- package/src/filters/Blur.ts +179 -0
- package/src/filters/Boilerplate.ts +94 -0
- package/src/filters/Brightness.ts +83 -0
- package/src/filters/Canvas2dFilterBackend.ts +65 -0
- package/src/filters/ColorMatrix.ts +145 -0
- package/src/filters/ColorMatrixFilters.ts +77 -0
- package/src/filters/Composed.ts +76 -0
- package/src/filters/Contrast.ts +82 -0
- package/src/filters/Convolute.ts +184 -0
- package/src/filters/FilterBackend.ts +34 -0
- package/src/filters/GLProbes/GLProbe.ts +11 -0
- package/src/filters/GLProbes/NodeGLProbe.ts +15 -0
- package/src/filters/GLProbes/WebGLProbe.ts +46 -0
- package/src/filters/Gamma.ts +110 -0
- package/src/filters/Grayscale.ts +102 -0
- package/src/filters/HueRotation.ts +62 -0
- package/src/filters/Invert.ts +99 -0
- package/src/filters/Noise.ts +94 -0
- package/src/filters/Pixelate.ts +96 -0
- package/src/filters/RemoveColor.ts +135 -0
- package/src/filters/Resize.ts +538 -0
- package/src/filters/Saturation.ts +87 -0
- package/src/filters/Vibrance.ts +88 -0
- package/src/filters/WebGLFilterBackend.ts +430 -0
- package/src/filters/filters.ts +28 -0
- package/src/filters/index.ts +5 -0
- package/src/filters/shaders/baseFilter.ts +19 -0
- package/src/filters/shaders/blendColor.ts +33 -0
- package/src/filters/shaders/blendImage.ts +32 -0
- package/src/filters/shaders/blur.ts +24 -0
- package/src/filters/shaders/brightness.ts +11 -0
- package/src/filters/shaders/colorMatrix.ts +12 -0
- package/src/filters/shaders/constrast.ts +11 -0
- package/src/filters/shaders/convolute.ts +154 -0
- package/src/filters/shaders/gamma.ts +15 -0
- package/src/filters/shaders/grayscale.ts +36 -0
- package/src/filters/shaders/invert.ts +19 -0
- package/src/filters/shaders/noise.ts +16 -0
- package/src/filters/shaders/pixelate.ts +19 -0
- package/src/filters/shaders/removeColor.ts +13 -0
- package/src/filters/shaders/saturation.ts +15 -0
- package/src/filters/shaders/vibrance.ts +16 -0
- package/src/filters/typedefs.ts +65 -0
- package/src/gradient/Gradient.ts +406 -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 +56 -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/parkinglot/canvas_animation.mixin.ts +121 -0
- package/src/parkinglot/straighten.ts +58 -0
- package/src/parser/applyViewboxTransform.ts +157 -0
- package/src/parser/attributes.ts +25 -0
- package/src/parser/constants.ts +115 -0
- package/src/parser/doesSomeParentMatch.ts +19 -0
- package/src/parser/elementById.ts +21 -0
- package/src/parser/elementMatchesRule.ts +16 -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 +31 -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/index.ts +9 -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 +34 -0
- package/src/parser/parseSVGDocument.ts +93 -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 +78 -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 +189 -0
- package/src/shapes/Circle.ts +242 -0
- package/src/shapes/Ellipse.ts +179 -0
- package/src/shapes/Group.ts +1100 -0
- package/src/shapes/IText/DraggableTextDelegate.ts +382 -0
- package/src/shapes/IText/IText.ts +693 -0
- package/src/shapes/IText/ITextBehavior.ts +1064 -0
- package/src/shapes/IText/ITextClickBehavior.ts +325 -0
- package/src/shapes/IText/ITextKeyBehavior.ts +685 -0
- package/src/shapes/IText/constants.ts +47 -0
- package/src/shapes/Image.ts +841 -0
- package/src/shapes/Line.ts +346 -0
- package/src/shapes/Object/AnimatableObject.ts +106 -0
- package/src/shapes/Object/FabricObject.ts +29 -0
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +277 -0
- package/src/shapes/Object/InteractiveObject.ts +672 -0
- package/src/shapes/Object/Object.ts +1561 -0
- package/src/shapes/Object/ObjectGeometry.ts +813 -0
- package/src/shapes/Object/ObjectOrigin.ts +276 -0
- package/src/shapes/Object/StackedObject.ts +206 -0
- package/src/shapes/Object/defaultValues.ts +108 -0
- package/src/shapes/Object/types/BaseProps.ts +96 -0
- package/src/shapes/Object/types/BorderProps.ts +40 -0
- package/src/shapes/Object/types/ControlProps.ts +69 -0
- package/src/shapes/Object/types/FabricObjectProps.ts +111 -0
- package/src/shapes/Object/types/FillStrokeProps.ts +90 -0
- package/src/shapes/Object/types/LockInteractionProps.ts +57 -0
- package/src/shapes/Object/types/ObjectProps.ts +46 -0
- package/src/shapes/Object/types/SerializedObjectProps.ts +73 -0
- package/src/shapes/Object/types/index.ts +8 -0
- package/src/shapes/Path.ts +416 -0
- package/src/shapes/Polygon.ts +20 -0
- package/src/shapes/Polyline.ts +359 -0
- package/src/shapes/Rect.ts +233 -0
- package/src/shapes/Text/StyledText.ts +329 -0
- package/src/shapes/Text/Text.ts +1884 -0
- package/src/shapes/Text/TextSVGExportMixin.ts +288 -0
- package/src/shapes/Text/constants.ts +91 -0
- package/src/shapes/Textbox.ts +477 -0
- package/src/shapes/Triangle.ts +60 -0
- package/src/typedefs.ts +115 -0
- package/src/util/animation/AnimationBase.ts +166 -0
- package/src/util/animation/AnimationFrameProvider.ts +9 -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/dom_event.ts +28 -0
- package/src/util/dom_misc.ts +121 -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/index.ts +102 -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_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 +28 -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 +29 -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 +226 -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 +134 -0
- package/src/util/misc/toFixed.ts +8 -0
- package/src/util/misc/vectors.ts +82 -0
- package/src/util/path/index.ts +1038 -0
- package/src/util/path/regex.ts +41 -0
- package/src/util/path/typechecks.ts +145 -0
- package/src/util/path/typedefs.ts +305 -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,195 @@
|
|
|
1
|
+
import { TPointerEvent } from '../../EventTypeDefs';
|
|
2
|
+
import { ITextBehavior, ITextEvents } from './ITextBehavior';
|
|
3
|
+
import type { TKeyMapIText } from './constants';
|
|
4
|
+
import { TProps } from '../Object/types';
|
|
5
|
+
import { TextProps, SerializedTextProps } from '../Text/Text';
|
|
6
|
+
export declare abstract class ITextKeyBehavior<Props extends TProps<TextProps> = Partial<TextProps>, SProps extends SerializedTextProps = SerializedTextProps, EventSpec extends ITextEvents = ITextEvents> extends ITextBehavior<Props, SProps, EventSpec> {
|
|
7
|
+
/**
|
|
8
|
+
* For functionalities on keyDown
|
|
9
|
+
* Map a special key to a function of the instance/prototype
|
|
10
|
+
* If you need different behavior for ESC or TAB or arrows, you have to change
|
|
11
|
+
* this map setting the name of a function that you build on the IText or
|
|
12
|
+
* your prototype.
|
|
13
|
+
* the map change will affect all Instances unless you need for only some text Instances
|
|
14
|
+
* in that case you have to clone this object and assign your Instance.
|
|
15
|
+
* this.keysMap = Object.assign({}, this.keysMap);
|
|
16
|
+
* The function must be in IText.prototype.myFunction And will receive event as args[0]
|
|
17
|
+
*/
|
|
18
|
+
keysMap: TKeyMapIText;
|
|
19
|
+
keysMapRtl: TKeyMapIText;
|
|
20
|
+
/**
|
|
21
|
+
* For functionalities on keyUp + ctrl || cmd
|
|
22
|
+
*/
|
|
23
|
+
ctrlKeysMapUp: TKeyMapIText;
|
|
24
|
+
/**
|
|
25
|
+
* For functionalities on keyDown + ctrl || cmd
|
|
26
|
+
*/
|
|
27
|
+
ctrlKeysMapDown: TKeyMapIText;
|
|
28
|
+
hiddenTextarea: HTMLTextAreaElement | null;
|
|
29
|
+
/**
|
|
30
|
+
* DOM container to append the hiddenTextarea.
|
|
31
|
+
* An alternative to attaching to the document.body.
|
|
32
|
+
* Useful to reduce laggish redraw of the full document.body tree and
|
|
33
|
+
* also with modals event capturing that won't let the textarea take focus.
|
|
34
|
+
* @type HTMLElement
|
|
35
|
+
* @default
|
|
36
|
+
*/
|
|
37
|
+
hiddenTextareaContainer?: HTMLElement | null;
|
|
38
|
+
private _clickHandlerInitialized;
|
|
39
|
+
private _copyDone;
|
|
40
|
+
private fromPaste;
|
|
41
|
+
/**
|
|
42
|
+
* Initializes hidden textarea (needed to bring up keyboard in iOS)
|
|
43
|
+
*/
|
|
44
|
+
initHiddenTextarea(): void;
|
|
45
|
+
onClick(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Override this method to customize cursor behavior on textbox blur
|
|
48
|
+
*/
|
|
49
|
+
blur(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Handles keydown event
|
|
52
|
+
* only used for arrows and combination of modifier keys.
|
|
53
|
+
* @param {KeyboardEvent} e Event object
|
|
54
|
+
*/
|
|
55
|
+
onKeyDown(e: KeyboardEvent): void;
|
|
56
|
+
/**
|
|
57
|
+
* Handles keyup event
|
|
58
|
+
* We handle KeyUp because ie11 and edge have difficulties copy/pasting
|
|
59
|
+
* if a copy/cut event fired, keyup is dismissed
|
|
60
|
+
* @param {KeyboardEvent} e Event object
|
|
61
|
+
*/
|
|
62
|
+
onKeyUp(e: KeyboardEvent): void;
|
|
63
|
+
/**
|
|
64
|
+
* Handles onInput event
|
|
65
|
+
* @param {Event} e Event object
|
|
66
|
+
*/
|
|
67
|
+
onInput(e: Event): void;
|
|
68
|
+
/**
|
|
69
|
+
* Composition start
|
|
70
|
+
*/
|
|
71
|
+
onCompositionStart(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Composition end
|
|
74
|
+
*/
|
|
75
|
+
onCompositionEnd(): void;
|
|
76
|
+
onCompositionUpdate(e: any): void;
|
|
77
|
+
/**
|
|
78
|
+
* Copies selected text
|
|
79
|
+
*/
|
|
80
|
+
copy(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Pastes text
|
|
83
|
+
*/
|
|
84
|
+
paste(): void;
|
|
85
|
+
/**
|
|
86
|
+
* Finds the width in pixels before the cursor on the same line
|
|
87
|
+
* @private
|
|
88
|
+
* @param {Number} lineIndex
|
|
89
|
+
* @param {Number} charIndex
|
|
90
|
+
* @return {Number} widthBeforeCursor width before cursor
|
|
91
|
+
*/
|
|
92
|
+
_getWidthBeforeCursor(lineIndex: number, charIndex: number): number;
|
|
93
|
+
/**
|
|
94
|
+
* Gets start offset of a selection
|
|
95
|
+
* @param {TPointerEvent} e Event object
|
|
96
|
+
* @param {Boolean} isRight
|
|
97
|
+
* @return {Number}
|
|
98
|
+
*/
|
|
99
|
+
getDownCursorOffset(e: KeyboardEvent, isRight: boolean): number;
|
|
100
|
+
/**
|
|
101
|
+
* private
|
|
102
|
+
* Helps finding if the offset should be counted from Start or End
|
|
103
|
+
* @param {KeyboardEvent} e Event object
|
|
104
|
+
* @param {Boolean} isRight
|
|
105
|
+
* @return {Number}
|
|
106
|
+
*/
|
|
107
|
+
_getSelectionForOffset(e: KeyboardEvent, isRight: boolean): number;
|
|
108
|
+
/**
|
|
109
|
+
* @param {KeyboardEvent} e Event object
|
|
110
|
+
* @param {Boolean} isRight
|
|
111
|
+
* @return {Number}
|
|
112
|
+
*/
|
|
113
|
+
getUpCursorOffset(e: KeyboardEvent, isRight: boolean): number;
|
|
114
|
+
/**
|
|
115
|
+
* for a given width it founds the matching character.
|
|
116
|
+
* @private
|
|
117
|
+
*/
|
|
118
|
+
_getIndexOnLine(lineIndex: number, width: number): number;
|
|
119
|
+
/**
|
|
120
|
+
* Moves cursor down
|
|
121
|
+
* @param {TPointerEvent} e Event object
|
|
122
|
+
*/
|
|
123
|
+
moveCursorDown(e: TPointerEvent): void;
|
|
124
|
+
/**
|
|
125
|
+
* Moves cursor up
|
|
126
|
+
* @param {TPointerEvent} e Event object
|
|
127
|
+
*/
|
|
128
|
+
moveCursorUp(e: TPointerEvent): void;
|
|
129
|
+
/**
|
|
130
|
+
* Moves cursor up or down, fires the events
|
|
131
|
+
* @param {String} direction 'Up' or 'Down'
|
|
132
|
+
* @param {TPointerEvent} e Event object
|
|
133
|
+
*/
|
|
134
|
+
_moveCursorUpOrDown(direction: 'Up' | 'Down', e: TPointerEvent): void;
|
|
135
|
+
/**
|
|
136
|
+
* Moves cursor with shift
|
|
137
|
+
* @param {Number} offset
|
|
138
|
+
*/
|
|
139
|
+
moveCursorWithShift(offset: number): boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Moves cursor up without shift
|
|
142
|
+
* @param {Number} offset
|
|
143
|
+
*/
|
|
144
|
+
moveCursorWithoutShift(offset: number): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Moves cursor left
|
|
147
|
+
* @param {TPointerEvent} e Event object
|
|
148
|
+
*/
|
|
149
|
+
moveCursorLeft(e: TPointerEvent): void;
|
|
150
|
+
/**
|
|
151
|
+
* @private
|
|
152
|
+
* @return {Boolean} true if a change happened
|
|
153
|
+
*/
|
|
154
|
+
_move(e: any, prop: any, direction: any): boolean;
|
|
155
|
+
/**
|
|
156
|
+
* @private
|
|
157
|
+
*/
|
|
158
|
+
_moveLeft(e: any, prop: any): boolean;
|
|
159
|
+
/**
|
|
160
|
+
* @private
|
|
161
|
+
*/
|
|
162
|
+
_moveRight(e: any, prop: any): boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Moves cursor left without keeping selection
|
|
165
|
+
* @param {TPointerEvent} e
|
|
166
|
+
*/
|
|
167
|
+
moveCursorLeftWithoutShift(e: TPointerEvent): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Moves cursor left while keeping selection
|
|
170
|
+
* @param {TPointerEvent} e
|
|
171
|
+
*/
|
|
172
|
+
moveCursorLeftWithShift(e: TPointerEvent): boolean | undefined;
|
|
173
|
+
/**
|
|
174
|
+
* Moves cursor right
|
|
175
|
+
* @param {TPointerEvent} e Event object
|
|
176
|
+
*/
|
|
177
|
+
moveCursorRight(e: TPointerEvent): void;
|
|
178
|
+
/**
|
|
179
|
+
* Moves cursor right or Left, fires event
|
|
180
|
+
* @param {String} direction 'Left', 'Right'
|
|
181
|
+
* @param {TPointerEvent} e Event object
|
|
182
|
+
*/
|
|
183
|
+
_moveCursorLeftOrRight(direction: string, e: TPointerEvent): void;
|
|
184
|
+
/**
|
|
185
|
+
* Moves cursor right while keeping selection
|
|
186
|
+
* @param {TPointerEvent} e
|
|
187
|
+
*/
|
|
188
|
+
moveCursorRightWithShift(e: TPointerEvent): boolean | undefined;
|
|
189
|
+
/**
|
|
190
|
+
* Moves cursor right without keeping selection
|
|
191
|
+
* @param {TPointerEvent} e Event object
|
|
192
|
+
*/
|
|
193
|
+
moveCursorRightWithoutShift(e: TPointerEvent): boolean;
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=ITextKeyBehavior.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IText } from './IText';
|
|
2
|
+
export type TKeyMapIText = Record<KeyboardEvent['keyCode'], keyof IText>;
|
|
3
|
+
export declare const keysMap: TKeyMapIText;
|
|
4
|
+
export declare const keysMapRtl: TKeyMapIText;
|
|
5
|
+
/**
|
|
6
|
+
* For functionalities on keyUp + ctrl || cmd
|
|
7
|
+
*/
|
|
8
|
+
export declare const ctrlKeysMapUp: TKeyMapIText;
|
|
9
|
+
/**
|
|
10
|
+
* For functionalities on keyDown + ctrl || cmd
|
|
11
|
+
*/
|
|
12
|
+
export declare const ctrlKeysMapDown: TKeyMapIText;
|
|
13
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
import type { BaseFilter } from '../filters/BaseFilter';
|
|
2
|
+
import { TClassProperties, TSize } from '../typedefs';
|
|
3
|
+
import { LoadImageOptions } from '../util/misc/objectEnlive';
|
|
4
|
+
import { FabricObject } from './Object/FabricObject';
|
|
5
|
+
import type { FabricObjectProps, SerializedObjectProps, TProps } from './Object/types';
|
|
6
|
+
import type { ObjectEvents } from '../EventTypeDefs';
|
|
7
|
+
export type ImageSource = HTMLImageElement | HTMLVideoElement | HTMLCanvasElement;
|
|
8
|
+
interface UniqueImageProps {
|
|
9
|
+
srcFromAttribute: boolean;
|
|
10
|
+
minimumScaleTrigger: number;
|
|
11
|
+
cropX: number;
|
|
12
|
+
cropY: number;
|
|
13
|
+
imageSmoothing: boolean;
|
|
14
|
+
crossOrigin: string | null;
|
|
15
|
+
filters: BaseFilter[];
|
|
16
|
+
resizeFilter?: BaseFilter;
|
|
17
|
+
}
|
|
18
|
+
export declare const imageDefaultValues: Partial<UniqueImageProps> & Partial<FabricObjectProps>;
|
|
19
|
+
export interface SerializedImageProps extends SerializedObjectProps {
|
|
20
|
+
src: string;
|
|
21
|
+
crossOrigin: string | null;
|
|
22
|
+
filters: any[];
|
|
23
|
+
resizeFilter?: any;
|
|
24
|
+
cropX: number;
|
|
25
|
+
cropY: number;
|
|
26
|
+
}
|
|
27
|
+
export interface ImageProps extends FabricObjectProps, UniqueImageProps {
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @tutorial {@link http://fabricjs.com/fabric-intro-part-1#images}
|
|
31
|
+
*/
|
|
32
|
+
export declare class Image<Props extends TProps<ImageProps> = Partial<ImageProps>, SProps extends SerializedImageProps = SerializedImageProps, EventSpec extends ObjectEvents = ObjectEvents> extends FabricObject<Props, SProps, EventSpec> implements ImageProps {
|
|
33
|
+
/**
|
|
34
|
+
* When calling {@link Image.getSrc}, return value from element src with `element.getAttribute('src')`.
|
|
35
|
+
* This allows for relative urls as image src.
|
|
36
|
+
* @since 2.7.0
|
|
37
|
+
* @type Boolean
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
srcFromAttribute: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* private
|
|
43
|
+
* contains last value of scaleX to detect
|
|
44
|
+
* if the Image got resized after the last Render
|
|
45
|
+
* @type Number
|
|
46
|
+
*/
|
|
47
|
+
protected _lastScaleX: number;
|
|
48
|
+
/**
|
|
49
|
+
* private
|
|
50
|
+
* contains last value of scaleY to detect
|
|
51
|
+
* if the Image got resized after the last Render
|
|
52
|
+
* @type Number
|
|
53
|
+
*/
|
|
54
|
+
protected _lastScaleY: number;
|
|
55
|
+
/**
|
|
56
|
+
* private
|
|
57
|
+
* contains last value of scaling applied by the apply filter chain
|
|
58
|
+
* @type Number
|
|
59
|
+
*/
|
|
60
|
+
protected _filterScalingX: number;
|
|
61
|
+
/**
|
|
62
|
+
* private
|
|
63
|
+
* contains last value of scaling applied by the apply filter chain
|
|
64
|
+
* @type Number
|
|
65
|
+
*/
|
|
66
|
+
protected _filterScalingY: number;
|
|
67
|
+
/**
|
|
68
|
+
* minimum scale factor under which any resizeFilter is triggered to resize the image
|
|
69
|
+
* 0 will disable the automatic resize. 1 will trigger automatically always.
|
|
70
|
+
* number bigger than 1 are not implemented yet.
|
|
71
|
+
* @type Number
|
|
72
|
+
*/
|
|
73
|
+
minimumScaleTrigger: number;
|
|
74
|
+
/**
|
|
75
|
+
* key used to retrieve the texture representing this image
|
|
76
|
+
* @since 2.0.0
|
|
77
|
+
* @type String
|
|
78
|
+
* @default
|
|
79
|
+
*/
|
|
80
|
+
cacheKey: string;
|
|
81
|
+
/**
|
|
82
|
+
* Image crop in pixels from original image size.
|
|
83
|
+
* @since 2.0.0
|
|
84
|
+
* @type Number
|
|
85
|
+
* @default
|
|
86
|
+
*/
|
|
87
|
+
cropX: number;
|
|
88
|
+
/**
|
|
89
|
+
* Image crop in pixels from original image size.
|
|
90
|
+
* @since 2.0.0
|
|
91
|
+
* @type Number
|
|
92
|
+
* @default
|
|
93
|
+
*/
|
|
94
|
+
cropY: number;
|
|
95
|
+
/**
|
|
96
|
+
* Indicates whether this canvas will use image smoothing when painting this image.
|
|
97
|
+
* Also influence if the cacheCanvas for this image uses imageSmoothing
|
|
98
|
+
* @since 4.0.0-beta.11
|
|
99
|
+
* @type Boolean
|
|
100
|
+
* @default
|
|
101
|
+
*/
|
|
102
|
+
imageSmoothing: boolean;
|
|
103
|
+
preserveAspectRatio: string;
|
|
104
|
+
protected src: string;
|
|
105
|
+
filters: BaseFilter[];
|
|
106
|
+
resizeFilter: BaseFilter;
|
|
107
|
+
protected _element: ImageSource;
|
|
108
|
+
protected _originalElement: ImageSource;
|
|
109
|
+
protected _filteredEl: ImageSource;
|
|
110
|
+
static cacheProperties: string[];
|
|
111
|
+
static ownDefaults: Record<string, any>;
|
|
112
|
+
static getDefaults(): {
|
|
113
|
+
[x: string]: any;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Constructor
|
|
117
|
+
* Image can be initialized with any canvas drawable or a string.
|
|
118
|
+
* The string should be a url and will be loaded as an image.
|
|
119
|
+
* Canvas and Image element work out of the box, while videos require extra code to work.
|
|
120
|
+
* Please check video element events for seeking.
|
|
121
|
+
* @param {ImageSource | string} element Image element
|
|
122
|
+
* @param {Object} [options] Options object
|
|
123
|
+
*/
|
|
124
|
+
constructor(elementId: string, options: Props);
|
|
125
|
+
constructor(element: ImageSource, options: Props);
|
|
126
|
+
/**
|
|
127
|
+
* Returns image element which this instance if based on
|
|
128
|
+
*/
|
|
129
|
+
getElement(): ImageSource;
|
|
130
|
+
/**
|
|
131
|
+
* Sets image element for this instance to a specified one.
|
|
132
|
+
* If filters defined they are applied to new image.
|
|
133
|
+
* You might need to call `canvas.renderAll` and `object.setCoords` after replacing, to render new image and update controls area.
|
|
134
|
+
* @param {HTMLImageElement} element
|
|
135
|
+
* @param {Partial<TSize>} [size] Options object
|
|
136
|
+
*/
|
|
137
|
+
setElement(element: ImageSource, size?: Partial<TSize>): void;
|
|
138
|
+
/**
|
|
139
|
+
* Delete a single texture if in webgl mode
|
|
140
|
+
*/
|
|
141
|
+
removeTexture(key: string): void;
|
|
142
|
+
/**
|
|
143
|
+
* Delete textures, reference to elements and eventually JSDOM cleanup
|
|
144
|
+
*/
|
|
145
|
+
dispose(): void;
|
|
146
|
+
/**
|
|
147
|
+
* Get the crossOrigin value (of the corresponding image element)
|
|
148
|
+
*/
|
|
149
|
+
getCrossOrigin(): string | null;
|
|
150
|
+
/**
|
|
151
|
+
* Returns original size of an image
|
|
152
|
+
*/
|
|
153
|
+
getOriginalSize(): {
|
|
154
|
+
width: any;
|
|
155
|
+
height: any;
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* @private
|
|
159
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
160
|
+
*/
|
|
161
|
+
_stroke(ctx: CanvasRenderingContext2D): void;
|
|
162
|
+
/**
|
|
163
|
+
* Returns object representation of an instance
|
|
164
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
165
|
+
* @return {Object} Object representation of an instance
|
|
166
|
+
*/
|
|
167
|
+
toObject<T extends Omit<Props & TClassProperties<this>, keyof SProps>, K extends keyof T = never>(propertiesToInclude?: K[]): Pick<T, K> & SProps;
|
|
168
|
+
/**
|
|
169
|
+
* Returns true if an image has crop applied, inspecting values of cropX,cropY,width,height.
|
|
170
|
+
* @return {Boolean}
|
|
171
|
+
*/
|
|
172
|
+
hasCrop(): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Returns svg representation of an instance
|
|
175
|
+
* @return {string[]} an array of strings with the specific svg representation
|
|
176
|
+
* of the instance
|
|
177
|
+
*/
|
|
178
|
+
_toSVG(): string[];
|
|
179
|
+
/**
|
|
180
|
+
* Returns source of an image
|
|
181
|
+
* @param {Boolean} filtered indicates if the src is needed for svg
|
|
182
|
+
* @return {String} Source of an image
|
|
183
|
+
*/
|
|
184
|
+
getSrc(filtered?: boolean): string;
|
|
185
|
+
/**
|
|
186
|
+
* Alias for getSrc
|
|
187
|
+
* @param filtered
|
|
188
|
+
* @deprecated
|
|
189
|
+
*/
|
|
190
|
+
getSvgSrc(filtered?: boolean): string;
|
|
191
|
+
/**
|
|
192
|
+
* Loads and sets source of an image\
|
|
193
|
+
* **IMPORTANT**: It is recommended to abort loading tasks before calling this method to prevent race conditions and unnecessary networking
|
|
194
|
+
* @param {String} src Source string (URL)
|
|
195
|
+
* @param {LoadImageOptions} [options] Options object
|
|
196
|
+
*/
|
|
197
|
+
setSrc(src: string, { crossOrigin, signal }?: LoadImageOptions): Promise<void>;
|
|
198
|
+
/**
|
|
199
|
+
* Returns string representation of an instance
|
|
200
|
+
* @return {String} String representation of an instance
|
|
201
|
+
*/
|
|
202
|
+
toString(): string;
|
|
203
|
+
applyResizeFilters(): void;
|
|
204
|
+
/**
|
|
205
|
+
* Applies filters assigned to this image (from "filters" array) or from filter param
|
|
206
|
+
* @method applyFilters
|
|
207
|
+
* @param {Array} filters to be applied
|
|
208
|
+
* @param {Boolean} forResizing specify if the filter operation is a resize operation
|
|
209
|
+
*/
|
|
210
|
+
applyFilters(filters?: BaseFilter[]): void;
|
|
211
|
+
/**
|
|
212
|
+
* @private
|
|
213
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
214
|
+
*/
|
|
215
|
+
_render(ctx: CanvasRenderingContext2D): void;
|
|
216
|
+
/**
|
|
217
|
+
* Paint the cached copy of the object on the target context.
|
|
218
|
+
* it will set the imageSmoothing for the draw operation
|
|
219
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
220
|
+
*/
|
|
221
|
+
drawCacheOnCanvas(ctx: CanvasRenderingContext2D): void;
|
|
222
|
+
/**
|
|
223
|
+
* Decide if the object should cache or not. Create its own cache level
|
|
224
|
+
* needsItsOwnCache should be used when the object drawing method requires
|
|
225
|
+
* a cache step. None of the fabric classes requires it.
|
|
226
|
+
* Generally you do not cache objects in groups because the group outside is cached.
|
|
227
|
+
* This is the special image version where we would like to avoid caching where possible.
|
|
228
|
+
* Essentially images do not benefit from caching. They may require caching, and in that
|
|
229
|
+
* case we do it. Also caching an image usually ends in a loss of details.
|
|
230
|
+
* A full performance audit should be done.
|
|
231
|
+
* @return {Boolean}
|
|
232
|
+
*/
|
|
233
|
+
shouldCache(): boolean;
|
|
234
|
+
_renderFill(ctx: CanvasRenderingContext2D): void;
|
|
235
|
+
/**
|
|
236
|
+
* needed to check if image needs resize
|
|
237
|
+
* @private
|
|
238
|
+
*/
|
|
239
|
+
_needsResize(): boolean;
|
|
240
|
+
/**
|
|
241
|
+
* @private
|
|
242
|
+
* @deprecated unused
|
|
243
|
+
*/
|
|
244
|
+
_resetWidthHeight(): void;
|
|
245
|
+
/**
|
|
246
|
+
* @private
|
|
247
|
+
* Set the width and the height of the image object, using the element or the
|
|
248
|
+
* options.
|
|
249
|
+
*/
|
|
250
|
+
_setWidthHeight({ width, height }?: Partial<TSize>): void;
|
|
251
|
+
/**
|
|
252
|
+
* Calculate offset for center and scale factor for the image in order to respect
|
|
253
|
+
* the preserveAspectRatio attribute
|
|
254
|
+
* @private
|
|
255
|
+
*/
|
|
256
|
+
parsePreserveAspectRatioAttribute(): {
|
|
257
|
+
width: number;
|
|
258
|
+
height: number;
|
|
259
|
+
scaleX: number;
|
|
260
|
+
scaleY: number;
|
|
261
|
+
offsetLeft: number;
|
|
262
|
+
offsetTop: number;
|
|
263
|
+
cropX: number;
|
|
264
|
+
cropY: number;
|
|
265
|
+
};
|
|
266
|
+
/**
|
|
267
|
+
* Default CSS class name for canvas
|
|
268
|
+
* @static
|
|
269
|
+
* @type String
|
|
270
|
+
* @default
|
|
271
|
+
*/
|
|
272
|
+
static CSS_CANVAS: string;
|
|
273
|
+
/**
|
|
274
|
+
* List of attribute names to account for when parsing SVG element (used by {@link Image.fromElement})
|
|
275
|
+
* @static
|
|
276
|
+
* @see {@link http://www.w3.org/TR/SVG/struct.html#ImageElement}
|
|
277
|
+
*/
|
|
278
|
+
static ATTRIBUTE_NAMES: string[];
|
|
279
|
+
/**
|
|
280
|
+
* Creates an instance of Image from its object representation
|
|
281
|
+
* @static
|
|
282
|
+
* @param {Object} object Object to create an instance from
|
|
283
|
+
* @param {object} [options] Options object
|
|
284
|
+
* @param {AbortSignal} [options.signal] handle aborting, see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal
|
|
285
|
+
* @returns {Promise<Image>}
|
|
286
|
+
*/
|
|
287
|
+
static fromObject<T extends TProps<SerializedImageProps>>({ filters: f, resizeFilter: rf, src, crossOrigin, ...object }: T, options: {
|
|
288
|
+
signal: AbortSignal;
|
|
289
|
+
}): Promise<Image<TProps<ImageProps>, SerializedImageProps, ObjectEvents>>;
|
|
290
|
+
/**
|
|
291
|
+
* Creates an instance of Image from an URL string
|
|
292
|
+
* @static
|
|
293
|
+
* @param {String} url URL to create an image from
|
|
294
|
+
* @param {LoadImageOptions} [options] Options object
|
|
295
|
+
* @returns {Promise<Image>}
|
|
296
|
+
*/
|
|
297
|
+
static fromURL<T extends TProps<SerializedImageProps>>(url: string, options?: T & LoadImageOptions): Promise<Image>;
|
|
298
|
+
/**
|
|
299
|
+
* Returns {@link Image} instance from an SVG element
|
|
300
|
+
* @static
|
|
301
|
+
* @param {SVGElement} element Element to parse
|
|
302
|
+
* @param {Object} [options] Options object
|
|
303
|
+
* @param {AbortSignal} [options.signal] handle aborting, see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal
|
|
304
|
+
* @param {Function} callback Callback to execute when Image object is created
|
|
305
|
+
*/
|
|
306
|
+
static fromElement(element: SVGElement, callback: (image: Image) => any, options?: {
|
|
307
|
+
signal?: AbortSignal;
|
|
308
|
+
}): void;
|
|
309
|
+
}
|
|
310
|
+
export {};
|
|
311
|
+
//# sourceMappingURL=Image.d.ts.map
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { TClassProperties } from '../typedefs';
|
|
2
|
+
import { FabricObject } from './Object/FabricObject';
|
|
3
|
+
import { Point } from '../Point';
|
|
4
|
+
import type { FabricObjectProps, SerializedObjectProps, TProps } from './Object/types';
|
|
5
|
+
import type { ObjectEvents } from '../EventTypeDefs';
|
|
6
|
+
interface UniqueLineProps {
|
|
7
|
+
x1: number;
|
|
8
|
+
x2: number;
|
|
9
|
+
y1: number;
|
|
10
|
+
y2: number;
|
|
11
|
+
}
|
|
12
|
+
export interface SerializedLineProps extends SerializedObjectProps, UniqueLineProps {
|
|
13
|
+
}
|
|
14
|
+
export declare class Line<Props extends TProps<FabricObjectProps> = Partial<FabricObjectProps>, SProps extends SerializedLineProps = SerializedLineProps, EventSpec extends ObjectEvents = ObjectEvents> extends FabricObject<Props, SProps, EventSpec> implements UniqueLineProps {
|
|
15
|
+
/**
|
|
16
|
+
* x value or first line edge
|
|
17
|
+
* @type number
|
|
18
|
+
* @default
|
|
19
|
+
*/
|
|
20
|
+
x1: number;
|
|
21
|
+
/**
|
|
22
|
+
* y value or first line edge
|
|
23
|
+
* @type number
|
|
24
|
+
* @default
|
|
25
|
+
*/
|
|
26
|
+
y1: number;
|
|
27
|
+
/**
|
|
28
|
+
* x value or second line edge
|
|
29
|
+
* @type number
|
|
30
|
+
* @default
|
|
31
|
+
*/
|
|
32
|
+
x2: number;
|
|
33
|
+
/**
|
|
34
|
+
* y value or second line edge
|
|
35
|
+
* @type number
|
|
36
|
+
* @default
|
|
37
|
+
*/
|
|
38
|
+
y2: number;
|
|
39
|
+
static cacheProperties: string[];
|
|
40
|
+
/**
|
|
41
|
+
* Constructor
|
|
42
|
+
* @param {Array} [points] Array of points
|
|
43
|
+
* @param {Object} [options] Options object
|
|
44
|
+
* @return {Line} thisArg
|
|
45
|
+
*/
|
|
46
|
+
constructor(points?: number[], options?: Props);
|
|
47
|
+
/**
|
|
48
|
+
* @private
|
|
49
|
+
* @param {Object} [options] Options
|
|
50
|
+
*/
|
|
51
|
+
_setWidthHeight({ left, top }?: Partial<Props>): void;
|
|
52
|
+
/**
|
|
53
|
+
* @private
|
|
54
|
+
* @param {String} key
|
|
55
|
+
* @param {*} value
|
|
56
|
+
*/
|
|
57
|
+
_set(key: string, value: any): this;
|
|
58
|
+
/**
|
|
59
|
+
* @private
|
|
60
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
61
|
+
*/
|
|
62
|
+
_render(ctx: CanvasRenderingContext2D): void;
|
|
63
|
+
/**
|
|
64
|
+
* This function is an helper for svg import. it returns the center of the object in the svg
|
|
65
|
+
* untransformed coordinates
|
|
66
|
+
* @private
|
|
67
|
+
* @return {Point} center point from element coordinates
|
|
68
|
+
*/
|
|
69
|
+
_findCenterFromElement(): Point;
|
|
70
|
+
/**
|
|
71
|
+
* Returns object representation of an instance
|
|
72
|
+
* @method toObject
|
|
73
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
74
|
+
* @return {Object} object representation of an instance
|
|
75
|
+
*/
|
|
76
|
+
toObject<T extends Omit<Props & TClassProperties<this>, keyof SProps>, K extends keyof T = never>(propertiesToInclude?: K[]): Pick<T, K> & SProps;
|
|
77
|
+
_getNonTransformedDimensions(): Point;
|
|
78
|
+
/**
|
|
79
|
+
* Recalculates line points given width and height
|
|
80
|
+
* @private
|
|
81
|
+
*/
|
|
82
|
+
calcLinePoints(): UniqueLineProps;
|
|
83
|
+
private makeEdgeToOriginGetter;
|
|
84
|
+
/**
|
|
85
|
+
* @private
|
|
86
|
+
* @return {Number} leftToOriginX Distance from left edge of canvas to originX of Line.
|
|
87
|
+
*/
|
|
88
|
+
_getLeftToOriginX(): number;
|
|
89
|
+
/**
|
|
90
|
+
* @private
|
|
91
|
+
* @return {Number} leftToOriginX Distance from left edge of canvas to originX of Line.
|
|
92
|
+
*/
|
|
93
|
+
_getTopToOriginY(): number;
|
|
94
|
+
/**
|
|
95
|
+
* Returns svg representation of an instance
|
|
96
|
+
* @return {Array} an array of strings with the specific svg representation
|
|
97
|
+
* of the instance
|
|
98
|
+
*/
|
|
99
|
+
_toSVG(): (string | number)[];
|
|
100
|
+
/**
|
|
101
|
+
* List of attribute names to account for when parsing SVG element (used by {@link Line.fromElement})
|
|
102
|
+
* @static
|
|
103
|
+
* @memberOf Line
|
|
104
|
+
* @see http://www.w3.org/TR/SVG/shapes.html#LineElement
|
|
105
|
+
*/
|
|
106
|
+
static ATTRIBUTE_NAMES: string[];
|
|
107
|
+
/**
|
|
108
|
+
* Returns Line instance from an SVG element
|
|
109
|
+
* @static
|
|
110
|
+
* @memberOf Line
|
|
111
|
+
* @param {SVGElement} element Element to parse
|
|
112
|
+
* @param {Object} [options] Options object
|
|
113
|
+
* @param {Function} [callback] callback function invoked after parsing
|
|
114
|
+
*/
|
|
115
|
+
static fromElement(element: SVGElement, callback: (line: Line) => any): void;
|
|
116
|
+
/**
|
|
117
|
+
* Returns Line instance from an object representation
|
|
118
|
+
* @static
|
|
119
|
+
* @memberOf Line
|
|
120
|
+
* @param {Object} object Object to create an instance from
|
|
121
|
+
* @returns {Promise<Line>}
|
|
122
|
+
*/
|
|
123
|
+
static fromObject<T extends TProps<SerializedLineProps>>({ x1, y1, x2, y2, ...object }: T): Promise<Line<Partial<FabricObjectProps>, SerializedLineProps, ObjectEvents>>;
|
|
124
|
+
}
|
|
125
|
+
export {};
|
|
126
|
+
//# sourceMappingURL=Line.d.ts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { TColorArg } from '../../color/Color';
|
|
2
|
+
import { ObjectEvents } from '../../EventTypeDefs';
|
|
3
|
+
import { TAnimation } from '../../util/animation/animate';
|
|
4
|
+
import type { AnimationOptions } from '../../util/animation/types';
|
|
5
|
+
import { StackedObject } from './StackedObject';
|
|
6
|
+
export declare abstract class AnimatableObject<EventSpec extends ObjectEvents = ObjectEvents> extends StackedObject<EventSpec> {
|
|
7
|
+
/**
|
|
8
|
+
* List of properties to consider for animating colors.
|
|
9
|
+
* @type String[]
|
|
10
|
+
*/
|
|
11
|
+
colorProperties: string[];
|
|
12
|
+
/**
|
|
13
|
+
* Animates object's properties
|
|
14
|
+
* @param {Record<string, number | number[] | TColorArg>} animatable map of keys and end values
|
|
15
|
+
* @param {Partial<AnimationOptions<T>>} options
|
|
16
|
+
* @tutorial {@link http://fabricjs.com/fabric-intro-part-2#animation}
|
|
17
|
+
* @return {Record<string, TAnimation<T>>} map of animation contexts
|
|
18
|
+
*
|
|
19
|
+
* As object — multiple properties
|
|
20
|
+
*
|
|
21
|
+
* object.animate({ left: ..., top: ... });
|
|
22
|
+
* object.animate({ left: ..., top: ... }, { duration: ... });
|
|
23
|
+
*/
|
|
24
|
+
animate<T extends number | number[] | TColorArg>(animatable: Record<string, T>, options?: Partial<AnimationOptions<T>>): Record<string, TAnimation<T>>;
|
|
25
|
+
/**
|
|
26
|
+
* @private
|
|
27
|
+
* @param {String} key Property to animate
|
|
28
|
+
* @param {String} to Value to animate to
|
|
29
|
+
* @param {Object} [options] Options object
|
|
30
|
+
*/
|
|
31
|
+
_animate<T extends number | number[] | TColorArg>(key: string, endValue: T, options?: Partial<AnimationOptions<T>>): TAnimation<T>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=AnimatableObject.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ObjectEvents } from '../../EventTypeDefs';
|
|
2
|
+
import { FabricObjectSVGExportMixin } from './FabricObjectSVGExportMixin';
|
|
3
|
+
import { InteractiveFabricObject } from './InteractiveObject';
|
|
4
|
+
import { FabricObjectProps } from './types/FabricObjectProps';
|
|
5
|
+
import { TFabricObjectProps, SerializedObjectProps } from './types';
|
|
6
|
+
export interface FabricObject<Props extends TFabricObjectProps = Partial<FabricObjectProps>, SProps extends SerializedObjectProps = SerializedObjectProps, EventSpec extends ObjectEvents = ObjectEvents> extends FabricObjectSVGExportMixin {
|
|
7
|
+
}
|
|
8
|
+
export declare class FabricObject<Props extends TFabricObjectProps = Partial<FabricObjectProps>, SProps extends SerializedObjectProps = SerializedObjectProps, EventSpec extends ObjectEvents = ObjectEvents> extends InteractiveFabricObject<Props, SProps, EventSpec> {
|
|
9
|
+
}
|
|
10
|
+
export { cacheProperties } from './defaultValues';
|
|
11
|
+
//# sourceMappingURL=FabricObject.d.ts.map
|