fabric 5.3.0-browser → 6.0.0-beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +11 -0
- package/.babelrcAlt +19 -0
- package/.browserslistrc +5 -0
- package/.eslintrc.js +43 -0
- package/.eslintrc.json +38 -46
- package/.eslintrc_tests +12 -0
- package/.gitattributes +2 -0
- package/.prettierignore +16 -0
- package/.prettierrc +4 -0
- package/CHANGELOG.md +491 -189
- package/CONTRIBUTING.md +226 -58
- package/README.md +188 -239
- package/bower.json +1 -3
- package/dist/fabric.d.ts +1021 -0
- package/dist/index.cjs +28027 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.min.js +1 -0
- package/dist/index.mjs +27964 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.node.cjs +28092 -0
- package/dist/index.node.cjs.map +1 -0
- package/dist/index.node.d.ts +15 -0
- package/dist/index.node.mjs +28035 -0
- package/dist/index.node.mjs.map +1 -0
- package/dist/src/Collection.d.ts +126 -0
- package/dist/src/CommonMethods.d.ts +32 -0
- package/dist/src/EventTypeDefs.d.ts +226 -0
- package/dist/src/Intersection.d.ts +100 -0
- package/dist/src/Observable.d.ts +54 -0
- package/dist/src/Pattern.d.ts +104 -0
- package/dist/src/Point.d.ts +232 -0
- package/dist/src/Shadow.d.ts +87 -0
- package/dist/src/brushes/BaseBrush.d.ts +105 -0
- package/dist/src/brushes/CircleBrush.d.ts +49 -0
- package/dist/src/brushes/PatternBrush.d.ts +23 -0
- package/dist/src/brushes/PencilBrush.d.ts +92 -0
- package/dist/src/brushes/SprayBrush.d.ts +79 -0
- package/dist/src/cache.d.ts +46 -0
- package/dist/src/canvas/Canvas.d.ts +567 -0
- package/dist/src/canvas/SelectableCanvas.d.ts +723 -0
- package/dist/src/canvas/StaticCanvas.d.ts +751 -0
- package/dist/src/canvas/TextEditingManager.d.ts +17 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts +2 -0
- package/dist/src/color/Color.d.ts +174 -0
- package/dist/src/color/color_map.d.ts +155 -0
- package/dist/src/color/constants.d.ts +22 -0
- package/dist/src/color/util.d.ts +12 -0
- package/dist/src/config.d.ts +115 -0
- package/dist/src/constants.d.ts +14 -0
- package/dist/src/controls/Control.d.ts +228 -0
- package/dist/src/controls/changeWidth.d.ts +13 -0
- package/dist/src/controls/controls.render.d.ts +29 -0
- package/dist/src/controls/default_controls.d.ts +50 -0
- package/dist/src/controls/drag.d.ts +12 -0
- package/dist/src/controls/polyControl.d.ts +5 -0
- package/dist/src/controls/rotate.d.ts +12 -0
- package/dist/src/controls/scale.d.ts +47 -0
- package/dist/src/controls/scaleSkew.d.ts +39 -0
- package/dist/src/controls/skew.d.ts +33 -0
- package/dist/src/controls/util.d.ts +41 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts +8 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts +9 -0
- package/dist/src/env/browser.d.ts +3 -0
- package/dist/src/env/index.d.ts +7 -0
- package/dist/src/env/node.d.ts +3 -0
- package/dist/src/env/types.d.ts +15 -0
- package/dist/src/filters/BaseFilter.d.ts +156 -0
- package/dist/src/filters/BlendColor.d.ts +80 -0
- package/dist/src/filters/BlendImage.d.ts +90 -0
- package/dist/src/filters/Blur.d.ts +50 -0
- package/dist/src/filters/Boilerplate.d.ts +46 -0
- package/dist/src/filters/Brightness.d.ts +46 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts +27 -0
- package/dist/src/filters/ColorMatrix.d.ts +62 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts +1169 -0
- package/dist/src/filters/Composed.d.ts +47 -0
- package/dist/src/filters/Contrast.d.ts +44 -0
- package/dist/src/filters/Convolute.d.ts +82 -0
- package/dist/src/filters/FilterBackend.d.ts +14 -0
- package/dist/src/filters/Gamma.d.ts +53 -0
- package/dist/src/filters/Grayscale.d.ts +45 -0
- package/dist/src/filters/HueRotation.d.ts +24 -0
- package/dist/src/filters/Invert.d.ts +54 -0
- package/dist/src/filters/Noise.d.ts +53 -0
- package/dist/src/filters/Pixelate.d.ts +43 -0
- package/dist/src/filters/RemoveColor.d.ts +62 -0
- package/dist/src/filters/Resize.d.ts +134 -0
- package/dist/src/filters/Saturation.d.ts +47 -0
- package/dist/src/filters/Vibrance.d.ts +47 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts +126 -0
- package/dist/src/filters/WebGLProbe.d.ts +28 -0
- package/dist/src/filters/typedefs.d.ts +49 -0
- package/dist/src/gradient/Gradient.d.ts +149 -0
- package/dist/src/gradient/constants.d.ts +15 -0
- package/dist/src/gradient/parser/index.d.ts +4 -0
- package/dist/src/gradient/parser/misc.d.ts +4 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts +6 -0
- package/dist/src/gradient/parser/parseCoords.d.ts +17 -0
- package/dist/src/gradient/typedefs.d.ts +93 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts +2 -0
- package/dist/src/mixins/stateful.mixin.d.ts +18 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts +2 -0
- package/dist/src/parkinglot/straighten.d.ts +2 -0
- package/dist/src/parser/applyViewboxTransform.d.ts +5 -0
- package/dist/src/parser/attributes.d.ts +6 -0
- package/dist/src/parser/constants.d.ts +54 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts +2 -0
- package/dist/src/parser/elementById.d.ts +6 -0
- package/dist/src/parser/elementMatchesRule.d.ts +5 -0
- package/dist/src/parser/elements_parser.d.ts +3 -0
- package/dist/src/parser/getCSSRules.d.ts +7 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts +5 -0
- package/dist/src/parser/getGradientDefs.d.ts +7 -0
- package/dist/src/parser/getMultipleNodes.d.ts +2 -0
- package/dist/src/parser/getSvgRegex.d.ts +2 -0
- package/dist/src/parser/hasAncestorWithNodeName.d.ts +2 -0
- package/dist/src/parser/loadSVGFromString.d.ts +12 -0
- package/dist/src/parser/loadSVGFromURL.d.ts +13 -0
- package/dist/src/parser/normalizeAttr.d.ts +2 -0
- package/dist/src/parser/normalizeValue.d.ts +2 -0
- package/dist/src/parser/parseAttributes.d.ts +9 -0
- package/dist/src/parser/parseElements.d.ts +11 -0
- package/dist/src/parser/parseFontDeclaration.d.ts +10 -0
- package/dist/src/parser/parsePointsAttribute.d.ts +12 -0
- package/dist/src/parser/parseSVGDocument.d.ts +15 -0
- package/dist/src/parser/parseStyleAttribute.d.ts +9 -0
- package/dist/src/parser/parseStyleObject.d.ts +2 -0
- package/dist/src/parser/parseStyleString.d.ts +2 -0
- package/dist/src/parser/parseTransformAttribute.d.ts +10 -0
- package/dist/src/parser/parseUseDirectives.d.ts +2 -0
- package/dist/src/parser/percent.d.ts +9 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +2 -0
- package/dist/src/parser/rotateMatrix.d.ts +2 -0
- package/dist/src/parser/scaleMatrix.d.ts +2 -0
- package/dist/src/parser/selectorMatches.d.ts +2 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts +6 -0
- package/dist/src/parser/skewMatrix.d.ts +2 -0
- package/dist/src/parser/translateMatrix.d.ts +2 -0
- package/dist/src/shapes/ActiveSelection.d.ts +66 -0
- package/dist/src/shapes/Circle.d.ts +80 -0
- package/dist/src/shapes/Ellipse.d.ts +74 -0
- package/dist/src/shapes/Group.d.ts +381 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
- package/dist/src/shapes/IText/IText.d.ts +322 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts +285 -0
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts +81 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +193 -0
- package/dist/src/shapes/IText/constants.d.ts +13 -0
- package/dist/src/shapes/Image.d.ts +283 -0
- package/dist/src/shapes/Line.d.ts +117 -0
- package/dist/src/shapes/Object/AnimatableObject.d.ts +33 -0
- package/dist/src/shapes/Object/FabricObject.d.ts +9 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +74 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts +282 -0
- package/dist/src/shapes/Object/Object.d.ts +906 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts +343 -0
- package/dist/src/shapes/Object/ObjectOrigin.d.ts +178 -0
- package/dist/src/shapes/Object/StackedObject.d.ts +62 -0
- package/dist/src/shapes/Object/defaultValues.d.ts +77 -0
- package/dist/src/shapes/Path.d.ts +123 -0
- package/dist/src/shapes/Polygon.d.ts +7 -0
- package/dist/src/shapes/Polyline.d.ts +130 -0
- package/dist/src/shapes/Rect.d.ts +62 -0
- package/dist/src/shapes/Text/StyledText.d.ts +118 -0
- package/dist/src/shapes/Text/Text.d.ts +656 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +32 -0
- package/dist/src/shapes/Textbox.d.ts +170 -0
- package/dist/src/shapes/Triangle.d.ts +17 -0
- package/dist/src/typedefs.d.ts +93 -0
- package/dist/src/util/animation/AnimationBase.d.ts +54 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts +8 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts +29 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts +10 -0
- package/dist/src/util/animation/ColorAnimation.d.ts +11 -0
- package/dist/src/util/animation/ValueAnimation.d.ts +10 -0
- package/dist/src/util/animation/animate.d.ts +37 -0
- package/dist/src/util/animation/easing.d.ts +130 -0
- package/dist/src/util/animation/types.d.ts +87 -0
- package/dist/src/util/applyMixins.d.ts +8 -0
- package/dist/src/util/class_registry.d.ts +14 -0
- package/dist/src/util/dom_event.d.ts +5 -0
- package/dist/src/util/dom_misc.d.ts +40 -0
- package/dist/src/util/dom_request.d.ts +14 -0
- package/dist/src/util/dom_style.d.ts +7 -0
- package/dist/src/util/fireEvent.d.ts +3 -0
- package/dist/src/util/internals/cloneDeep.d.ts +2 -0
- package/dist/src/util/internals/getRandomInt.d.ts +8 -0
- package/dist/src/util/internals/ifNaN.d.ts +8 -0
- package/dist/src/util/internals/index.d.ts +4 -0
- package/dist/src/util/internals/removeFromArray.d.ts +9 -0
- package/dist/src/util/internals/uid.d.ts +2 -0
- package/dist/src/util/lang_class.d.ts +12 -0
- package/dist/src/util/lang_string.d.ts +22 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts +9 -0
- package/dist/src/util/misc/capValue.d.ts +2 -0
- package/dist/src/util/misc/cos.d.ts +10 -0
- package/dist/src/util/misc/dom.d.ts +28 -0
- package/dist/src/util/misc/findScaleTo.d.ts +29 -0
- package/dist/src/util/misc/groupSVGElements.d.ts +9 -0
- package/dist/src/util/misc/isTransparent.d.ts +11 -0
- package/dist/src/util/misc/matrix.d.ts +92 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts +23 -0
- package/dist/src/util/misc/objectEnlive.d.ts +56 -0
- package/dist/src/util/misc/objectTransforms.d.ts +68 -0
- package/dist/src/util/misc/pick.d.ts +8 -0
- package/dist/src/util/misc/planeChange.d.ts +84 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +51 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +81 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +25 -0
- package/dist/src/util/misc/projectStroke/index.d.ts +11 -0
- package/dist/src/util/misc/projectStroke/types.d.ts +23 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts +14 -0
- package/dist/src/util/misc/resolveOrigin.d.ts +9 -0
- package/dist/src/util/misc/rotatePoint.d.ts +12 -0
- package/dist/src/util/misc/sin.d.ts +10 -0
- package/dist/src/util/misc/svgParsing.d.ts +53 -0
- package/dist/src/util/misc/textStyles.d.ts +32 -0
- package/dist/src/util/misc/toFixed.d.ts +8 -0
- package/dist/src/util/misc/vectors.d.ts +57 -0
- package/dist/src/util/path.d.ts +108 -0
- package/dist/src/util/transform_matrix_removal.d.ts +14 -0
- package/dist/src/util/types.d.ts +19 -0
- package/fabric.ts +427 -0
- package/index.node.ts +43 -0
- package/index.ts +1 -0
- package/package.json +142 -88
- package/publish.js +0 -26
- package/rollup.config.mjs +79 -0
- package/rollup.test.config.js +24 -0
- package/scripts/build.mjs +50 -0
- package/scripts/buildLock.mjs +115 -0
- package/scripts/buildReporter.mjs +15 -0
- package/scripts/buildStats.mjs +139 -0
- package/scripts/dirname.mjs +14 -0
- package/scripts/index.mjs +679 -0
- package/scripts/transform_files.mjs +504 -0
- package/src/Collection.ts +311 -0
- package/src/CommonMethods.ts +63 -0
- package/src/EventTypeDefs.ts +294 -0
- package/src/Intersection.ts +273 -0
- package/src/Observable.ts +175 -0
- package/src/Pattern.ts +211 -0
- package/src/Point.ts +388 -0
- package/src/Shadow.ts +215 -0
- package/src/brushes/{base_brush.class.js → BaseBrush.ts} +65 -42
- package/src/brushes/CircleBrush.ts +145 -0
- package/src/brushes/PatternBrush.ts +70 -0
- package/src/brushes/PencilBrush.ts +300 -0
- package/src/brushes/SprayBrush.ts +219 -0
- package/src/cache.ts +89 -0
- package/src/canvas/Canvas.ts +1672 -0
- package/src/canvas/SelectableCanvas.ts +1636 -0
- package/src/canvas/StaticCanvas.ts +1709 -0
- package/src/canvas/TextEditingManager.ts +48 -0
- package/src/canvas/canvas_gestures.mixin.ts +207 -0
- package/src/color/Color.ts +404 -0
- package/src/color/color_map.ts +154 -0
- package/src/color/constants.ts +26 -0
- package/src/color/util.ts +32 -0
- package/src/config.ts +159 -0
- package/src/constants.ts +19 -0
- package/src/controls/Control.ts +377 -0
- package/src/controls/changeWidth.ts +52 -0
- package/src/controls/controls.render.ts +138 -0
- package/src/controls/default_controls.ts +132 -0
- package/src/controls/drag.ts +31 -0
- package/src/controls/polyControl.ts +135 -0
- package/src/controls/rotate.ts +87 -0
- package/src/controls/scale.ts +277 -0
- package/src/controls/scaleSkew.ts +92 -0
- package/src/controls/skew.ts +242 -0
- package/src/controls/util.ts +154 -0
- package/src/controls/wrapWithFireEvent.ts +25 -0
- package/src/controls/wrapWithFixedAnchor.ts +20 -0
- package/src/env/browser.ts +28 -0
- package/src/env/index.ts +19 -0
- package/src/env/node.ts +52 -0
- package/src/env/types.ts +15 -0
- package/src/filters/{base_filter.class.js → BaseFilter.ts} +201 -149
- package/src/filters/BlendColor.ts +258 -0
- package/src/filters/BlendImage.ts +254 -0
- package/src/filters/Blur.ts +202 -0
- package/src/filters/Boilerplate.ts +91 -0
- package/src/filters/Brightness.ts +93 -0
- package/src/filters/Canvas2dFilterBackend.ts +65 -0
- package/src/filters/ColorMatrix.ts +156 -0
- package/src/filters/ColorMatrixFilters.ts +106 -0
- package/src/filters/Composed.ts +85 -0
- package/src/filters/Contrast.ts +94 -0
- package/src/filters/Convolute.ts +341 -0
- package/src/filters/FilterBackend.ts +32 -0
- package/src/filters/Gamma.ts +127 -0
- package/src/filters/Grayscale.ts +137 -0
- package/src/filters/HueRotation.ts +66 -0
- package/src/filters/Invert.ts +117 -0
- package/src/filters/Noise.ts +109 -0
- package/src/filters/Pixelate.ts +114 -0
- package/src/filters/RemoveColor.ts +148 -0
- package/src/filters/Resize.ts +540 -0
- package/src/filters/Saturation.ts +100 -0
- package/src/filters/Vibrance.ts +103 -0
- package/src/filters/WebGLFilterBackend.ts +430 -0
- package/src/filters/WebGLProbe.ts +62 -0
- package/src/filters/typedefs.ts +65 -0
- package/src/gradient/Gradient.ts +401 -0
- package/src/gradient/constants.ts +12 -0
- package/src/gradient/parser/index.ts +3 -0
- package/src/gradient/parser/misc.ts +13 -0
- package/src/gradient/parser/parseColorStops.ts +55 -0
- package/src/gradient/parser/parseCoords.ts +73 -0
- package/src/gradient/typedefs.ts +104 -0
- package/src/mixins/{eraser_brush.mixin.js → eraser_brush.mixin.ts} +350 -239
- package/src/mixins/stateful.mixin.ts +104 -0
- package/src/parkinglot/canvas_animation.mixin.ts +121 -0
- package/src/parkinglot/straighten.ts +58 -0
- package/src/parser/applyViewboxTransform.ts +162 -0
- package/src/parser/attributes.ts +25 -0
- package/src/parser/constants.ts +118 -0
- package/src/parser/doesSomeParentMatch.ts +19 -0
- package/src/parser/elementById.ts +23 -0
- package/src/parser/elementMatchesRule.ts +19 -0
- package/src/parser/elements_parser.ts +191 -0
- package/src/parser/getCSSRules.ts +62 -0
- package/src/parser/getGlobalStylesForElement.ts +19 -0
- package/src/parser/getGradientDefs.ts +32 -0
- package/src/parser/getMultipleNodes.ts +15 -0
- package/src/parser/getSvgRegex.ts +5 -0
- package/src/parser/hasAncestorWithNodeName.ts +14 -0
- package/src/parser/loadSVGFromString.ts +26 -0
- package/src/parser/loadSVGFromURL.ts +40 -0
- package/src/parser/normalizeAttr.ts +10 -0
- package/src/parser/normalizeValue.ts +63 -0
- package/src/parser/parseAttributes.ts +90 -0
- package/src/parser/parseElements.ts +28 -0
- package/src/parser/parseFontDeclaration.ts +44 -0
- package/src/parser/parsePointsAttribute.ts +36 -0
- package/src/parser/parseSVGDocument.ts +106 -0
- package/src/parser/parseStyleAttribute.ts +27 -0
- package/src/parser/parseStyleObject.ts +15 -0
- package/src/parser/parseStyleString.ts +16 -0
- package/src/parser/parseTransformAttribute.ts +155 -0
- package/src/parser/parseUseDirectives.ts +79 -0
- package/src/parser/percent.ts +27 -0
- package/src/parser/recursivelyParseGradientsXlink.ts +42 -0
- package/src/parser/rotateMatrix.ts +21 -0
- package/src/parser/scaleMatrix.ts +9 -0
- package/src/parser/selectorMatches.ts +25 -0
- package/src/parser/setStrokeFillOpacity.ts +40 -0
- package/src/parser/skewMatrix.ts +6 -0
- package/src/parser/translateMatrix.ts +8 -0
- package/src/shapes/ActiveSelection.ts +157 -0
- package/src/shapes/Circle.ts +205 -0
- package/src/shapes/Ellipse.ts +154 -0
- package/src/shapes/Group.ts +1053 -0
- package/src/shapes/IText/DraggableTextDelegate.ts +394 -0
- package/src/shapes/IText/IText.ts +666 -0
- package/src/shapes/IText/ITextBehavior.ts +1055 -0
- package/src/shapes/IText/ITextClickBehavior.ts +321 -0
- package/src/shapes/IText/ITextKeyBehavior.ts +683 -0
- package/src/shapes/IText/constants.ts +47 -0
- package/src/shapes/Image.ts +789 -0
- package/src/shapes/Line.ts +329 -0
- package/src/shapes/Object/AnimatableObject.ts +106 -0
- package/src/shapes/Object/FabricObject.ts +19 -0
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +277 -0
- package/src/shapes/Object/InteractiveObject.ts +645 -0
- package/src/shapes/Object/Object.ts +1896 -0
- package/src/shapes/Object/ObjectGeometry.ts +830 -0
- package/src/shapes/Object/ObjectOrigin.ts +354 -0
- package/src/shapes/Object/StackedObject.ts +191 -0
- package/src/shapes/Object/defaultValues.ts +112 -0
- package/src/shapes/Path.ts +395 -0
- package/src/shapes/Polygon.ts +19 -0
- package/src/shapes/Polyline.ts +333 -0
- package/src/shapes/Rect.ts +199 -0
- package/src/shapes/Text/StyledText.ts +319 -0
- package/src/shapes/Text/Text.ts +1948 -0
- package/src/shapes/Text/TextSVGExportMixin.ts +288 -0
- package/src/shapes/Textbox.ts +471 -0
- package/src/shapes/Triangle.ts +45 -0
- package/src/typedefs.ts +119 -0
- package/src/util/animation/AnimationBase.ts +166 -0
- package/src/util/animation/AnimationFrameProvider.ts +28 -0
- package/src/util/animation/AnimationRegistry.ts +58 -0
- package/src/util/animation/ArrayAnimation.ts +27 -0
- package/src/util/animation/ColorAnimation.ts +74 -0
- package/src/util/animation/ValueAnimation.ts +29 -0
- package/src/util/animation/animate.ts +74 -0
- package/src/util/animation/easing.ts +327 -0
- package/src/util/animation/types.ts +136 -0
- package/src/util/applyMixins.ts +22 -0
- package/src/util/class_registry.ts +54 -0
- package/src/util/dom_event.ts +28 -0
- package/src/util/dom_misc.ts +138 -0
- package/src/util/dom_request.ts +64 -0
- package/src/util/dom_style.ts +20 -0
- package/src/util/fireEvent.ts +15 -0
- package/src/util/internals/cloneDeep.ts +2 -0
- package/src/util/internals/getRandomInt.ts +8 -0
- package/src/util/internals/ifNaN.ts +9 -0
- package/src/util/internals/index.ts +3 -0
- package/src/util/internals/removeFromArray.ts +14 -0
- package/src/util/internals/uid.ts +3 -0
- package/src/util/lang_class.ts +90 -0
- package/src/util/lang_string.ts +79 -0
- package/src/util/misc/boundingBoxFromPoints.ts +37 -0
- package/src/util/misc/capValue.ts +2 -0
- package/src/util/misc/cos.ts +24 -0
- package/src/util/misc/dom.ts +50 -0
- package/src/util/misc/findScaleTo.ts +44 -0
- package/src/util/misc/groupSVGElements.ts +15 -0
- package/src/util/misc/isTransparent.ts +51 -0
- package/src/util/misc/matrix.ts +207 -0
- package/src/util/misc/mergeClipPaths.ts +40 -0
- package/src/util/misc/objectEnlive.ts +189 -0
- package/src/util/misc/objectTransforms.ts +129 -0
- package/src/util/misc/pick.ts +17 -0
- package/src/util/misc/planeChange.ts +136 -0
- package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +112 -0
- package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +231 -0
- package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +75 -0
- package/src/util/misc/projectStroke/index.ts +53 -0
- package/src/util/misc/projectStroke/types.ts +24 -0
- package/src/util/misc/radiansDegreesConversion.ts +18 -0
- package/src/util/misc/resolveOrigin.ts +22 -0
- package/src/util/misc/rotatePoint.ts +15 -0
- package/src/util/misc/sin.ts +26 -0
- package/src/util/misc/svgParsing.ts +181 -0
- package/src/util/misc/textStyles.ts +133 -0
- package/src/util/misc/toFixed.ts +8 -0
- package/src/util/misc/vectors.ts +82 -0
- package/src/util/path.ts +941 -0
- package/src/util/transform_matrix_removal.ts +60 -0
- package/src/util/types.ts +78 -0
- package/tsconfig.json +106 -0
- package/HEADER.js +0 -203
- package/build.js +0 -287
- package/dist/fabric.js +0 -31187
- package/dist/fabric.min.js +0 -1
- package/old-travis-reference.yml +0 -97
- package/src/brushes/circle_brush.class.js +0 -144
- package/src/brushes/pattern_brush.class.js +0 -61
- package/src/brushes/pencil_brush.class.js +0 -310
- package/src/brushes/spray_brush.class.js +0 -219
- package/src/canvas.class.js +0 -1312
- package/src/color.class.js +0 -636
- package/src/control.class.js +0 -339
- package/src/controls.actions.js +0 -740
- package/src/controls.render.js +0 -99
- package/src/elements_parser.js +0 -152
- package/src/filters/2d_backend.class.js +0 -65
- package/src/filters/blendcolor_filter.class.js +0 -251
- package/src/filters/blendimage_filter.class.js +0 -247
- package/src/filters/blur_filter.class.js +0 -217
- package/src/filters/brightness_filter.class.js +0 -113
- package/src/filters/colormatrix_filter.class.js +0 -159
- package/src/filters/composed_filter.class.js +0 -72
- package/src/filters/contrast_filter.class.js +0 -113
- package/src/filters/convolute_filter.class.js +0 -352
- package/src/filters/filter_boilerplate.js +0 -111
- package/src/filters/filter_generator.js +0 -85
- package/src/filters/gamma_filter.class.js +0 -136
- package/src/filters/grayscale_filter.class.js +0 -154
- package/src/filters/hue_rotation.class.js +0 -107
- package/src/filters/invert_filter.class.js +0 -111
- package/src/filters/noise_filter.class.js +0 -134
- package/src/filters/pixelate_filter.class.js +0 -137
- package/src/filters/removecolor_filter.class.js +0 -173
- package/src/filters/resize_filter.class.js +0 -490
- package/src/filters/saturate_filter.class.js +0 -119
- package/src/filters/vibrance_filter.class.js +0 -122
- package/src/filters/webgl_backend.class.js +0 -396
- package/src/globalFabric.js +0 -4
- package/src/gradient.class.js +0 -490
- package/src/intersection.class.js +0 -172
- package/src/log.js +0 -11
- package/src/mixins/animation.mixin.js +0 -231
- package/src/mixins/canvas_dataurl_exporter.mixin.js +0 -97
- package/src/mixins/canvas_events.mixin.js +0 -974
- package/src/mixins/canvas_gestures.mixin.js +0 -149
- package/src/mixins/canvas_grouping.mixin.js +0 -177
- package/src/mixins/canvas_serialization.mixin.js +0 -228
- package/src/mixins/collection.mixin.js +0 -170
- package/src/mixins/default_controls.js +0 -114
- package/src/mixins/itext.svg_export.js +0 -241
- package/src/mixins/itext_behavior.mixin.js +0 -940
- package/src/mixins/itext_click_behavior.mixin.js +0 -278
- package/src/mixins/itext_key_behavior.mixin.js +0 -694
- package/src/mixins/object.svg_export.js +0 -258
- package/src/mixins/object_geometry.mixin.js +0 -683
- package/src/mixins/object_interactivity.mixin.js +0 -314
- package/src/mixins/object_origin.mixin.js +0 -255
- package/src/mixins/object_stacking.mixin.js +0 -80
- package/src/mixins/object_straightening.mixin.js +0 -80
- package/src/mixins/observable.mixin.js +0 -141
- package/src/mixins/shared_methods.mixin.js +0 -94
- package/src/mixins/stateful.mixin.js +0 -107
- package/src/mixins/text_style.mixin.js +0 -324
- package/src/parser.js +0 -1090
- package/src/pattern.class.js +0 -189
- package/src/point.class.js +0 -337
- package/src/shadow.class.js +0 -195
- package/src/shapes/active_selection.class.js +0 -155
- package/src/shapes/circle.class.js +0 -210
- package/src/shapes/ellipse.class.js +0 -181
- package/src/shapes/group.class.js +0 -593
- package/src/shapes/image.class.js +0 -764
- package/src/shapes/itext.class.js +0 -526
- package/src/shapes/line.class.js +0 -324
- package/src/shapes/object.class.js +0 -2008
- package/src/shapes/path.class.js +0 -384
- package/src/shapes/polygon.class.js +0 -81
- package/src/shapes/polyline.class.js +0 -268
- package/src/shapes/rect.class.js +0 -187
- package/src/shapes/text.class.js +0 -1696
- package/src/shapes/textbox.class.js +0 -461
- package/src/shapes/triangle.class.js +0 -93
- package/src/static_canvas.class.js +0 -1881
- package/src/util/anim_ease.js +0 -398
- package/src/util/animate.js +0 -254
- package/src/util/animate_color.js +0 -74
- package/src/util/dom_event.js +0 -50
- package/src/util/dom_misc.js +0 -300
- package/src/util/dom_request.js +0 -54
- package/src/util/dom_style.js +0 -70
- package/src/util/lang_array.js +0 -94
- package/src/util/lang_class.js +0 -115
- package/src/util/lang_object.js +0 -75
- package/src/util/lang_string.js +0 -110
- package/src/util/misc.js +0 -1330
- package/src/util/named_accessors.mixin.js +0 -428
- package/src/util/path.js +0 -829
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Point } from '../Point';
|
|
2
|
+
import { PathData, TClassProperties } from '../typedefs';
|
|
3
|
+
import { type TPathSegmentsInfo } from '../util/path';
|
|
4
|
+
import { FabricObject } from './Object/FabricObject';
|
|
5
|
+
export declare class Path extends FabricObject {
|
|
6
|
+
/**
|
|
7
|
+
* Array of path points
|
|
8
|
+
* @type Array
|
|
9
|
+
* @default
|
|
10
|
+
*/
|
|
11
|
+
path: PathData;
|
|
12
|
+
pathOffset: Point;
|
|
13
|
+
fromSVG?: boolean;
|
|
14
|
+
sourcePath?: string;
|
|
15
|
+
segmentsInfo?: TPathSegmentsInfo[];
|
|
16
|
+
/**
|
|
17
|
+
* Constructor
|
|
18
|
+
* @param {Array|String} path Path data (sequence of coordinates and corresponding "command" tokens)
|
|
19
|
+
* @param {Object} [options] Options object
|
|
20
|
+
* @return {Path} thisArg
|
|
21
|
+
*/
|
|
22
|
+
constructor(path: PathData | string, { path, left, top, ...options }?: any);
|
|
23
|
+
/**
|
|
24
|
+
* @private
|
|
25
|
+
* @param {PathData | string} path Path data (sequence of coordinates and corresponding "command" tokens)
|
|
26
|
+
* @param {boolean} [adjustPosition] pass true to reposition the object according to the bounding box
|
|
27
|
+
* @returns {Point} top left position of the bounding box, useful for complementary positioning
|
|
28
|
+
*/
|
|
29
|
+
_setPath(path: PathData | string, adjustPosition?: boolean): Point;
|
|
30
|
+
/**
|
|
31
|
+
* @private
|
|
32
|
+
* @param {CanvasRenderingContext2D} ctx context to render path on
|
|
33
|
+
*/
|
|
34
|
+
_renderPathCommands(ctx: CanvasRenderingContext2D): void;
|
|
35
|
+
/**
|
|
36
|
+
* @private
|
|
37
|
+
* @param {CanvasRenderingContext2D} ctx context to render path on
|
|
38
|
+
*/
|
|
39
|
+
_render(ctx: CanvasRenderingContext2D): void;
|
|
40
|
+
/**
|
|
41
|
+
* Returns string representation of an instance
|
|
42
|
+
* @return {String} string representation of an instance
|
|
43
|
+
*/
|
|
44
|
+
toString(): string;
|
|
45
|
+
/**
|
|
46
|
+
* Returns object representation of an instance
|
|
47
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
48
|
+
* @return {Object} object representation of an instance
|
|
49
|
+
*/
|
|
50
|
+
toObject(propertiesToInclude?: (keyof this)[]): {
|
|
51
|
+
path: (string | number)[][];
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Returns dataless object representation of an instance
|
|
55
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
56
|
+
* @return {Object} object representation of an instance
|
|
57
|
+
*/
|
|
58
|
+
toDatalessObject(propertiesToInclude?: (keyof this)[]): {
|
|
59
|
+
path: (string | number)[][];
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Returns svg representation of an instance
|
|
63
|
+
* @return {Array} an array of strings with the specific svg representation
|
|
64
|
+
* of the instance
|
|
65
|
+
*/
|
|
66
|
+
_toSVG(): string[];
|
|
67
|
+
_getOffsetTransform(): string;
|
|
68
|
+
/**
|
|
69
|
+
* Returns svg clipPath representation of an instance
|
|
70
|
+
* @param {Function} [reviver] Method for further parsing of svg representation.
|
|
71
|
+
* @return {String} svg representation of an instance
|
|
72
|
+
*/
|
|
73
|
+
toClipPathSVG(reviver: any): string;
|
|
74
|
+
/**
|
|
75
|
+
* Returns svg representation of an instance
|
|
76
|
+
* @param {Function} [reviver] Method for further parsing of svg representation.
|
|
77
|
+
* @return {String} svg representation of an instance
|
|
78
|
+
*/
|
|
79
|
+
toSVG(reviver: any): string;
|
|
80
|
+
/**
|
|
81
|
+
* Returns number representation of an instance complexity
|
|
82
|
+
* @return {Number} complexity of this instance
|
|
83
|
+
*/
|
|
84
|
+
complexity(): number;
|
|
85
|
+
setDimensions(): Point;
|
|
86
|
+
/**
|
|
87
|
+
* @private
|
|
88
|
+
*/
|
|
89
|
+
_calcDimensions(): {
|
|
90
|
+
left: number;
|
|
91
|
+
top: number;
|
|
92
|
+
pathOffset: Point;
|
|
93
|
+
width: number;
|
|
94
|
+
height: number;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* List of attribute names to account for when parsing SVG element (used by `Path.fromElement`)
|
|
98
|
+
* @static
|
|
99
|
+
* @memberOf Path
|
|
100
|
+
* @see http://www.w3.org/TR/SVG/paths.html#PathElement
|
|
101
|
+
*/
|
|
102
|
+
static ATTRIBUTE_NAMES: string[];
|
|
103
|
+
/**
|
|
104
|
+
* Creates an instance of Path from an object
|
|
105
|
+
* @static
|
|
106
|
+
* @memberOf Path
|
|
107
|
+
* @param {Object} object
|
|
108
|
+
* @returns {Promise<Path>}
|
|
109
|
+
*/
|
|
110
|
+
static fromObject(object: any): Promise<import("./Object/Object").FabricObject<import("../EventTypeDefs").ObjectEvents>>;
|
|
111
|
+
/**
|
|
112
|
+
* Creates an instance of Path from an SVG <path> element
|
|
113
|
+
* @static
|
|
114
|
+
* @memberOf Path
|
|
115
|
+
* @param {SVGElement} element to parse
|
|
116
|
+
* @param {Function} callback Callback to invoke when an Path instance is created
|
|
117
|
+
* @param {Object} [options] Options object
|
|
118
|
+
* @param {Function} [callback] Options callback invoked after parsing is finished
|
|
119
|
+
*/
|
|
120
|
+
static fromElement(element: any, callback: any, options: any): void;
|
|
121
|
+
}
|
|
122
|
+
export declare const pathDefaultValues: Partial<TClassProperties<Path>>;
|
|
123
|
+
//# sourceMappingURL=Path.d.ts.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TClassProperties } from '../typedefs';
|
|
2
|
+
import { Polyline } from './Polyline';
|
|
3
|
+
export declare class Polygon extends Polyline {
|
|
4
|
+
protected isOpen(): boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const polygonDefaultValues: Partial<TClassProperties<Polygon>>;
|
|
7
|
+
//# sourceMappingURL=Polygon.d.ts.map
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { IPoint, Point } from '../Point';
|
|
2
|
+
import { TClassProperties } from '../typedefs';
|
|
3
|
+
import { FabricObject } from './Object/FabricObject';
|
|
4
|
+
export declare class Polyline extends FabricObject {
|
|
5
|
+
/**
|
|
6
|
+
* Points array
|
|
7
|
+
* @type Array
|
|
8
|
+
* @default
|
|
9
|
+
*/
|
|
10
|
+
points: IPoint[];
|
|
11
|
+
/**
|
|
12
|
+
* WARNING: Feature in progress
|
|
13
|
+
* Calculate the exact bounding box taking in account strokeWidth on acute angles
|
|
14
|
+
* this will be turned to true by default on fabric 6.0
|
|
15
|
+
* maybe will be left in as an optimization since calculations may be slow
|
|
16
|
+
* @deprecated
|
|
17
|
+
* @type Boolean
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
exactBoundingBox: boolean;
|
|
21
|
+
private initialized;
|
|
22
|
+
/**
|
|
23
|
+
* A list of properties that if changed trigger a recalculation of dimensions
|
|
24
|
+
* @todo check if you really need to recalculate for all cases
|
|
25
|
+
*/
|
|
26
|
+
strokeBBoxAffectingProperties: (keyof this)[];
|
|
27
|
+
fromSVG: boolean;
|
|
28
|
+
pathOffset: Point;
|
|
29
|
+
strokeOffset: Point;
|
|
30
|
+
/**
|
|
31
|
+
* Constructor
|
|
32
|
+
* @param {Array} points Array of points (where each point is an object with x and y)
|
|
33
|
+
* @param {Object} [options] Options object
|
|
34
|
+
* @return {Polyline} thisArg
|
|
35
|
+
* @example
|
|
36
|
+
* var poly = new Polyline([
|
|
37
|
+
* { x: 10, y: 10 },
|
|
38
|
+
* { x: 50, y: 30 },
|
|
39
|
+
* { x: 40, y: 70 },
|
|
40
|
+
* { x: 60, y: 50 },
|
|
41
|
+
* { x: 100, y: 150 },
|
|
42
|
+
* { x: 40, y: 100 }
|
|
43
|
+
* ], {
|
|
44
|
+
* stroke: 'red',
|
|
45
|
+
* left: 100,
|
|
46
|
+
* top: 100
|
|
47
|
+
* });
|
|
48
|
+
*/
|
|
49
|
+
constructor(points?: IPoint[], { left, top, ...options }?: any);
|
|
50
|
+
protected isOpen(): boolean;
|
|
51
|
+
private _projectStrokeOnPoints;
|
|
52
|
+
/**
|
|
53
|
+
* Calculate the polygon bounding box
|
|
54
|
+
* @private
|
|
55
|
+
*/
|
|
56
|
+
_calcDimensions(): {
|
|
57
|
+
left: number;
|
|
58
|
+
top: number;
|
|
59
|
+
width: number;
|
|
60
|
+
height: number;
|
|
61
|
+
pathOffset: Point;
|
|
62
|
+
strokeOffset: Point;
|
|
63
|
+
};
|
|
64
|
+
setDimensions(): void;
|
|
65
|
+
setBoundingBox(adjustPosition?: boolean): void;
|
|
66
|
+
/**
|
|
67
|
+
* @override stroke is taken in account in size
|
|
68
|
+
*/
|
|
69
|
+
_getNonTransformedDimensions(): Point;
|
|
70
|
+
/**
|
|
71
|
+
* @override stroke and skewing are taken into account when projecting stroke on points,
|
|
72
|
+
* therefore we don't want the default calculation to account for skewing as well
|
|
73
|
+
*
|
|
74
|
+
* @private
|
|
75
|
+
*/
|
|
76
|
+
_getTransformedDimensions(options?: any): Point;
|
|
77
|
+
/**
|
|
78
|
+
* Recalculates dimensions when changing skew and scale
|
|
79
|
+
* @private
|
|
80
|
+
*/
|
|
81
|
+
_set(key: string, value: any): this;
|
|
82
|
+
/**
|
|
83
|
+
* Returns object representation of an instance
|
|
84
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
85
|
+
* @return {Object} Object representation of an instance
|
|
86
|
+
*/
|
|
87
|
+
toObject(propertiesToInclude?: string[]): object;
|
|
88
|
+
/**
|
|
89
|
+
* Returns svg representation of an instance
|
|
90
|
+
* @return {Array} an array of strings with the specific svg representation
|
|
91
|
+
* of the instance
|
|
92
|
+
*/
|
|
93
|
+
_toSVG(): string[];
|
|
94
|
+
/**
|
|
95
|
+
* @private
|
|
96
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
97
|
+
*/
|
|
98
|
+
_render(ctx: CanvasRenderingContext2D): void;
|
|
99
|
+
/**
|
|
100
|
+
* Returns complexity of an instance
|
|
101
|
+
* @return {Number} complexity of this instance
|
|
102
|
+
*/
|
|
103
|
+
complexity(): number;
|
|
104
|
+
/**
|
|
105
|
+
* List of attribute names to account for when parsing SVG element (used by {@link Polyline.fromElement})
|
|
106
|
+
* @static
|
|
107
|
+
* @memberOf Polyline
|
|
108
|
+
* @see: http://www.w3.org/TR/SVG/shapes.html#PolylineElement
|
|
109
|
+
*/
|
|
110
|
+
static ATTRIBUTE_NAMES: string[];
|
|
111
|
+
/**
|
|
112
|
+
* Returns Polyline instance from an SVG element
|
|
113
|
+
* @static
|
|
114
|
+
* @memberOf Polyline
|
|
115
|
+
* @param {SVGElement} element Element to parser
|
|
116
|
+
* @param {Function} callback callback function invoked after parsing
|
|
117
|
+
* @param {Object} [options] Options object
|
|
118
|
+
*/
|
|
119
|
+
static fromElement(element: SVGElement, callback: (poly: Polyline | null) => any, options?: any): any;
|
|
120
|
+
/**
|
|
121
|
+
* Returns Polyline instance from an object representation
|
|
122
|
+
* @static
|
|
123
|
+
* @memberOf Polyline
|
|
124
|
+
* @param {Object} object Object to create an instance from
|
|
125
|
+
* @returns {Promise<Polyline>}
|
|
126
|
+
*/
|
|
127
|
+
static fromObject(object: Record<string, unknown>): Promise<import("./Object/Object").FabricObject<import("../EventTypeDefs").ObjectEvents>>;
|
|
128
|
+
}
|
|
129
|
+
export declare const polylineDefaultValues: Partial<TClassProperties<Polyline>>;
|
|
130
|
+
//# sourceMappingURL=Polyline.d.ts.map
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { TClassProperties } from '../typedefs';
|
|
2
|
+
import { FabricObject } from './Object/FabricObject';
|
|
3
|
+
export declare class Rect extends FabricObject {
|
|
4
|
+
/**
|
|
5
|
+
* Horizontal border radius
|
|
6
|
+
* @type Number
|
|
7
|
+
* @default
|
|
8
|
+
*/
|
|
9
|
+
rx: number;
|
|
10
|
+
/**
|
|
11
|
+
* Vertical border radius
|
|
12
|
+
* @type Number
|
|
13
|
+
* @default
|
|
14
|
+
*/
|
|
15
|
+
ry: number;
|
|
16
|
+
/**
|
|
17
|
+
* Constructor
|
|
18
|
+
* @param {Object} [options] Options object
|
|
19
|
+
* @return {Object} thisArg
|
|
20
|
+
*/
|
|
21
|
+
constructor(options: Record<string, unknown>);
|
|
22
|
+
/**
|
|
23
|
+
* Initializes rx/ry attributes
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
_initRxRy(): void;
|
|
27
|
+
/**
|
|
28
|
+
* @private
|
|
29
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
30
|
+
*/
|
|
31
|
+
_render(ctx: CanvasRenderingContext2D): void;
|
|
32
|
+
/**
|
|
33
|
+
* Returns object representation of an instance
|
|
34
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
35
|
+
* @return {Object} object representation of an instance
|
|
36
|
+
*/
|
|
37
|
+
toObject(propertiesToInclude?: string[]): Record<string, any>;
|
|
38
|
+
/**
|
|
39
|
+
* Returns svg representation of an instance
|
|
40
|
+
* @return {Array} an array of strings with the specific svg representation
|
|
41
|
+
* of the instance
|
|
42
|
+
*/
|
|
43
|
+
_toSVG(): string[];
|
|
44
|
+
/**
|
|
45
|
+
* List of attribute names to account for when parsing SVG element (used by `Rect.fromElement`)
|
|
46
|
+
* @static
|
|
47
|
+
* @memberOf Rect
|
|
48
|
+
* @see: http://www.w3.org/TR/SVG/shapes.html#RectElement
|
|
49
|
+
*/
|
|
50
|
+
static ATTRIBUTE_NAMES: string[];
|
|
51
|
+
/**
|
|
52
|
+
* Returns {@link Rect} instance from an SVG element
|
|
53
|
+
* @static
|
|
54
|
+
* @memberOf Rect
|
|
55
|
+
* @param {SVGElement} element Element to parse
|
|
56
|
+
* @param {Function} callback callback function invoked after parsing
|
|
57
|
+
* @param {Object} [options] Options object
|
|
58
|
+
*/
|
|
59
|
+
static fromElement(element: SVGElement, callback: (rect: Rect | null) => void, options?: {}): void;
|
|
60
|
+
}
|
|
61
|
+
export declare const rectDefaultValues: Partial<TClassProperties<Rect>>;
|
|
62
|
+
//# sourceMappingURL=Rect.d.ts.map
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { ObjectEvents } from '../../EventTypeDefs';
|
|
2
|
+
import { FabricObject } from '../Object/FabricObject';
|
|
3
|
+
export type TextStyleDeclaration = Record<string, any>;
|
|
4
|
+
export type TextStyle = {
|
|
5
|
+
[line: number | string]: {
|
|
6
|
+
[char: number | string]: TextStyleDeclaration;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export declare abstract class StyledText<EventSpec extends ObjectEvents> extends FabricObject<EventSpec> {
|
|
10
|
+
abstract styles: TextStyle;
|
|
11
|
+
protected abstract _textLines: string[][];
|
|
12
|
+
protected abstract _forceClearCache: boolean;
|
|
13
|
+
protected abstract _styleProperties: string[];
|
|
14
|
+
abstract get2DCursorLocation(selectionStart: number, skipWrapping?: boolean): {
|
|
15
|
+
charIndex: number;
|
|
16
|
+
lineIndex: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Returns true if object has no styling or no styling in a line
|
|
20
|
+
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
21
|
+
* @return {Boolean}
|
|
22
|
+
*/
|
|
23
|
+
isEmptyStyles(lineIndex?: number): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Returns true if object has a style property or has it ina specified line
|
|
26
|
+
* This function is used to detect if a text will use a particular property or not.
|
|
27
|
+
* @param {String} property to check for
|
|
28
|
+
* @param {Number} lineIndex to check the style on
|
|
29
|
+
* @return {Boolean}
|
|
30
|
+
*/
|
|
31
|
+
styleHas(property: string, lineIndex?: number): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Check if characters in a text have a value for a property
|
|
34
|
+
* whose value matches the textbox's value for that property. If so,
|
|
35
|
+
* the character-level property is deleted. If the character
|
|
36
|
+
* has no other properties, then it is also deleted. Finally,
|
|
37
|
+
* if the line containing that character has no other characters
|
|
38
|
+
* then it also is deleted.
|
|
39
|
+
*
|
|
40
|
+
* @param {string} property The property to compare between characters and text.
|
|
41
|
+
*/
|
|
42
|
+
cleanStyle(property: string): false | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Remove a style property or properties from all individual character styles
|
|
45
|
+
* in a text object. Deletes the character style object if it contains no other style
|
|
46
|
+
* props. Deletes a line style object if it contains no other character styles.
|
|
47
|
+
*
|
|
48
|
+
* @param {String} props The property to remove from character styles.
|
|
49
|
+
*/
|
|
50
|
+
removeStyle(property: string): void;
|
|
51
|
+
private _extendStyles;
|
|
52
|
+
/**
|
|
53
|
+
* Gets style of a current selection/cursor (at the start position)
|
|
54
|
+
* @param {Number} startIndex Start index to get styles at
|
|
55
|
+
* @param {Number} endIndex End index to get styles at, if not specified startIndex + 1
|
|
56
|
+
* @param {Boolean} [complete] get full style or not
|
|
57
|
+
* @return {Array} styles an array with one, zero or more Style objects
|
|
58
|
+
*/
|
|
59
|
+
getSelectionStyles(startIndex: number, endIndex?: number, complete?: boolean): TextStyleDeclaration[];
|
|
60
|
+
/**
|
|
61
|
+
* Gets style of a current selection/cursor position
|
|
62
|
+
* @param {Number} position to get styles at
|
|
63
|
+
* @param {Boolean} [complete] full style if true
|
|
64
|
+
* @return {Object} style Style object at a specified index
|
|
65
|
+
* @private
|
|
66
|
+
*/
|
|
67
|
+
getStyleAtPosition(position: number, complete?: boolean): TextStyleDeclaration;
|
|
68
|
+
/**
|
|
69
|
+
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
70
|
+
* @param {Object} styles Styles object
|
|
71
|
+
* @param {Number} startIndex Start index to get styles at
|
|
72
|
+
* @param {Number} [endIndex] End index to get styles at, if not specified startIndex + 1
|
|
73
|
+
*/
|
|
74
|
+
setSelectionStyles(styles: object, startIndex: number, endIndex?: number): void;
|
|
75
|
+
/**
|
|
76
|
+
* get the reference, not a clone, of the style object for a given character
|
|
77
|
+
* @param {Number} lineIndex
|
|
78
|
+
* @param {Number} charIndex
|
|
79
|
+
* @return {Object} style object
|
|
80
|
+
*/
|
|
81
|
+
_getStyleDeclaration(lineIndex: number, charIndex: number): TextStyleDeclaration | null;
|
|
82
|
+
/**
|
|
83
|
+
* return a new object that contains all the style property for a character
|
|
84
|
+
* the object returned is newly created
|
|
85
|
+
* @param {Number} lineIndex of the line where the character is
|
|
86
|
+
* @param {Number} charIndex position of the character on the line
|
|
87
|
+
* @return {Object} style object
|
|
88
|
+
*/
|
|
89
|
+
getCompleteStyleDeclaration(lineIndex: number, charIndex: number): TextStyleDeclaration;
|
|
90
|
+
/**
|
|
91
|
+
* @param {Number} lineIndex
|
|
92
|
+
* @param {Number} charIndex
|
|
93
|
+
* @param {Object} style
|
|
94
|
+
* @private
|
|
95
|
+
*/
|
|
96
|
+
protected _setStyleDeclaration(lineIndex: number, charIndex: number, style: object): void;
|
|
97
|
+
/**
|
|
98
|
+
*
|
|
99
|
+
* @param {Number} lineIndex
|
|
100
|
+
* @param {Number} charIndex
|
|
101
|
+
* @private
|
|
102
|
+
*/
|
|
103
|
+
protected _deleteStyleDeclaration(lineIndex: number, charIndex: number): void;
|
|
104
|
+
/**
|
|
105
|
+
* @param {Number} lineIndex
|
|
106
|
+
* @return {Boolean} if the line exists or not
|
|
107
|
+
* @private
|
|
108
|
+
*/
|
|
109
|
+
protected _getLineStyle(lineIndex: number): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Set the line style to an empty object so that is initialized
|
|
112
|
+
* @param {Number} lineIndex
|
|
113
|
+
* @private
|
|
114
|
+
*/
|
|
115
|
+
protected _setLineStyle(lineIndex: number): void;
|
|
116
|
+
protected _deleteLineStyle(lineIndex: number): void;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=StyledText.d.ts.map
|