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,113 @@
|
|
|
1
|
+
import { TCrossOrigin, TMat2D, TSize } from './typedefs';
|
|
2
|
+
export type TPatternRepeat = 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat';
|
|
3
|
+
type TExportedKeys = 'crossOrigin' | 'offsetX' | 'offsetY' | 'patternTransform' | 'repeat' | 'source';
|
|
4
|
+
export type TPatternOptions = Partial<Pick<Pattern, TExportedKeys>>;
|
|
5
|
+
export type TPatternSerialized = TPatternOptions & {
|
|
6
|
+
source: string;
|
|
7
|
+
};
|
|
8
|
+
export type TPatternHydrationOptions = {
|
|
9
|
+
/**
|
|
10
|
+
* handle aborting
|
|
11
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal
|
|
12
|
+
*/
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
};
|
|
15
|
+
type TImageSource = {
|
|
16
|
+
source: HTMLImageElement;
|
|
17
|
+
};
|
|
18
|
+
type TCanvasSource = {
|
|
19
|
+
source: HTMLCanvasElement;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* @see {@link http://fabricjs.com/patterns demo}
|
|
23
|
+
* @see {@link http://fabricjs.com/dynamic-patterns demo}
|
|
24
|
+
*/
|
|
25
|
+
export declare class Pattern {
|
|
26
|
+
/**
|
|
27
|
+
* Legacy identifier of the class. Prefer using this.constructor.name 'Pattern'
|
|
28
|
+
* or utils like isPattern
|
|
29
|
+
* Will be removed in fabric 7 or 8.
|
|
30
|
+
* @TODO add sustainable warning message
|
|
31
|
+
* @type string
|
|
32
|
+
* @deprecated
|
|
33
|
+
*/
|
|
34
|
+
get type(): string;
|
|
35
|
+
set type(value: string);
|
|
36
|
+
/**
|
|
37
|
+
* @type TPatternRepeat
|
|
38
|
+
* @defaults
|
|
39
|
+
*/
|
|
40
|
+
repeat: TPatternRepeat;
|
|
41
|
+
/**
|
|
42
|
+
* Pattern horizontal offset from object's left/top corner
|
|
43
|
+
* @type Number
|
|
44
|
+
* @default
|
|
45
|
+
*/
|
|
46
|
+
offsetX: number;
|
|
47
|
+
/**
|
|
48
|
+
* Pattern vertical offset from object's left/top corner
|
|
49
|
+
* @type Number
|
|
50
|
+
* @default
|
|
51
|
+
*/
|
|
52
|
+
offsetY: number;
|
|
53
|
+
/**
|
|
54
|
+
* @type TCrossOrigin
|
|
55
|
+
* @default
|
|
56
|
+
*/
|
|
57
|
+
crossOrigin: TCrossOrigin;
|
|
58
|
+
/**
|
|
59
|
+
* transform matrix to change the pattern, imported from svgs.
|
|
60
|
+
* @todo verify if using the identity matrix as default makes the rest of the code more easy
|
|
61
|
+
* @type Array
|
|
62
|
+
* @default
|
|
63
|
+
*/
|
|
64
|
+
patternTransform: TMat2D | null;
|
|
65
|
+
/**
|
|
66
|
+
* The actual pixel source of the pattern
|
|
67
|
+
*/
|
|
68
|
+
source: CanvasImageSource;
|
|
69
|
+
/**
|
|
70
|
+
* If true, this object will not be exported during the serialization of a canvas
|
|
71
|
+
* @type boolean
|
|
72
|
+
*/
|
|
73
|
+
excludeFromExport?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* ID used for SVG export functionalities
|
|
76
|
+
* @type number
|
|
77
|
+
*/
|
|
78
|
+
readonly id: number;
|
|
79
|
+
/**
|
|
80
|
+
* Constructor
|
|
81
|
+
* @param {Object} [options] Options object
|
|
82
|
+
* @param {option.source} [source] the pattern source, eventually empty or a drawable
|
|
83
|
+
*/
|
|
84
|
+
constructor(options?: TPatternOptions);
|
|
85
|
+
/**
|
|
86
|
+
* @returns true if {@link source} is an <img> element
|
|
87
|
+
*/
|
|
88
|
+
isImageSource(): this is TImageSource;
|
|
89
|
+
/**
|
|
90
|
+
* @returns true if {@link source} is a <canvas> element
|
|
91
|
+
*/
|
|
92
|
+
isCanvasSource(): this is TCanvasSource;
|
|
93
|
+
sourceToString(): string;
|
|
94
|
+
/**
|
|
95
|
+
* Returns an instance of CanvasPattern
|
|
96
|
+
* @param {CanvasRenderingContext2D} ctx Context to create pattern
|
|
97
|
+
* @return {CanvasPattern}
|
|
98
|
+
*/
|
|
99
|
+
toLive(ctx: CanvasRenderingContext2D): CanvasPattern | null;
|
|
100
|
+
/**
|
|
101
|
+
* Returns object representation of a pattern
|
|
102
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
103
|
+
* @return {object} Object representation of a pattern instance
|
|
104
|
+
*/
|
|
105
|
+
toObject(propertiesToInclude?: string[]): Record<string, any>;
|
|
106
|
+
/**
|
|
107
|
+
* Returns SVG representation of a pattern
|
|
108
|
+
*/
|
|
109
|
+
toSVG({ width, height }: TSize): string;
|
|
110
|
+
static fromObject({ source, ...serialized }: TPatternSerialized, options: TPatternHydrationOptions): Promise<Pattern>;
|
|
111
|
+
}
|
|
112
|
+
export {};
|
|
113
|
+
//# sourceMappingURL=Pattern.d.ts.map
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { TMat2D, TRadian } from './typedefs';
|
|
2
|
+
export interface XY {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Adaptation of work of Kevin Lindsey(kevin@kevlindev.com)
|
|
8
|
+
*/
|
|
9
|
+
export declare class Point implements XY {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
constructor();
|
|
13
|
+
constructor(x: number, y: number);
|
|
14
|
+
constructor(point: XY);
|
|
15
|
+
/**
|
|
16
|
+
* Adds another point to this one and returns another one
|
|
17
|
+
* @param {XY} that
|
|
18
|
+
* @return {Point} new Point instance with added values
|
|
19
|
+
*/
|
|
20
|
+
add(that: XY): Point;
|
|
21
|
+
/**
|
|
22
|
+
* Adds another point to this one
|
|
23
|
+
* @param {XY} that
|
|
24
|
+
* @return {Point} thisArg
|
|
25
|
+
* @chainable
|
|
26
|
+
* @deprecated
|
|
27
|
+
*/
|
|
28
|
+
addEquals(that: XY): Point;
|
|
29
|
+
/**
|
|
30
|
+
* Adds value to this point and returns a new one
|
|
31
|
+
* @param {Number} scalar
|
|
32
|
+
* @return {Point} new Point with added value
|
|
33
|
+
*/
|
|
34
|
+
scalarAdd(scalar: number): Point;
|
|
35
|
+
/**
|
|
36
|
+
* Adds value to this point
|
|
37
|
+
* @param {Number} scalar
|
|
38
|
+
* @return {Point} thisArg
|
|
39
|
+
* @chainable
|
|
40
|
+
* @deprecated
|
|
41
|
+
*/
|
|
42
|
+
scalarAddEquals(scalar: number): Point;
|
|
43
|
+
/**
|
|
44
|
+
* Subtracts another point from this point and returns a new one
|
|
45
|
+
* @param {XY} that
|
|
46
|
+
* @return {Point} new Point object with subtracted values
|
|
47
|
+
*/
|
|
48
|
+
subtract(that: XY): Point;
|
|
49
|
+
/**
|
|
50
|
+
* Subtracts another point from this point
|
|
51
|
+
* @param {XY} that
|
|
52
|
+
* @return {Point} thisArg
|
|
53
|
+
* @chainable
|
|
54
|
+
* @deprecated
|
|
55
|
+
*/
|
|
56
|
+
subtractEquals(that: XY): Point;
|
|
57
|
+
/**
|
|
58
|
+
* Subtracts value from this point and returns a new one
|
|
59
|
+
* @param {Number} scalar
|
|
60
|
+
* @return {Point}
|
|
61
|
+
*/
|
|
62
|
+
scalarSubtract(scalar: number): Point;
|
|
63
|
+
/**
|
|
64
|
+
* Subtracts value from this point
|
|
65
|
+
* @param {Number} scalar
|
|
66
|
+
* @return {Point} thisArg
|
|
67
|
+
* @chainable
|
|
68
|
+
* @deprecated
|
|
69
|
+
*/
|
|
70
|
+
scalarSubtractEquals(scalar: number): Point;
|
|
71
|
+
/**
|
|
72
|
+
* Multiplies this point by another value and returns a new one
|
|
73
|
+
* @param {XY} that
|
|
74
|
+
* @return {Point}
|
|
75
|
+
*/
|
|
76
|
+
multiply(that: XY): Point;
|
|
77
|
+
/**
|
|
78
|
+
* Multiplies this point by a value and returns a new one
|
|
79
|
+
* @param {Number} scalar
|
|
80
|
+
* @return {Point}
|
|
81
|
+
*/
|
|
82
|
+
scalarMultiply(scalar: number): Point;
|
|
83
|
+
/**
|
|
84
|
+
* Multiplies this point by a value
|
|
85
|
+
* @param {Number} scalar
|
|
86
|
+
* @return {Point} thisArg
|
|
87
|
+
* @chainable
|
|
88
|
+
* @deprecated
|
|
89
|
+
*/
|
|
90
|
+
scalarMultiplyEquals(scalar: number): Point;
|
|
91
|
+
/**
|
|
92
|
+
* Divides this point by another and returns a new one
|
|
93
|
+
* @param {XY} that
|
|
94
|
+
* @return {Point}
|
|
95
|
+
*/
|
|
96
|
+
divide(that: XY): Point;
|
|
97
|
+
/**
|
|
98
|
+
* Divides this point by a value and returns a new one
|
|
99
|
+
* @param {Number} scalar
|
|
100
|
+
* @return {Point}
|
|
101
|
+
*/
|
|
102
|
+
scalarDivide(scalar: number): Point;
|
|
103
|
+
/**
|
|
104
|
+
* Divides this point by a value
|
|
105
|
+
* @param {Number} scalar
|
|
106
|
+
* @return {Point} thisArg
|
|
107
|
+
* @chainable
|
|
108
|
+
* @deprecated
|
|
109
|
+
*/
|
|
110
|
+
scalarDivideEquals(scalar: number): Point;
|
|
111
|
+
/**
|
|
112
|
+
* Returns true if this point is equal to another one
|
|
113
|
+
* @param {XY} that
|
|
114
|
+
* @return {Boolean}
|
|
115
|
+
*/
|
|
116
|
+
eq(that: XY): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Returns true if this point is less than another one
|
|
119
|
+
* @param {XY} that
|
|
120
|
+
* @return {Boolean}
|
|
121
|
+
*/
|
|
122
|
+
lt(that: XY): boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Returns true if this point is less than or equal to another one
|
|
125
|
+
* @param {XY} that
|
|
126
|
+
* @return {Boolean}
|
|
127
|
+
*/
|
|
128
|
+
lte(that: XY): boolean;
|
|
129
|
+
/**
|
|
130
|
+
|
|
131
|
+
* Returns true if this point is greater another one
|
|
132
|
+
* @param {XY} that
|
|
133
|
+
* @return {Boolean}
|
|
134
|
+
*/
|
|
135
|
+
gt(that: XY): boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Returns true if this point is greater than or equal to another one
|
|
138
|
+
* @param {XY} that
|
|
139
|
+
* @return {Boolean}
|
|
140
|
+
*/
|
|
141
|
+
gte(that: XY): boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Returns new point which is the result of linear interpolation with this one and another one
|
|
144
|
+
* @param {XY} that
|
|
145
|
+
* @param {Number} t , position of interpolation, between 0 and 1 default 0.5
|
|
146
|
+
* @return {Point}
|
|
147
|
+
*/
|
|
148
|
+
lerp(that: XY, t?: number): Point;
|
|
149
|
+
/**
|
|
150
|
+
* Returns distance from this point and another one
|
|
151
|
+
* @param {XY} that
|
|
152
|
+
* @return {Number}
|
|
153
|
+
*/
|
|
154
|
+
distanceFrom(that: XY): number;
|
|
155
|
+
/**
|
|
156
|
+
* Returns the point between this point and another one
|
|
157
|
+
* @param {XY} that
|
|
158
|
+
* @return {Point}
|
|
159
|
+
*/
|
|
160
|
+
midPointFrom(that: XY): Point;
|
|
161
|
+
/**
|
|
162
|
+
* Returns a new point which is the min of this and another one
|
|
163
|
+
* @param {XY} that
|
|
164
|
+
* @return {Point}
|
|
165
|
+
*/
|
|
166
|
+
min(that: XY): Point;
|
|
167
|
+
/**
|
|
168
|
+
* Returns a new point which is the max of this and another one
|
|
169
|
+
* @param {XY} that
|
|
170
|
+
* @return {Point}
|
|
171
|
+
*/
|
|
172
|
+
max(that: XY): Point;
|
|
173
|
+
/**
|
|
174
|
+
* Returns string representation of this point
|
|
175
|
+
* @return {String}
|
|
176
|
+
*/
|
|
177
|
+
toString(): string;
|
|
178
|
+
/**
|
|
179
|
+
* Sets x/y of this point
|
|
180
|
+
* @param {Number} x
|
|
181
|
+
* @param {Number} y
|
|
182
|
+
* @chainable
|
|
183
|
+
*/
|
|
184
|
+
setXY(x: number, y: number): this;
|
|
185
|
+
/**
|
|
186
|
+
* Sets x of this point
|
|
187
|
+
* @param {Number} x
|
|
188
|
+
* @chainable
|
|
189
|
+
*/
|
|
190
|
+
setX(x: number): this;
|
|
191
|
+
/**
|
|
192
|
+
* Sets y of this point
|
|
193
|
+
* @param {Number} y
|
|
194
|
+
* @chainable
|
|
195
|
+
*/
|
|
196
|
+
setY(y: number): this;
|
|
197
|
+
/**
|
|
198
|
+
* Sets x/y of this point from another point
|
|
199
|
+
* @param {XY} that
|
|
200
|
+
* @chainable
|
|
201
|
+
*/
|
|
202
|
+
setFromPoint(that: XY): this;
|
|
203
|
+
/**
|
|
204
|
+
* Swaps x/y of this point and another point
|
|
205
|
+
* @param {XY} that
|
|
206
|
+
*/
|
|
207
|
+
swap(that: XY): void;
|
|
208
|
+
/**
|
|
209
|
+
* return a cloned instance of the point
|
|
210
|
+
* @return {Point}
|
|
211
|
+
*/
|
|
212
|
+
clone(): Point;
|
|
213
|
+
/**
|
|
214
|
+
* Rotates `point` around `origin` with `radians`
|
|
215
|
+
* @static
|
|
216
|
+
* @memberOf fabric.util
|
|
217
|
+
* @param {XY} origin The origin of the rotation
|
|
218
|
+
* @param {TRadian} radians The radians of the angle for the rotation
|
|
219
|
+
* @return {Point} The new rotated point
|
|
220
|
+
*/
|
|
221
|
+
rotate(radians: TRadian, origin?: XY): Point;
|
|
222
|
+
/**
|
|
223
|
+
* Apply transform t to point p
|
|
224
|
+
* @static
|
|
225
|
+
* @memberOf fabric.util
|
|
226
|
+
* @param {TMat2D} t The transform
|
|
227
|
+
* @param {Boolean} [ignoreOffset] Indicates that the offset should not be applied
|
|
228
|
+
* @return {Point} The transformed point
|
|
229
|
+
*/
|
|
230
|
+
transform(t: TMat2D, ignoreOffset?: boolean): Point;
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=Point.d.ts.map
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { FabricObject } from './shapes/Object/FabricObject';
|
|
2
|
+
import { TClassProperties } from './typedefs';
|
|
3
|
+
export declare const shadowDefaultValues: Partial<TClassProperties<Shadow>>;
|
|
4
|
+
type TShadowSerializedProps = {
|
|
5
|
+
color: string;
|
|
6
|
+
blur: number;
|
|
7
|
+
offsetX: number;
|
|
8
|
+
offsetY: number;
|
|
9
|
+
affectStroke: boolean;
|
|
10
|
+
nonScaling: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare class Shadow {
|
|
13
|
+
/**
|
|
14
|
+
* Shadow color
|
|
15
|
+
* @type String
|
|
16
|
+
* @default
|
|
17
|
+
*/
|
|
18
|
+
color: string;
|
|
19
|
+
/**
|
|
20
|
+
* Shadow blur
|
|
21
|
+
* @type Number
|
|
22
|
+
*/
|
|
23
|
+
blur: number;
|
|
24
|
+
/**
|
|
25
|
+
* Shadow horizontal offset
|
|
26
|
+
* @type Number
|
|
27
|
+
* @default
|
|
28
|
+
*/
|
|
29
|
+
offsetX: number;
|
|
30
|
+
/**
|
|
31
|
+
* Shadow vertical offset
|
|
32
|
+
* @type Number
|
|
33
|
+
* @default
|
|
34
|
+
*/
|
|
35
|
+
offsetY: number;
|
|
36
|
+
/**
|
|
37
|
+
* Whether the shadow should affect stroke operations
|
|
38
|
+
* @type Boolean
|
|
39
|
+
* @default
|
|
40
|
+
*/
|
|
41
|
+
affectStroke: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Indicates whether toObject should include default values
|
|
44
|
+
* @type Boolean
|
|
45
|
+
* @default
|
|
46
|
+
*/
|
|
47
|
+
includeDefaultValues: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* When `false`, the shadow will scale with the object.
|
|
50
|
+
* When `true`, the shadow's offsetX, offsetY, and blur will not be affected by the object's scale.
|
|
51
|
+
* default to false
|
|
52
|
+
* @type Boolean
|
|
53
|
+
* @default
|
|
54
|
+
*/
|
|
55
|
+
nonScaling: boolean;
|
|
56
|
+
id: number;
|
|
57
|
+
static ownDefaults: Partial<TClassProperties<Shadow>>;
|
|
58
|
+
/**
|
|
59
|
+
* @see {@link http://fabricjs.com/shadows|Shadow demo}
|
|
60
|
+
* @param {Object|String} [options] Options object with any of color, blur, offsetX, offsetY properties or string (e.g. "rgba(0,0,0,0.2) 2px 2px 10px")
|
|
61
|
+
*/
|
|
62
|
+
constructor(options: Partial<TClassProperties<Shadow>>);
|
|
63
|
+
constructor(svgAttribute: string);
|
|
64
|
+
/**
|
|
65
|
+
* @param {String} value Shadow value to parse
|
|
66
|
+
* @return {Object} Shadow object with color, offsetX, offsetY and blur
|
|
67
|
+
*/
|
|
68
|
+
static parseShadow(value: string): {
|
|
69
|
+
color: string;
|
|
70
|
+
offsetX: number;
|
|
71
|
+
offsetY: number;
|
|
72
|
+
blur: number;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Returns a string representation of an instance
|
|
76
|
+
* @see http://www.w3.org/TR/css-text-decor-3/#text-shadow
|
|
77
|
+
* @return {String} Returns CSS3 text-shadow declaration
|
|
78
|
+
*/
|
|
79
|
+
toString(): string;
|
|
80
|
+
/**
|
|
81
|
+
* Returns SVG representation of a shadow
|
|
82
|
+
* @param {FabricObject} object
|
|
83
|
+
* @return {String} SVG representation of a shadow
|
|
84
|
+
*/
|
|
85
|
+
toSVG(object: FabricObject): string;
|
|
86
|
+
/**
|
|
87
|
+
* Returns object representation of a shadow
|
|
88
|
+
* @return {Object} Object representation of a shadow instance
|
|
89
|
+
*/
|
|
90
|
+
toObject(): Partial<TShadowSerializedProps>;
|
|
91
|
+
/**
|
|
92
|
+
* Regex matching shadow offsetX, offsetY and blur (ex: "2px 2px 10px rgba(0,0,0,0.2)", "rgb(0,255,0) 2px 2px")
|
|
93
|
+
*/
|
|
94
|
+
static reOffsetsAndBlur: RegExp;
|
|
95
|
+
}
|
|
96
|
+
export {};
|
|
97
|
+
//# sourceMappingURL=Shadow.d.ts.map
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { Point } from '../Point';
|
|
2
|
+
import { TEvent } from '../EventTypeDefs';
|
|
3
|
+
import type { Shadow } from '../Shadow';
|
|
4
|
+
import type { Canvas } from '../canvas/Canvas';
|
|
5
|
+
type TBrushEventData = TEvent & {
|
|
6
|
+
pointer: Point;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* @see {@link http://fabricjs.com/freedrawing|Freedrawing demo}
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class BaseBrush {
|
|
12
|
+
/**
|
|
13
|
+
* Color of a brush
|
|
14
|
+
* @type String
|
|
15
|
+
* @default
|
|
16
|
+
*/
|
|
17
|
+
color: string;
|
|
18
|
+
/**
|
|
19
|
+
* Width of a brush, has to be a Number, no string literals
|
|
20
|
+
* @type Number
|
|
21
|
+
* @default
|
|
22
|
+
*/
|
|
23
|
+
width: number;
|
|
24
|
+
/**
|
|
25
|
+
* Shadow object representing shadow of this shape.
|
|
26
|
+
* <b>Backwards incompatibility note:</b> This property replaces "shadowColor" (String), "shadowOffsetX" (Number),
|
|
27
|
+
* "shadowOffsetY" (Number) and "shadowBlur" (Number) since v1.2.12
|
|
28
|
+
* @type Shadow
|
|
29
|
+
* @default
|
|
30
|
+
*/
|
|
31
|
+
shadow: Shadow | null;
|
|
32
|
+
/**
|
|
33
|
+
* Line endings style of a brush (one of "butt", "round", "square")
|
|
34
|
+
* @type String
|
|
35
|
+
* @default
|
|
36
|
+
*/
|
|
37
|
+
strokeLineCap: CanvasLineCap;
|
|
38
|
+
/**
|
|
39
|
+
* Corner style of a brush (one of "bevel", "round", "miter")
|
|
40
|
+
* @type String
|
|
41
|
+
* @default
|
|
42
|
+
*/
|
|
43
|
+
strokeLineJoin: CanvasLineJoin;
|
|
44
|
+
/**
|
|
45
|
+
* Maximum miter length (used for strokeLineJoin = "miter") of a brush's
|
|
46
|
+
* @type Number
|
|
47
|
+
* @default
|
|
48
|
+
*/
|
|
49
|
+
strokeMiterLimit: number;
|
|
50
|
+
/**
|
|
51
|
+
* Stroke Dash Array.
|
|
52
|
+
* @type Array
|
|
53
|
+
* @default
|
|
54
|
+
*/
|
|
55
|
+
strokeDashArray: number[] | null;
|
|
56
|
+
/**
|
|
57
|
+
* When `true`, the free drawing is limited to the whiteboard size. Default to false.
|
|
58
|
+
* @type Boolean
|
|
59
|
+
* @default false
|
|
60
|
+
*/
|
|
61
|
+
limitedToCanvasSize: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* @todo add type
|
|
64
|
+
*/
|
|
65
|
+
canvas: Canvas;
|
|
66
|
+
constructor(canvas: Canvas);
|
|
67
|
+
abstract _render(): void;
|
|
68
|
+
abstract onMouseDown(pointer: Point, ev: TBrushEventData): void;
|
|
69
|
+
abstract onMouseMove(pointer: Point, ev: TBrushEventData): void;
|
|
70
|
+
/**
|
|
71
|
+
* @returns true if brush should continue blocking interaction
|
|
72
|
+
*/
|
|
73
|
+
abstract onMouseUp(ev: TBrushEventData): boolean | void;
|
|
74
|
+
/**
|
|
75
|
+
* Sets brush styles
|
|
76
|
+
* @private
|
|
77
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
78
|
+
*/
|
|
79
|
+
_setBrushStyles(ctx: CanvasRenderingContext2D): void;
|
|
80
|
+
/**
|
|
81
|
+
* Sets the transformation on given context
|
|
82
|
+
* @param {CanvasRenderingContext2D} ctx context to render on
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
protected _saveAndTransform(ctx: CanvasRenderingContext2D): void;
|
|
86
|
+
protected needsFullRender(): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Sets brush shadow styles
|
|
89
|
+
* @private
|
|
90
|
+
*/
|
|
91
|
+
protected _setShadow(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Removes brush shadow styles
|
|
94
|
+
* @private
|
|
95
|
+
*/
|
|
96
|
+
protected _resetShadow(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Check is pointer is outside canvas boundaries
|
|
99
|
+
* @param {Object} pointer
|
|
100
|
+
* @private
|
|
101
|
+
*/
|
|
102
|
+
protected _isOutSideCanvas(pointer: Point): boolean;
|
|
103
|
+
}
|
|
104
|
+
export {};
|
|
105
|
+
//# sourceMappingURL=BaseBrush.d.ts.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Point } from '../Point';
|
|
2
|
+
import type { Canvas } from '../canvas/Canvas';
|
|
3
|
+
import { BaseBrush } from './BaseBrush';
|
|
4
|
+
export type CircleBrushPoint = {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
radius: number;
|
|
8
|
+
fill: string;
|
|
9
|
+
};
|
|
10
|
+
export declare class CircleBrush extends BaseBrush {
|
|
11
|
+
/**
|
|
12
|
+
* Width of a brush
|
|
13
|
+
* @type Number
|
|
14
|
+
* @default
|
|
15
|
+
*/
|
|
16
|
+
width: number;
|
|
17
|
+
points: CircleBrushPoint[];
|
|
18
|
+
constructor(canvas: Canvas);
|
|
19
|
+
/**
|
|
20
|
+
* Invoked inside on mouse down and mouse move
|
|
21
|
+
* @param {Point} pointer
|
|
22
|
+
*/
|
|
23
|
+
drawDot(pointer: Point): void;
|
|
24
|
+
dot(ctx: CanvasRenderingContext2D, point: CircleBrushPoint): void;
|
|
25
|
+
/**
|
|
26
|
+
* Invoked on mouse down
|
|
27
|
+
*/
|
|
28
|
+
onMouseDown(pointer: Point): void;
|
|
29
|
+
/**
|
|
30
|
+
* Render the full state of the brush
|
|
31
|
+
* @private
|
|
32
|
+
*/
|
|
33
|
+
_render(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Invoked on mouse move
|
|
36
|
+
* @param {Point} pointer
|
|
37
|
+
*/
|
|
38
|
+
onMouseMove(pointer: Point): void;
|
|
39
|
+
/**
|
|
40
|
+
* Invoked on mouse up
|
|
41
|
+
*/
|
|
42
|
+
onMouseUp(): void;
|
|
43
|
+
/**
|
|
44
|
+
* @param {Object} pointer
|
|
45
|
+
* @return {Point} Just added pointer point
|
|
46
|
+
*/
|
|
47
|
+
addPoint({ x, y }: Point): CircleBrushPoint;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=CircleBrush.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Canvas } from '../canvas/Canvas';
|
|
2
|
+
import { PencilBrush } from './PencilBrush';
|
|
3
|
+
import { TSimplePathData } from '../util/path/typedefs';
|
|
4
|
+
export declare class PatternBrush extends PencilBrush {
|
|
5
|
+
source?: CanvasImageSource;
|
|
6
|
+
constructor(canvas: Canvas);
|
|
7
|
+
getPatternSrc(): HTMLCanvasElement;
|
|
8
|
+
/**
|
|
9
|
+
* Creates "pattern" instance property
|
|
10
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
11
|
+
*/
|
|
12
|
+
getPattern(ctx: CanvasRenderingContext2D): CanvasPattern | null;
|
|
13
|
+
/**
|
|
14
|
+
* Sets brush styles
|
|
15
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
16
|
+
*/
|
|
17
|
+
_setBrushStyles(ctx: CanvasRenderingContext2D): void;
|
|
18
|
+
/**
|
|
19
|
+
* Creates path
|
|
20
|
+
*/
|
|
21
|
+
createPath(pathData: TSimplePathData): import("../..").Path<Partial<import("../shapes/Path").PathProps>, import("../shapes/Path").SerializedPathProps, import("../EventTypeDefs").ObjectEvents>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=PatternBrush.d.ts.map
|