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,335 @@
|
|
|
1
|
+
import { ITextEvents } from './ITextBehavior';
|
|
2
|
+
import { ITextClickBehavior } from './ITextClickBehavior';
|
|
3
|
+
import { AssertKeys, TFiller } from '../../typedefs';
|
|
4
|
+
import type { SerializedTextProps, TextProps } from '../Text/Text';
|
|
5
|
+
type CursorBoundaries = {
|
|
6
|
+
left: number;
|
|
7
|
+
top: number;
|
|
8
|
+
leftOffset: number;
|
|
9
|
+
topOffset: number;
|
|
10
|
+
};
|
|
11
|
+
export declare const iTextDefaultValues: {
|
|
12
|
+
selectionStart: number;
|
|
13
|
+
selectionEnd: number;
|
|
14
|
+
selectionColor: string;
|
|
15
|
+
isEditing: boolean;
|
|
16
|
+
editable: boolean;
|
|
17
|
+
editingBorderColor: string;
|
|
18
|
+
cursorWidth: number;
|
|
19
|
+
cursorColor: string;
|
|
20
|
+
cursorDelay: number;
|
|
21
|
+
cursorDuration: number;
|
|
22
|
+
caching: boolean;
|
|
23
|
+
hiddenTextareaContainer: null;
|
|
24
|
+
_selectionDirection: null;
|
|
25
|
+
_reSpace: RegExp;
|
|
26
|
+
inCompositionMode: boolean;
|
|
27
|
+
keysMap: import("./constants").TKeyMapIText;
|
|
28
|
+
keysMapRtl: import("./constants").TKeyMapIText;
|
|
29
|
+
ctrlKeysMapDown: import("./constants").TKeyMapIText;
|
|
30
|
+
ctrlKeysMapUp: import("./constants").TKeyMapIText;
|
|
31
|
+
};
|
|
32
|
+
interface UniqueITextProps {
|
|
33
|
+
selectionStart: number;
|
|
34
|
+
selectionEnd: number;
|
|
35
|
+
}
|
|
36
|
+
export interface SerializedITextProps extends SerializedTextProps, UniqueITextProps {
|
|
37
|
+
}
|
|
38
|
+
export interface ITextProps extends TextProps, UniqueITextProps {
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @fires changed
|
|
42
|
+
* @fires selection:changed
|
|
43
|
+
* @fires editing:entered
|
|
44
|
+
* @fires editing:exited
|
|
45
|
+
* @fires dragstart
|
|
46
|
+
* @fires drag drag event firing on the drag source
|
|
47
|
+
* @fires dragend
|
|
48
|
+
* @fires copy
|
|
49
|
+
* @fires cut
|
|
50
|
+
* @fires paste
|
|
51
|
+
*
|
|
52
|
+
* #### Supported key combinations
|
|
53
|
+
* ```
|
|
54
|
+
* Move cursor: left, right, up, down
|
|
55
|
+
* Select character: shift + left, shift + right
|
|
56
|
+
* Select text vertically: shift + up, shift + down
|
|
57
|
+
* Move cursor by word: alt + left, alt + right
|
|
58
|
+
* Select words: shift + alt + left, shift + alt + right
|
|
59
|
+
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
60
|
+
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
61
|
+
* Jump to start/end of text: cmd + up, cmd + down
|
|
62
|
+
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
63
|
+
* Delete character: backspace
|
|
64
|
+
* Delete word: alt + backspace
|
|
65
|
+
* Delete line: cmd + backspace
|
|
66
|
+
* Forward delete: delete
|
|
67
|
+
* Copy text: ctrl/cmd + c
|
|
68
|
+
* Paste text: ctrl/cmd + v
|
|
69
|
+
* Cut text: ctrl/cmd + x
|
|
70
|
+
* Select entire text: ctrl/cmd + a
|
|
71
|
+
* Quit editing tab or esc
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* #### Supported mouse/touch combination
|
|
75
|
+
* ```
|
|
76
|
+
* Position cursor: click/touch
|
|
77
|
+
* Create selection: click/touch & drag
|
|
78
|
+
* Create selection: click & shift + click
|
|
79
|
+
* Select word: double click
|
|
80
|
+
* Select line: triple click
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare class IText<Props extends ITextProps = ITextProps, SProps extends SerializedITextProps = SerializedITextProps, EventSpec extends ITextEvents = ITextEvents> extends ITextClickBehavior<Props, SProps, EventSpec> implements UniqueITextProps {
|
|
84
|
+
/**
|
|
85
|
+
* Index where text selection starts (or where cursor is when there is no selection)
|
|
86
|
+
* @type Number
|
|
87
|
+
* @default
|
|
88
|
+
*/
|
|
89
|
+
selectionStart: number;
|
|
90
|
+
/**
|
|
91
|
+
* Index where text selection ends
|
|
92
|
+
* @type Number
|
|
93
|
+
* @default
|
|
94
|
+
*/
|
|
95
|
+
selectionEnd: number;
|
|
96
|
+
compositionStart: number;
|
|
97
|
+
compositionEnd: number;
|
|
98
|
+
/**
|
|
99
|
+
* Color of text selection
|
|
100
|
+
* @type String
|
|
101
|
+
* @default
|
|
102
|
+
*/
|
|
103
|
+
selectionColor: string;
|
|
104
|
+
/**
|
|
105
|
+
* Indicates whether text is in editing mode
|
|
106
|
+
* @type Boolean
|
|
107
|
+
* @default
|
|
108
|
+
*/
|
|
109
|
+
isEditing: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Indicates whether a text can be edited
|
|
112
|
+
* @type Boolean
|
|
113
|
+
* @default
|
|
114
|
+
*/
|
|
115
|
+
editable: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Border color of text object while it's in editing mode
|
|
118
|
+
* @type String
|
|
119
|
+
* @default
|
|
120
|
+
*/
|
|
121
|
+
editingBorderColor: string;
|
|
122
|
+
/**
|
|
123
|
+
* Width of cursor (in px)
|
|
124
|
+
* @type Number
|
|
125
|
+
* @default
|
|
126
|
+
*/
|
|
127
|
+
cursorWidth: number;
|
|
128
|
+
/**
|
|
129
|
+
* Color of text cursor color in editing mode.
|
|
130
|
+
* if not set (default) will take color from the text.
|
|
131
|
+
* if set to a color value that fabric can understand, it will
|
|
132
|
+
* be used instead of the color of the text at the current position.
|
|
133
|
+
* @type String
|
|
134
|
+
* @default
|
|
135
|
+
*/
|
|
136
|
+
cursorColor: string;
|
|
137
|
+
/**
|
|
138
|
+
* Delay between cursor blink (in ms)
|
|
139
|
+
* @type Number
|
|
140
|
+
* @default
|
|
141
|
+
*/
|
|
142
|
+
cursorDelay: number;
|
|
143
|
+
/**
|
|
144
|
+
* Duration of cursor fade in (in ms)
|
|
145
|
+
* @type Number
|
|
146
|
+
* @default
|
|
147
|
+
*/
|
|
148
|
+
cursorDuration: number;
|
|
149
|
+
compositionColor: string;
|
|
150
|
+
/**
|
|
151
|
+
* Indicates whether internal text char widths can be cached
|
|
152
|
+
* @type Boolean
|
|
153
|
+
* @default
|
|
154
|
+
*/
|
|
155
|
+
caching: boolean;
|
|
156
|
+
static ownDefaults: Record<string, any>;
|
|
157
|
+
static getDefaults(): {
|
|
158
|
+
[x: string]: any;
|
|
159
|
+
};
|
|
160
|
+
get type(): string;
|
|
161
|
+
/**
|
|
162
|
+
|
|
163
|
+
* Constructor
|
|
164
|
+
* @param {String} text Text string
|
|
165
|
+
* @param {Object} [options] Options object
|
|
166
|
+
*/
|
|
167
|
+
constructor(text: string, options: object);
|
|
168
|
+
/**
|
|
169
|
+
* While editing handle differently
|
|
170
|
+
* @private
|
|
171
|
+
* @param {string} key
|
|
172
|
+
* @param {*} value
|
|
173
|
+
*/
|
|
174
|
+
_set(key: string, value: any): this;
|
|
175
|
+
/**
|
|
176
|
+
* Sets selection start (left boundary of a selection)
|
|
177
|
+
* @param {Number} index Index to set selection start to
|
|
178
|
+
*/
|
|
179
|
+
setSelectionStart(index: number): void;
|
|
180
|
+
/**
|
|
181
|
+
* Sets selection end (right boundary of a selection)
|
|
182
|
+
* @param {Number} index Index to set selection end to
|
|
183
|
+
*/
|
|
184
|
+
setSelectionEnd(index: number): void;
|
|
185
|
+
/**
|
|
186
|
+
* @private
|
|
187
|
+
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
188
|
+
* @param {Number} index new position of property
|
|
189
|
+
*/
|
|
190
|
+
protected _updateAndFire(property: 'selectionStart' | 'selectionEnd', index: number): void;
|
|
191
|
+
/**
|
|
192
|
+
* Fires the even of selection changed
|
|
193
|
+
* @private
|
|
194
|
+
*/
|
|
195
|
+
_fireSelectionChanged(): void;
|
|
196
|
+
/**
|
|
197
|
+
* Initialize text dimensions. Render all text on given context
|
|
198
|
+
* or on a offscreen canvas to get the text width with measureText.
|
|
199
|
+
* Updates this.width and this.height with the proper values.
|
|
200
|
+
* Does not return dimensions.
|
|
201
|
+
* @private
|
|
202
|
+
*/
|
|
203
|
+
initDimensions(): void;
|
|
204
|
+
/**
|
|
205
|
+
* Gets style of a current selection/cursor (at the start position)
|
|
206
|
+
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
207
|
+
* @param {Number} startIndex Start index to get styles at
|
|
208
|
+
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
209
|
+
* @param {Boolean} [complete] get full style or not
|
|
210
|
+
* @return {Array} styles an array with one, zero or more Style objects
|
|
211
|
+
*/
|
|
212
|
+
getSelectionStyles(startIndex?: number, endIndex?: number, complete?: boolean): import("../Text/StyledText").TextStyleDeclaration[];
|
|
213
|
+
/**
|
|
214
|
+
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
215
|
+
* @param {Object} [styles] Styles object
|
|
216
|
+
* @param {Number} [startIndex] Start index to get styles at
|
|
217
|
+
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
218
|
+
*/
|
|
219
|
+
setSelectionStyles(styles: object, startIndex?: number, endIndex?: number): void;
|
|
220
|
+
/**
|
|
221
|
+
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
222
|
+
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
223
|
+
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
224
|
+
*/
|
|
225
|
+
get2DCursorLocation(selectionStart?: number, skipWrapping?: boolean): {
|
|
226
|
+
lineIndex: number;
|
|
227
|
+
charIndex: number;
|
|
228
|
+
};
|
|
229
|
+
/**
|
|
230
|
+
* @private
|
|
231
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
232
|
+
*/
|
|
233
|
+
render(ctx: CanvasRenderingContext2D): void;
|
|
234
|
+
/**
|
|
235
|
+
* @override block cursor/selection logic while rendering the exported canvas
|
|
236
|
+
* @todo this workaround should be replaced with a more robust solution
|
|
237
|
+
*/
|
|
238
|
+
toCanvasElement(options?: any): HTMLCanvasElement;
|
|
239
|
+
/**
|
|
240
|
+
* Renders cursor or selection (depending on what exists)
|
|
241
|
+
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
242
|
+
*/
|
|
243
|
+
renderCursorOrSelection(): void;
|
|
244
|
+
/**
|
|
245
|
+
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
246
|
+
* left/top are left/top of entire text box
|
|
247
|
+
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
248
|
+
* @private
|
|
249
|
+
* @param {number} [index] index from start
|
|
250
|
+
* @param {boolean} [skipCaching]
|
|
251
|
+
*/
|
|
252
|
+
_getCursorBoundaries(index?: number, skipCaching?: boolean): CursorBoundaries;
|
|
253
|
+
/**
|
|
254
|
+
* Caches and returns cursor left/top offset relative to instance's center point
|
|
255
|
+
* @private
|
|
256
|
+
* @param {number} index index from start
|
|
257
|
+
* @param {boolean} [skipCaching]
|
|
258
|
+
*/
|
|
259
|
+
_getCursorBoundariesOffsets(index: number, skipCaching?: boolean): {
|
|
260
|
+
left: number;
|
|
261
|
+
top: number;
|
|
262
|
+
};
|
|
263
|
+
/**
|
|
264
|
+
* Calculates cursor left/top offset relative to instance's center point
|
|
265
|
+
* @private
|
|
266
|
+
* @param {number} index index from start
|
|
267
|
+
*/
|
|
268
|
+
__getCursorBoundariesOffsets(index: number): {
|
|
269
|
+
top: number;
|
|
270
|
+
left: number;
|
|
271
|
+
};
|
|
272
|
+
/**
|
|
273
|
+
* Renders cursor on context Top, outside the animation cycle, on request
|
|
274
|
+
* Used for the drag/drop effect.
|
|
275
|
+
* If contextTop is not available, do nothing.
|
|
276
|
+
*/
|
|
277
|
+
renderCursorAt(selectionStart: number): void;
|
|
278
|
+
/**
|
|
279
|
+
* Renders cursor
|
|
280
|
+
* @param {Object} boundaries
|
|
281
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
282
|
+
*/
|
|
283
|
+
renderCursor(ctx: CanvasRenderingContext2D, boundaries: CursorBoundaries): void;
|
|
284
|
+
_renderCursor(ctx: CanvasRenderingContext2D, boundaries: CursorBoundaries, selectionStart: number): void;
|
|
285
|
+
/**
|
|
286
|
+
* Renders text selection
|
|
287
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
288
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
289
|
+
*/
|
|
290
|
+
renderSelection(ctx: CanvasRenderingContext2D, boundaries: CursorBoundaries): void;
|
|
291
|
+
/**
|
|
292
|
+
* Renders drag start text selection
|
|
293
|
+
*/
|
|
294
|
+
renderDragSourceEffect(this: AssertKeys<this, 'canvas'>): void;
|
|
295
|
+
renderDropTargetEffect(e: DragEvent): void;
|
|
296
|
+
/**
|
|
297
|
+
* Renders text selection
|
|
298
|
+
* @private
|
|
299
|
+
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
300
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
301
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
302
|
+
*/
|
|
303
|
+
_renderSelection(ctx: CanvasRenderingContext2D, selection: {
|
|
304
|
+
selectionStart: number;
|
|
305
|
+
selectionEnd: number;
|
|
306
|
+
}, boundaries: CursorBoundaries): void;
|
|
307
|
+
/**
|
|
308
|
+
* High level function to know the height of the cursor.
|
|
309
|
+
* the currentChar is the one that precedes the cursor
|
|
310
|
+
* Returns fontSize of char at the current cursor
|
|
311
|
+
* Unused from the library, is for the end user
|
|
312
|
+
* @return {Number} Character font size
|
|
313
|
+
*/
|
|
314
|
+
getCurrentCharFontSize(): number;
|
|
315
|
+
/**
|
|
316
|
+
* High level function to know the color of the cursor.
|
|
317
|
+
* the currentChar is the one that precedes the cursor
|
|
318
|
+
* Returns color (fill) of char at the current cursor
|
|
319
|
+
* if the text object has a pattern or gradient for filler, it will return that.
|
|
320
|
+
* Unused by the library, is for the end user
|
|
321
|
+
* @return {String | TFiller} Character color (fill)
|
|
322
|
+
*/
|
|
323
|
+
getCurrentCharColor(): string | TFiller;
|
|
324
|
+
/**
|
|
325
|
+
* Returns the cursor position for the getCurrent.. functions
|
|
326
|
+
* @private
|
|
327
|
+
*/
|
|
328
|
+
_getCurrentCharIndex(): {
|
|
329
|
+
l: number;
|
|
330
|
+
c: number;
|
|
331
|
+
};
|
|
332
|
+
dispose(): void;
|
|
333
|
+
}
|
|
334
|
+
export {};
|
|
335
|
+
//# sourceMappingURL=IText.d.ts.map
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import { ObjectEvents, TPointerEvent, TPointerEventInfo } from '../../EventTypeDefs';
|
|
2
|
+
import type { FabricObject } from '../Object/Object';
|
|
3
|
+
import { Text } from '../Text/Text';
|
|
4
|
+
import { TOnAnimationChangeCallback } from '../../util/animation/types';
|
|
5
|
+
import type { ValueAnimation } from '../../util/animation/ValueAnimation';
|
|
6
|
+
import type { TextStyleDeclaration } from '../Text/StyledText';
|
|
7
|
+
import type { SerializedTextProps, TextProps } from '../Text/Text';
|
|
8
|
+
import { TProps } from '../Object/types';
|
|
9
|
+
export type ITextEvents = ObjectEvents & {
|
|
10
|
+
'selection:changed': never;
|
|
11
|
+
changed: never | {
|
|
12
|
+
index: number;
|
|
13
|
+
action: string;
|
|
14
|
+
};
|
|
15
|
+
tripleclick: TPointerEventInfo;
|
|
16
|
+
'editing:entered': never | {
|
|
17
|
+
e: TPointerEvent;
|
|
18
|
+
};
|
|
19
|
+
'editing:exited': never;
|
|
20
|
+
};
|
|
21
|
+
export declare abstract class ITextBehavior<Props extends TProps<TextProps> = Partial<TextProps>, SProps extends SerializedTextProps = SerializedTextProps, EventSpec extends ITextEvents = ITextEvents> extends Text<Props, SProps, EventSpec> {
|
|
22
|
+
abstract isEditing: boolean;
|
|
23
|
+
abstract cursorDelay: number;
|
|
24
|
+
abstract selectionStart: number;
|
|
25
|
+
abstract selectionEnd: number;
|
|
26
|
+
abstract cursorDuration: number;
|
|
27
|
+
abstract editable: boolean;
|
|
28
|
+
abstract editingBorderColor: string;
|
|
29
|
+
abstract compositionStart: number;
|
|
30
|
+
abstract compositionEnd: number;
|
|
31
|
+
abstract hiddenTextarea: HTMLTextAreaElement | null;
|
|
32
|
+
/**
|
|
33
|
+
* Helps determining when the text is in composition, so that the cursor
|
|
34
|
+
* rendering is altered.
|
|
35
|
+
*/
|
|
36
|
+
protected inCompositionMode: boolean;
|
|
37
|
+
protected _reSpace: RegExp;
|
|
38
|
+
private _currentTickState?;
|
|
39
|
+
private _currentTickCompleteState?;
|
|
40
|
+
protected _currentCursorOpacity: number;
|
|
41
|
+
private _textBeforeEdit;
|
|
42
|
+
protected __selectionStartOnMouseDown: number;
|
|
43
|
+
protected selected: boolean;
|
|
44
|
+
protected cursorOffsetCache: {
|
|
45
|
+
left?: number;
|
|
46
|
+
top?: number;
|
|
47
|
+
};
|
|
48
|
+
protected _savedProps?: {
|
|
49
|
+
hasControls: boolean;
|
|
50
|
+
borderColor: string;
|
|
51
|
+
lockMovementX: boolean;
|
|
52
|
+
lockMovementY: boolean;
|
|
53
|
+
selectable: boolean;
|
|
54
|
+
hoverCursor: CSSStyleDeclaration['cursor'] | null;
|
|
55
|
+
defaultCursor?: CSSStyleDeclaration['cursor'];
|
|
56
|
+
moveCursor?: CSSStyleDeclaration['cursor'];
|
|
57
|
+
};
|
|
58
|
+
protected _selectionDirection: 'left' | 'right' | null;
|
|
59
|
+
abstract initHiddenTextarea(): void;
|
|
60
|
+
abstract _fireSelectionChanged(): void;
|
|
61
|
+
abstract renderCursorOrSelection(): void;
|
|
62
|
+
abstract getSelectionStartFromPointer(e: TPointerEvent): number;
|
|
63
|
+
abstract _getCursorBoundaries(index: number, skipCaching?: boolean): {
|
|
64
|
+
left: number;
|
|
65
|
+
top: number;
|
|
66
|
+
leftOffset: number;
|
|
67
|
+
topOffset: number;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Initializes all the interactive behavior of IText
|
|
71
|
+
*/
|
|
72
|
+
initBehavior(): void;
|
|
73
|
+
onDeselect(options?: {
|
|
74
|
+
e?: TPointerEvent;
|
|
75
|
+
object?: FabricObject;
|
|
76
|
+
}): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* @private
|
|
79
|
+
*/
|
|
80
|
+
_animateCursor({ toValue, duration, delay, onComplete, }: {
|
|
81
|
+
toValue: number;
|
|
82
|
+
duration: number;
|
|
83
|
+
delay?: number;
|
|
84
|
+
onComplete?: TOnAnimationChangeCallback<number, void>;
|
|
85
|
+
}): ValueAnimation;
|
|
86
|
+
private _tick;
|
|
87
|
+
private _onTickComplete;
|
|
88
|
+
/**
|
|
89
|
+
* Initializes delayed cursor
|
|
90
|
+
*/
|
|
91
|
+
initDelayedCursor(restart?: boolean): void;
|
|
92
|
+
/**
|
|
93
|
+
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
94
|
+
*/
|
|
95
|
+
abortCursorAnimation(): void;
|
|
96
|
+
restartCursorIfNeeded(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Selects entire text
|
|
99
|
+
*/
|
|
100
|
+
selectAll(): this;
|
|
101
|
+
/**
|
|
102
|
+
* Returns selected text
|
|
103
|
+
* @return {String}
|
|
104
|
+
*/
|
|
105
|
+
getSelectedText(): string;
|
|
106
|
+
/**
|
|
107
|
+
* Find new selection index representing start of current word according to current selection index
|
|
108
|
+
* @param {Number} startFrom Current selection index
|
|
109
|
+
* @return {Number} New selection index
|
|
110
|
+
*/
|
|
111
|
+
findWordBoundaryLeft(startFrom: number): number;
|
|
112
|
+
/**
|
|
113
|
+
* Find new selection index representing end of current word according to current selection index
|
|
114
|
+
* @param {Number} startFrom Current selection index
|
|
115
|
+
* @return {Number} New selection index
|
|
116
|
+
*/
|
|
117
|
+
findWordBoundaryRight(startFrom: number): number;
|
|
118
|
+
/**
|
|
119
|
+
* Find new selection index representing start of current line according to current selection index
|
|
120
|
+
* @param {Number} startFrom Current selection index
|
|
121
|
+
* @return {Number} New selection index
|
|
122
|
+
*/
|
|
123
|
+
findLineBoundaryLeft(startFrom: number): number;
|
|
124
|
+
/**
|
|
125
|
+
* Find new selection index representing end of current line according to current selection index
|
|
126
|
+
* @param {Number} startFrom Current selection index
|
|
127
|
+
* @return {Number} New selection index
|
|
128
|
+
*/
|
|
129
|
+
findLineBoundaryRight(startFrom: number): number;
|
|
130
|
+
/**
|
|
131
|
+
* Finds index corresponding to beginning or end of a word
|
|
132
|
+
* @param {Number} selectionStart Index of a character
|
|
133
|
+
* @param {Number} direction 1 or -1
|
|
134
|
+
* @return {Number} Index of the beginning or end of a word
|
|
135
|
+
*/
|
|
136
|
+
searchWordBoundary(selectionStart: number, direction: number): number;
|
|
137
|
+
/**
|
|
138
|
+
* Selects a word based on the index
|
|
139
|
+
* @param {Number} selectionStart Index of a character
|
|
140
|
+
*/
|
|
141
|
+
selectWord(selectionStart: number): void;
|
|
142
|
+
/**
|
|
143
|
+
* Selects a line based on the index
|
|
144
|
+
* @param {Number} selectionStart Index of a character
|
|
145
|
+
*/
|
|
146
|
+
selectLine(selectionStart: number): this;
|
|
147
|
+
/**
|
|
148
|
+
* Enters editing state
|
|
149
|
+
*/
|
|
150
|
+
enterEditing(e: TPointerEvent): void;
|
|
151
|
+
/**
|
|
152
|
+
* called by {@link canvas#textEditingManager}
|
|
153
|
+
*/
|
|
154
|
+
updateSelectionOnMouseMove(e: TPointerEvent): void;
|
|
155
|
+
/**
|
|
156
|
+
* @private
|
|
157
|
+
*/
|
|
158
|
+
_setEditingProps(): void;
|
|
159
|
+
/**
|
|
160
|
+
* convert from textarea to grapheme indexes
|
|
161
|
+
*/
|
|
162
|
+
fromStringToGraphemeSelection(start: number, end: number, text: string): {
|
|
163
|
+
selectionStart: number;
|
|
164
|
+
selectionEnd: number;
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* convert from fabric to textarea values
|
|
168
|
+
*/
|
|
169
|
+
fromGraphemeToStringSelection(start: number, end: number, graphemes: string[]): {
|
|
170
|
+
selectionStart: number;
|
|
171
|
+
selectionEnd: number;
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* @private
|
|
175
|
+
*/
|
|
176
|
+
_updateTextarea(): void;
|
|
177
|
+
/**
|
|
178
|
+
* @private
|
|
179
|
+
*/
|
|
180
|
+
updateFromTextArea(): void;
|
|
181
|
+
/**
|
|
182
|
+
* @private
|
|
183
|
+
*/
|
|
184
|
+
updateTextareaPosition(): void;
|
|
185
|
+
/**
|
|
186
|
+
* @private
|
|
187
|
+
* @return {Object} style contains style for hiddenTextarea
|
|
188
|
+
*/
|
|
189
|
+
_calcTextareaPosition(): {
|
|
190
|
+
left: string;
|
|
191
|
+
top: string;
|
|
192
|
+
fontSize?: undefined;
|
|
193
|
+
charHeight?: undefined;
|
|
194
|
+
} | {
|
|
195
|
+
left: string;
|
|
196
|
+
top: string;
|
|
197
|
+
fontSize: string;
|
|
198
|
+
charHeight: number;
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* @private
|
|
202
|
+
*/
|
|
203
|
+
_saveEditingProps(): void;
|
|
204
|
+
/**
|
|
205
|
+
* @private
|
|
206
|
+
*/
|
|
207
|
+
_restoreEditingProps(): void;
|
|
208
|
+
/**
|
|
209
|
+
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
210
|
+
*/
|
|
211
|
+
protected _exitEditing(): void;
|
|
212
|
+
/**
|
|
213
|
+
* Exits from editing state and fires relevant events
|
|
214
|
+
*/
|
|
215
|
+
exitEditing(): this;
|
|
216
|
+
/**
|
|
217
|
+
* @private
|
|
218
|
+
*/
|
|
219
|
+
_removeExtraneousStyles(): void;
|
|
220
|
+
/**
|
|
221
|
+
* remove and reflow a style block from start to end.
|
|
222
|
+
* @param {Number} start linear start position for removal (included in removal)
|
|
223
|
+
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
224
|
+
*/
|
|
225
|
+
removeStyleFromTo(start: number, end: number): void;
|
|
226
|
+
/**
|
|
227
|
+
* Shifts line styles up or down
|
|
228
|
+
* @param {Number} lineIndex Index of a line
|
|
229
|
+
* @param {Number} offset Can any number?
|
|
230
|
+
*/
|
|
231
|
+
shiftLineStyles(lineIndex: number, offset: number): void;
|
|
232
|
+
/**
|
|
233
|
+
* Handle insertion of more consecutive style lines for when one or more
|
|
234
|
+
* newlines gets added to the text. Since current style needs to be shifted
|
|
235
|
+
* first we shift the current style of the number lines needed, then we add
|
|
236
|
+
* new lines from the last to the first.
|
|
237
|
+
* @param {Number} lineIndex Index of a line
|
|
238
|
+
* @param {Number} charIndex Index of a char
|
|
239
|
+
* @param {Number} qty number of lines to add
|
|
240
|
+
* @param {Array} copiedStyle Array of objects styles
|
|
241
|
+
*/
|
|
242
|
+
insertNewlineStyleObject(lineIndex: number, charIndex: number, qty: number, copiedStyle?: {
|
|
243
|
+
[index: number]: TextStyleDeclaration;
|
|
244
|
+
}): void;
|
|
245
|
+
/**
|
|
246
|
+
* Inserts style object for a given line/char index
|
|
247
|
+
* @param {Number} lineIndex Index of a line
|
|
248
|
+
* @param {Number} charIndex Index of a char
|
|
249
|
+
* @param {Number} quantity number Style object to insert, if given
|
|
250
|
+
* @param {Array} copiedStyle array of style objects
|
|
251
|
+
*/
|
|
252
|
+
insertCharStyleObject(lineIndex: number, charIndex: number, quantity: number, copiedStyle?: TextStyleDeclaration[]): void;
|
|
253
|
+
/**
|
|
254
|
+
* Inserts style object(s)
|
|
255
|
+
* @param {Array} insertedText Characters at the location where style is inserted
|
|
256
|
+
* @param {Number} start cursor index for inserting style
|
|
257
|
+
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
258
|
+
*/
|
|
259
|
+
insertNewStyleBlock(insertedText: string[], start: number, copiedStyle?: TextStyleDeclaration[]): void;
|
|
260
|
+
/**
|
|
261
|
+
* Removes characters from start/end
|
|
262
|
+
* start/end ar per grapheme position in _text array.
|
|
263
|
+
*
|
|
264
|
+
* @param {Number} start
|
|
265
|
+
* @param {Number} end default to start + 1
|
|
266
|
+
*/
|
|
267
|
+
removeChars(start: number, end?: number): void;
|
|
268
|
+
/**
|
|
269
|
+
* insert characters at start position, before start position.
|
|
270
|
+
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
271
|
+
* if style array is provided, it must be as the same length of text in graphemes
|
|
272
|
+
* if end is provided and is bigger than start, old text is replaced.
|
|
273
|
+
* start/end ar per grapheme position in _text array.
|
|
274
|
+
*
|
|
275
|
+
* @param {String} text text to insert
|
|
276
|
+
* @param {Array} style array of style objects
|
|
277
|
+
* @param {Number} start
|
|
278
|
+
* @param {Number} end default to start + 1
|
|
279
|
+
*/
|
|
280
|
+
insertChars(text: string, style: TextStyleDeclaration[] | undefined, start: number, end?: number): void;
|
|
281
|
+
/**
|
|
282
|
+
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
283
|
+
* mimic the key - mouse navigation when shift is pressed.
|
|
284
|
+
*/
|
|
285
|
+
setSelectionStartEndWithShift(start: number, end: number, newSelection: number): void;
|
|
286
|
+
}
|
|
287
|
+
//# sourceMappingURL=ITextBehavior.d.ts.map
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { TPointerEvent, TPointerEventInfo } from '../../EventTypeDefs';
|
|
2
|
+
import { XY, Point } from '../../Point';
|
|
3
|
+
import type { DragMethods } from '../Object/InteractiveObject';
|
|
4
|
+
import { DraggableTextDelegate } from './DraggableTextDelegate';
|
|
5
|
+
import { ITextEvents } from './ITextBehavior';
|
|
6
|
+
import { ITextKeyBehavior } from './ITextKeyBehavior';
|
|
7
|
+
import { TProps } from '../Object/types';
|
|
8
|
+
import { TextProps, SerializedTextProps } from '../Text/Text';
|
|
9
|
+
export declare abstract class ITextClickBehavior<Props extends TProps<TextProps> = Partial<TextProps>, SProps extends SerializedTextProps = SerializedTextProps, EventSpec extends ITextEvents = ITextEvents> extends ITextKeyBehavior<Props, SProps, EventSpec> implements DragMethods {
|
|
10
|
+
private __lastSelected;
|
|
11
|
+
private __lastClickTime;
|
|
12
|
+
private __lastLastClickTime;
|
|
13
|
+
private __lastPointer;
|
|
14
|
+
private __newClickTime;
|
|
15
|
+
protected draggableTextDelegate: DraggableTextDelegate;
|
|
16
|
+
initBehavior(): void;
|
|
17
|
+
shouldStartDragging(): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* @public override this method to control whether instance should/shouldn't become a drag source, @see also {@link DraggableTextDelegate#isActive}
|
|
20
|
+
* @returns {boolean} should handle event
|
|
21
|
+
*/
|
|
22
|
+
onDragStart(e: DragEvent): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
25
|
+
*/
|
|
26
|
+
canDrop(e: DragEvent): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Default event handler to simulate triple click
|
|
29
|
+
* @private
|
|
30
|
+
*/
|
|
31
|
+
onMouseDown(options: TPointerEventInfo): void;
|
|
32
|
+
isTripleClick(newPointer: XY): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Default handler for double click, select a word
|
|
35
|
+
*/
|
|
36
|
+
doubleClickHandler(options: TPointerEventInfo): void;
|
|
37
|
+
/**
|
|
38
|
+
* Default handler for triple click, select a line
|
|
39
|
+
*/
|
|
40
|
+
tripleClickHandler(options: TPointerEventInfo): void;
|
|
41
|
+
/**
|
|
42
|
+
* Default event handler for the basic functionalities needed on _mouseDown
|
|
43
|
+
* can be overridden to do something different.
|
|
44
|
+
* Scope of this implementation is: find the click position, set selectionStart
|
|
45
|
+
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
46
|
+
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
47
|
+
* current compositionMode. It will be set to false.
|
|
48
|
+
*/
|
|
49
|
+
_mouseDownHandler({ e }: TPointerEventInfo): void;
|
|
50
|
+
/**
|
|
51
|
+
* Default event handler for the basic functionalities needed on mousedown:before
|
|
52
|
+
* can be overridden to do something different.
|
|
53
|
+
* Scope of this implementation is: verify the object is already selected when mousing down
|
|
54
|
+
*/
|
|
55
|
+
_mouseDownHandlerBefore({ e }: TPointerEventInfo): void;
|
|
56
|
+
/**
|
|
57
|
+
* standard handler for mouse up, overridable
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
mouseUpHandler({ e, transform, button }: TPointerEventInfo): void;
|
|
61
|
+
/**
|
|
62
|
+
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
63
|
+
* @param {TPointerEvent} e Event object
|
|
64
|
+
*/
|
|
65
|
+
setCursorByClick(e: TPointerEvent): void;
|
|
66
|
+
/**
|
|
67
|
+
* Returns coordinates of a pointer relative to object's top left corner in object's plane
|
|
68
|
+
* @param {Point} [pointer] Pointer to operate upon
|
|
69
|
+
* @return {Point} Coordinates of a pointer (x, y)
|
|
70
|
+
*/
|
|
71
|
+
getLocalPointer(pointer: Point): Point;
|
|
72
|
+
/**
|
|
73
|
+
* Returns index of a character corresponding to where an object was clicked
|
|
74
|
+
* @param {TPointerEvent} e Event object
|
|
75
|
+
* @return {Number} Index of a character
|
|
76
|
+
*/
|
|
77
|
+
getSelectionStartFromPointer(e: TPointerEvent): number;
|
|
78
|
+
/**
|
|
79
|
+
* @private
|
|
80
|
+
*/
|
|
81
|
+
_getNewSelectionStartFromOffset(mouseOffset: XY, prevWidth: number, width: number, index: number, jlen: number): number;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=ITextClickBehavior.d.ts.map
|