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,140 @@
|
|
|
1
|
+
import { XY, Point } from '../Point';
|
|
2
|
+
import { TClassProperties } from '../typedefs';
|
|
3
|
+
import { FabricObject } from './Object/FabricObject';
|
|
4
|
+
import type { FabricObjectProps, SerializedObjectProps, TProps } from './Object/types';
|
|
5
|
+
import type { ObjectEvents } from '../EventTypeDefs';
|
|
6
|
+
export declare const polylineDefaultValues: Partial<TClassProperties<Polyline>>;
|
|
7
|
+
export interface SerializedPolylineProps extends SerializedObjectProps {
|
|
8
|
+
points: XY[];
|
|
9
|
+
}
|
|
10
|
+
export declare class Polyline<Props extends TProps<FabricObjectProps> = Partial<FabricObjectProps>, SProps extends SerializedPolylineProps = SerializedPolylineProps, EventSpec extends ObjectEvents = ObjectEvents> extends FabricObject<Props, SProps, EventSpec> {
|
|
11
|
+
/**
|
|
12
|
+
* Points array
|
|
13
|
+
* @type Array
|
|
14
|
+
* @default
|
|
15
|
+
*/
|
|
16
|
+
points: XY[];
|
|
17
|
+
/**
|
|
18
|
+
* WARNING: Feature in progress
|
|
19
|
+
* Calculate the exact bounding box taking in account strokeWidth on acute angles
|
|
20
|
+
* this will be turned to true by default on fabric 6.0
|
|
21
|
+
* maybe will be left in as an optimization since calculations may be slow
|
|
22
|
+
* @deprecated
|
|
23
|
+
* @type Boolean
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
26
|
+
exactBoundingBox: boolean;
|
|
27
|
+
private initialized;
|
|
28
|
+
static ownDefaults: Record<string, any>;
|
|
29
|
+
static getDefaults(): {
|
|
30
|
+
[x: string]: any;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* A list of properties that if changed trigger a recalculation of dimensions
|
|
34
|
+
* @todo check if you really need to recalculate for all cases
|
|
35
|
+
*/
|
|
36
|
+
static layoutProperties: (keyof Polyline)[];
|
|
37
|
+
fromSVG: boolean;
|
|
38
|
+
pathOffset: Point;
|
|
39
|
+
strokeOffset: Point;
|
|
40
|
+
static cacheProperties: string[];
|
|
41
|
+
/**
|
|
42
|
+
* Constructor
|
|
43
|
+
* @param {Array} points Array of points (where each point is an object with x and y)
|
|
44
|
+
* @param {Object} [options] Options object
|
|
45
|
+
* @return {Polyline} thisArg
|
|
46
|
+
* @example
|
|
47
|
+
* var poly = new Polyline([
|
|
48
|
+
* { x: 10, y: 10 },
|
|
49
|
+
* { x: 50, y: 30 },
|
|
50
|
+
* { x: 40, y: 70 },
|
|
51
|
+
* { x: 60, y: 50 },
|
|
52
|
+
* { x: 100, y: 150 },
|
|
53
|
+
* { x: 40, y: 100 }
|
|
54
|
+
* ], {
|
|
55
|
+
* stroke: 'red',
|
|
56
|
+
* left: 100,
|
|
57
|
+
* top: 100
|
|
58
|
+
* });
|
|
59
|
+
*/
|
|
60
|
+
constructor(points?: XY[], options?: Props);
|
|
61
|
+
protected isOpen(): boolean;
|
|
62
|
+
private _projectStrokeOnPoints;
|
|
63
|
+
/**
|
|
64
|
+
* Calculate the polygon bounding box
|
|
65
|
+
* @private
|
|
66
|
+
*/
|
|
67
|
+
_calcDimensions(): {
|
|
68
|
+
left: number;
|
|
69
|
+
top: number;
|
|
70
|
+
width: number;
|
|
71
|
+
height: number;
|
|
72
|
+
pathOffset: Point;
|
|
73
|
+
strokeOffset: Point;
|
|
74
|
+
};
|
|
75
|
+
setDimensions(): void;
|
|
76
|
+
setBoundingBox(adjustPosition?: boolean): void;
|
|
77
|
+
/**
|
|
78
|
+
* @override stroke is taken in account in size
|
|
79
|
+
*/
|
|
80
|
+
_getNonTransformedDimensions(): Point;
|
|
81
|
+
/**
|
|
82
|
+
* @override stroke and skewing are taken into account when projecting stroke on points,
|
|
83
|
+
* therefore we don't want the default calculation to account for skewing as well
|
|
84
|
+
*
|
|
85
|
+
* @private
|
|
86
|
+
*/
|
|
87
|
+
_getTransformedDimensions(options?: any): Point;
|
|
88
|
+
/**
|
|
89
|
+
* Recalculates dimensions when changing skew and scale
|
|
90
|
+
* @private
|
|
91
|
+
*/
|
|
92
|
+
_set(key: string, value: any): this;
|
|
93
|
+
/**
|
|
94
|
+
* Returns object representation of an instance
|
|
95
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
96
|
+
* @return {Object} Object representation of an instance
|
|
97
|
+
*/
|
|
98
|
+
toObject<T extends Omit<Props & TClassProperties<this>, keyof SProps>, K extends keyof T = never>(propertiesToInclude?: K[]): Pick<T, K> & SProps;
|
|
99
|
+
/**
|
|
100
|
+
* Returns svg representation of an instance
|
|
101
|
+
* @return {Array} an array of strings with the specific svg representation
|
|
102
|
+
* of the instance
|
|
103
|
+
*/
|
|
104
|
+
_toSVG(): string[];
|
|
105
|
+
/**
|
|
106
|
+
* @private
|
|
107
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
108
|
+
*/
|
|
109
|
+
_render(ctx: CanvasRenderingContext2D): void;
|
|
110
|
+
/**
|
|
111
|
+
* Returns complexity of an instance
|
|
112
|
+
* @return {Number} complexity of this instance
|
|
113
|
+
*/
|
|
114
|
+
complexity(): number;
|
|
115
|
+
/**
|
|
116
|
+
* List of attribute names to account for when parsing SVG element (used by {@link Polyline.fromElement})
|
|
117
|
+
* @static
|
|
118
|
+
* @memberOf Polyline
|
|
119
|
+
* @see: http://www.w3.org/TR/SVG/shapes.html#PolylineElement
|
|
120
|
+
*/
|
|
121
|
+
static ATTRIBUTE_NAMES: string[];
|
|
122
|
+
/**
|
|
123
|
+
* Returns Polyline instance from an SVG element
|
|
124
|
+
* @static
|
|
125
|
+
* @memberOf Polyline
|
|
126
|
+
* @param {SVGElement} element Element to parser
|
|
127
|
+
* @param {Function} callback callback function invoked after parsing
|
|
128
|
+
* @param {Object} [options] Options object
|
|
129
|
+
*/
|
|
130
|
+
static fromElement(element: SVGElement, callback: (poly: Polyline | null) => any, options?: any): any;
|
|
131
|
+
/**
|
|
132
|
+
* Returns Polyline instance from an object representation
|
|
133
|
+
* @static
|
|
134
|
+
* @memberOf Polyline
|
|
135
|
+
* @param {Object} object Object to create an instance from
|
|
136
|
+
* @returns {Promise<Polyline>}
|
|
137
|
+
*/
|
|
138
|
+
static fromObject<T extends TProps<SerializedPolylineProps>>(object: T): Promise<Polyline<Partial<FabricObjectProps>, SerializedPolylineProps, ObjectEvents>>;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=Polyline.d.ts.map
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { TClassProperties } from '../typedefs';
|
|
2
|
+
import { FabricObject } from './Object/FabricObject';
|
|
3
|
+
import type { FabricObjectProps, SerializedObjectProps, TProps } from './Object/types';
|
|
4
|
+
import type { ObjectEvents } from '../EventTypeDefs';
|
|
5
|
+
export declare const rectDefaultValues: Partial<TClassProperties<Rect>>;
|
|
6
|
+
interface UniqueRectProps {
|
|
7
|
+
rx: number;
|
|
8
|
+
ry: number;
|
|
9
|
+
}
|
|
10
|
+
export interface SerializedRectProps extends SerializedObjectProps, UniqueRectProps {
|
|
11
|
+
}
|
|
12
|
+
export interface RectProps extends FabricObjectProps, UniqueRectProps {
|
|
13
|
+
}
|
|
14
|
+
export declare class Rect<Props extends TProps<RectProps> = Partial<RectProps>, SProps extends SerializedRectProps = SerializedRectProps, EventSpec extends ObjectEvents = ObjectEvents> extends FabricObject<Props, SProps, EventSpec> implements RectProps {
|
|
15
|
+
/**
|
|
16
|
+
* Horizontal border radius
|
|
17
|
+
* @type Number
|
|
18
|
+
* @default
|
|
19
|
+
*/
|
|
20
|
+
rx: number;
|
|
21
|
+
/**
|
|
22
|
+
* Vertical border radius
|
|
23
|
+
* @type Number
|
|
24
|
+
* @default
|
|
25
|
+
*/
|
|
26
|
+
ry: number;
|
|
27
|
+
static cacheProperties: string[];
|
|
28
|
+
static ownDefaults: Record<string, any>;
|
|
29
|
+
static getDefaults(): Record<string, any>;
|
|
30
|
+
/**
|
|
31
|
+
* Constructor
|
|
32
|
+
* @param {Object} [options] Options object
|
|
33
|
+
* @return {Object} thisArg
|
|
34
|
+
*/
|
|
35
|
+
constructor(options: Props);
|
|
36
|
+
/**
|
|
37
|
+
* Initializes rx/ry attributes
|
|
38
|
+
* @private
|
|
39
|
+
*/
|
|
40
|
+
_initRxRy(): void;
|
|
41
|
+
/**
|
|
42
|
+
* @private
|
|
43
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
44
|
+
*/
|
|
45
|
+
_render(ctx: CanvasRenderingContext2D): void;
|
|
46
|
+
/**
|
|
47
|
+
* Returns object representation of an instance
|
|
48
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
49
|
+
* @return {Object} object representation of an instance
|
|
50
|
+
*/
|
|
51
|
+
toObject<T extends Omit<Props & TClassProperties<this>, keyof SProps>, K extends keyof T = never>(propertiesToInclude?: K[]): Pick<T, K> & SProps;
|
|
52
|
+
/**
|
|
53
|
+
* Returns svg representation of an instance
|
|
54
|
+
* @return {Array} an array of strings with the specific svg representation
|
|
55
|
+
* of the instance
|
|
56
|
+
*/
|
|
57
|
+
_toSVG(): string[];
|
|
58
|
+
/**
|
|
59
|
+
* List of attribute names to account for when parsing SVG element (used by `Rect.fromElement`)
|
|
60
|
+
* @static
|
|
61
|
+
* @memberOf Rect
|
|
62
|
+
* @see: http://www.w3.org/TR/SVG/shapes.html#RectElement
|
|
63
|
+
*/
|
|
64
|
+
static ATTRIBUTE_NAMES: string[];
|
|
65
|
+
/**
|
|
66
|
+
* Returns {@link Rect} instance from an SVG element
|
|
67
|
+
* @static
|
|
68
|
+
* @memberOf Rect
|
|
69
|
+
* @param {SVGElement} element Element to parse
|
|
70
|
+
* @param {Function} callback callback function invoked after parsing
|
|
71
|
+
* @param {Object} [options] Options object
|
|
72
|
+
*/
|
|
73
|
+
static fromElement(element: SVGElement, callback: (rect: Rect | null) => void, options?: {}): void;
|
|
74
|
+
}
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=Rect.d.ts.map
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { ObjectEvents } from '../../EventTypeDefs';
|
|
2
|
+
import type { FabricObjectProps, SerializedObjectProps, TProps } from '../Object/types';
|
|
3
|
+
import { FabricObject } from '../Object/FabricObject';
|
|
4
|
+
export type TextStyleDeclaration = Record<string, any>;
|
|
5
|
+
export type TextStyle = {
|
|
6
|
+
[line: number | string]: {
|
|
7
|
+
[char: number | string]: TextStyleDeclaration;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export declare abstract class StyledText<Props extends TProps<FabricObjectProps> = Partial<FabricObjectProps>, SProps extends SerializedObjectProps = SerializedObjectProps, EventSpec extends ObjectEvents = ObjectEvents> extends FabricObject<Props, SProps, EventSpec> {
|
|
11
|
+
abstract styles: TextStyle;
|
|
12
|
+
protected abstract _textLines: string[][];
|
|
13
|
+
protected _forceClearCache: boolean;
|
|
14
|
+
static _styleProperties: readonly ["fontSize", "fontWeight", "fontFamily", "fontStyle", "underline", "overline", "linethrough", "stroke", "strokeWidth", "fill", "deltaY", "textBackgroundColor"];
|
|
15
|
+
abstract get2DCursorLocation(selectionStart: number, skipWrapping?: boolean): {
|
|
16
|
+
charIndex: number;
|
|
17
|
+
lineIndex: number;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Returns true if object has no styling or no styling in a line
|
|
21
|
+
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
22
|
+
* @return {Boolean}
|
|
23
|
+
*/
|
|
24
|
+
isEmptyStyles(lineIndex?: number): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Returns true if object has a style property or has it ina specified line
|
|
27
|
+
* This function is used to detect if a text will use a particular property or not.
|
|
28
|
+
* @param {String} property to check for
|
|
29
|
+
* @param {Number} lineIndex to check the style on
|
|
30
|
+
* @return {Boolean}
|
|
31
|
+
*/
|
|
32
|
+
styleHas(property: string, lineIndex?: number): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Check if characters in a text have a value for a property
|
|
35
|
+
* whose value matches the textbox's value for that property. If so,
|
|
36
|
+
* the character-level property is deleted. If the character
|
|
37
|
+
* has no other properties, then it is also deleted. Finally,
|
|
38
|
+
* if the line containing that character has no other characters
|
|
39
|
+
* then it also is deleted.
|
|
40
|
+
*
|
|
41
|
+
* @param {string} property The property to compare between characters and text.
|
|
42
|
+
*/
|
|
43
|
+
cleanStyle(property: string): false | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Remove a style property or properties from all individual character styles
|
|
46
|
+
* in a text object. Deletes the character style object if it contains no other style
|
|
47
|
+
* props. Deletes a line style object if it contains no other character styles.
|
|
48
|
+
*
|
|
49
|
+
* @param {String} props The property to remove from character styles.
|
|
50
|
+
*/
|
|
51
|
+
removeStyle(property: string): void;
|
|
52
|
+
private _extendStyles;
|
|
53
|
+
/**
|
|
54
|
+
* Gets style of a current selection/cursor (at the start position)
|
|
55
|
+
* @param {Number} startIndex Start index to get styles at
|
|
56
|
+
* @param {Number} endIndex End index to get styles at, if not specified startIndex + 1
|
|
57
|
+
* @param {Boolean} [complete] get full style or not
|
|
58
|
+
* @return {Array} styles an array with one, zero or more Style objects
|
|
59
|
+
*/
|
|
60
|
+
getSelectionStyles(startIndex: number, endIndex?: number, complete?: boolean): TextStyleDeclaration[];
|
|
61
|
+
/**
|
|
62
|
+
* Gets style of a current selection/cursor position
|
|
63
|
+
* @param {Number} position to get styles at
|
|
64
|
+
* @param {Boolean} [complete] full style if true
|
|
65
|
+
* @return {Object} style Style object at a specified index
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
getStyleAtPosition(position: number, complete?: boolean): TextStyleDeclaration;
|
|
69
|
+
/**
|
|
70
|
+
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
71
|
+
* @param {Object} styles Styles object
|
|
72
|
+
* @param {Number} startIndex Start index to get styles at
|
|
73
|
+
* @param {Number} [endIndex] End index to get styles at, if not specified startIndex + 1
|
|
74
|
+
*/
|
|
75
|
+
setSelectionStyles(styles: object, startIndex: number, endIndex?: number): void;
|
|
76
|
+
/**
|
|
77
|
+
* get the reference, not a clone, of the style object for a given character
|
|
78
|
+
* @param {Number} lineIndex
|
|
79
|
+
* @param {Number} charIndex
|
|
80
|
+
* @return {Object} style object
|
|
81
|
+
*/
|
|
82
|
+
_getStyleDeclaration(lineIndex: number, charIndex: number): TextStyleDeclaration | null;
|
|
83
|
+
/**
|
|
84
|
+
* return a new object that contains all the style property for a character
|
|
85
|
+
* the object returned is newly created
|
|
86
|
+
* @param {Number} lineIndex of the line where the character is
|
|
87
|
+
* @param {Number} charIndex position of the character on the line
|
|
88
|
+
* @return {Object} style object
|
|
89
|
+
*/
|
|
90
|
+
getCompleteStyleDeclaration(lineIndex: number, charIndex: number): TextStyleDeclaration;
|
|
91
|
+
/**
|
|
92
|
+
* @param {Number} lineIndex
|
|
93
|
+
* @param {Number} charIndex
|
|
94
|
+
* @param {Object} style
|
|
95
|
+
* @private
|
|
96
|
+
*/
|
|
97
|
+
protected _setStyleDeclaration(lineIndex: number, charIndex: number, style: object): void;
|
|
98
|
+
/**
|
|
99
|
+
*
|
|
100
|
+
* @param {Number} lineIndex
|
|
101
|
+
* @param {Number} charIndex
|
|
102
|
+
* @private
|
|
103
|
+
*/
|
|
104
|
+
protected _deleteStyleDeclaration(lineIndex: number, charIndex: number): void;
|
|
105
|
+
/**
|
|
106
|
+
* @param {Number} lineIndex
|
|
107
|
+
* @return {Boolean} if the line exists or not
|
|
108
|
+
* @private
|
|
109
|
+
*/
|
|
110
|
+
protected _getLineStyle(lineIndex: number): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Set the line style to an empty object so that is initialized
|
|
113
|
+
* @param {Number} lineIndex
|
|
114
|
+
* @private
|
|
115
|
+
*/
|
|
116
|
+
protected _setLineStyle(lineIndex: number): void;
|
|
117
|
+
protected _deleteLineStyle(lineIndex: number): void;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=StyledText.d.ts.map
|