IText
Defined in: src/shapes/IText/IText.ts:120
Fires
changed
Fires
selection:changed
Fires
editing:entered
Fires
editing:exited
Fires
dragstart
Fires
drag drag event firing on the drag source
Fires
dragend
Fires
copy
Fires
cut
Fires
paste
Supported key combinations
Supported mouse/touch combination
Extends
ITextClickBehavior
<Props
,SProps
,EventSpec
>
Extended by
Type Parameters
• Props extends TOptions
<ITextProps
> = Partial
<ITextProps
>
• SProps extends SerializedITextProps
= SerializedITextProps
• EventSpec extends ITextEvents
= ITextEvents
Implements
UniqueITextProps
Constructors
new IText()
new IText<
Props
,SProps
,EventSpec
>(text
,options
?):IText
<Props
,SProps
,EventSpec
>
Defined in: src/shapes/IText/IText.ts:233
Constructor
Parameters
text
string
Text string
options?
Props
Options object
Returns
IText
<Props
, SProps
, EventSpec
>
Overrides
ITextClickBehavior<Props, SProps, EventSpec>.constructor
Properties
__corner?
optional
__corner:string
Defined in: src/shapes/Object/InteractiveObject.ts:105
keeps the value of the last hovered corner during mouse move. 0 is no corner, or ‘mt’, ‘ml’, ‘mtr’ etc.. It should be private, but there is no harm in using it as a read-only property. this isn’t cleaned automatically. Non selected objects may have wrong values
Inherited from
ITextClickBehavior.__corner
__lineHeights
__lineHeights:
number
[]
Defined in: src/shapes/Text/Text.ts:411
Inherited from
ITextClickBehavior.__lineHeights
__lineWidths
__lineWidths:
number
[]
Defined in: src/shapes/Text/Text.ts:412
Inherited from
ITextClickBehavior.__lineWidths
_controlsVisibility
_controlsVisibility:
Record
<string
,boolean
>
Defined in: src/shapes/Object/InteractiveObject.ts:112
a map of control visibility for this object. this was left when controls were introduced to not break the api too much this takes priority over the generic control visibility
Inherited from
ITextClickBehavior._controlsVisibility
_fontSizeMult
_fontSizeMult:
number
Defined in: src/shapes/Text/Text.ts:339
Text Line proportion to font Size (in pixels)
Default
Inherited from
ITextClickBehavior._fontSizeMult
_scaling?
optional
_scaling:boolean
Defined in: src/shapes/Object/InteractiveObject.ts:134
A boolean used from the gesture module to keep tracking of a scaling action when there is no scaling transform in place. This is an edge case and is used twice in all codebase. Probably added to keep track of some performance issues
TODO
use git blame to investigate why it was added DON’T USE IT. WE WILL TRY TO REMOVE IT
Inherited from
ITextClickBehavior._scaling
_text
_text:
string
[]
Defined in: src/shapes/Text/Text.ts:409
Inherited from
ITextClickBehavior._text
_textLines
_textLines:
string
[][]
Defined in: src/shapes/Text/Text.ts:406
same as textlines, but each line is an array of graphemes as split by splitByGrapheme
Default
Inherited from
ITextClickBehavior._textLines
_unwrappedTextLines
_unwrappedTextLines:
string
[][]
Defined in: src/shapes/Text/Text.ts:408
Inherited from
ITextClickBehavior._unwrappedTextLines
absolutePositioned
absolutePositioned:
boolean
Defined in: src/shapes/Object/Object.ts:214
Meaningful ONLY when the object is used as clipPath. if true, the clipPath will have its top and left relative to canvas, and will not be influenced by the object transform. This will make the clipPath relative to the canvas, but clipping just a particular object. WARNING this is beta, this feature may change or be renamed. since 2.4.0
Default
Inherited from
ITextClickBehavior.absolutePositioned
aCoords
aCoords:
TCornerPoint
Defined in: src/shapes/Object/ObjectGeometry.ts:63
Describe object’s corner position in scene coordinates. The coordinates are derived from the following: left, top, width, height, scaleX, scaleY, skewX, skewY, angle, strokeWidth. The coordinates do not depend on viewport changes. The coordinates get updated with setCoords. You can calculate them without updating with ()
Inherited from
ITextClickBehavior.aCoords
angle
angle:
TDegree
Defined in: src/shapes/Object/ObjectGeometry.ts:581
Angle of rotation of an object (in degrees)
Default
Inherited from
ITextClickBehavior.angle
backgroundColor
backgroundColor:
string
Defined in: src/shapes/Object/Object.ts:201
Background color of an object. takes css colors https://www.w3.org/TR/css-color-3/
Default
Inherited from
ITextClickBehavior.backgroundColor
borderColor
borderColor:
string
Defined in: src/shapes/Object/InteractiveObject.ts:74
Color of controlling borders of an object (when it’s active)
Default
Inherited from
ITextClickBehavior.borderColor
borderDashArray
borderDashArray:
null
|number
[]
Defined in: src/shapes/Object/InteractiveObject.ts:75
Array specifying dash pattern of an object’s borders (hasBorder must be true)
Since
1.6.2
Inherited from
ITextClickBehavior.borderDashArray
borderOpacityWhenMoving
borderOpacityWhenMoving:
number
Defined in: src/shapes/Object/InteractiveObject.ts:76
Opacity of object’s controlling borders when object is active and moving
Default
Inherited from
ITextClickBehavior.borderOpacityWhenMoving
borderScaleFactor
borderScaleFactor:
number
Defined in: src/shapes/Object/InteractiveObject.ts:77
Scale factor for the border of the objects ( selection box and controls stroke ). Bigger number will make a thicker border border default value is 1, so this scale value is equal to a border and control strokeWidth. Id you need to divide border from control strokeWidth you will need to write your own render function for controls
Default
Inherited from
ITextClickBehavior.borderScaleFactor
caching
caching:
boolean
Defined in: src/shapes/IText/IText.ts:212
Indicates whether internal text char widths can be cached
Default
centeredRotation
centeredRotation:
boolean
Defined in: src/shapes/Object/Object.ts:215
When true
the object will rotate on its center.
When false
will rotate around the origin point defined by originX and originY.
The value of this property is IGNORED during a transform if the canvas has already
centeredRotation set to true
The object method rotate
will always consider this property and never the canvas’s one.
Since
1.3.4
Default
Inherited from
ITextClickBehavior.centeredRotation
centeredScaling
centeredScaling:
boolean
Defined in: src/shapes/Object/Object.ts:216
When true, this object will use center point as the origin of transformation when being scaled via the controls.
Since
1.3.4
Default
Inherited from
ITextClickBehavior.centeredScaling
charSpacing
charSpacing:
number
Defined in: src/shapes/Text/Text.ts:347
additional space between characters expressed in thousands of em unit
Default
Inherited from
ITextClickBehavior.charSpacing
clipPath?
optional
clipPath:BaseFabricObject
Defined in: src/shapes/Object/Object.ts:212
Inherited from
ITextClickBehavior.clipPath
clipPathId?
optional
clipPathId:string
Defined in: src/shapes/Object/FabricObjectSVGExportMixin.ts:14
When an object is being exported as SVG as a clippath, a reference inside the SVG is needed. This reference is a UID in the fabric namespace and is temporary stored here.
Inherited from
ITextClickBehavior.clipPathId
compositionColor
compositionColor:
string
Defined in: src/shapes/IText/IText.ts:205
compositionEnd
compositionEnd:
number
Defined in: src/shapes/IText/IText.ts:144
Overrides
ITextClickBehavior.compositionEnd
compositionStart
compositionStart:
number
Defined in: src/shapes/IText/IText.ts:142
Overrides
ITextClickBehavior.compositionStart
controls
controls:
TControlSet
Defined in: src/shapes/Object/InteractiveObject.ts:118
holds the controls for the object. controls are added by default_controls.js
Inherited from
ITextClickBehavior.controls
cornerColor
cornerColor:
string
Defined in: src/shapes/Object/InteractiveObject.ts:68
Color of controlling corners of an object (when it’s active)
Default
Inherited from
ITextClickBehavior.cornerColor
cornerDashArray
cornerDashArray:
null
|number
[]
Defined in: src/shapes/Object/InteractiveObject.ts:71
Array specifying dash pattern of an object’s control (hasBorder must be true)
Since
1.6.2
Default
Inherited from
ITextClickBehavior.cornerDashArray
cornerSize
cornerSize:
number
Defined in: src/shapes/Object/InteractiveObject.ts:65
Size of object’s controlling corners (in pixels)
Default
Inherited from
ITextClickBehavior.cornerSize
cornerStrokeColor
cornerStrokeColor:
string
Defined in: src/shapes/Object/InteractiveObject.ts:69
Color of controlling corners of an object (when it’s active and transparentCorners false)
Since
1.6.2
Default
Inherited from
ITextClickBehavior.cornerStrokeColor
cornerStyle
cornerStyle:
"circle"
|"rect"
Defined in: src/shapes/Object/InteractiveObject.ts:70
Specify style of control, ‘rect’ or ‘circle’ This is deprecated. In the future there will be a standard control render And you can swap it with one of the alternative proposed with the control api
Since
1.6.2
Default
Inherited from
ITextClickBehavior.cornerStyle
ctrlKeysMapDown
ctrlKeysMapDown:
TKeyMapIText
Defined in: src/shapes/IText/ITextKeyBehavior.ts:42
For functionalities on keyDown + ctrl || cmd
Inherited from
ITextClickBehavior.ctrlKeysMapDown
ctrlKeysMapUp
ctrlKeysMapUp:
TKeyMapIText
Defined in: src/shapes/IText/ITextKeyBehavior.ts:37
For functionalities on keyUp + ctrl || cmd
Inherited from
ITextClickBehavior.ctrlKeysMapUp
cursorColor
cursorColor:
string
Defined in: src/shapes/IText/IText.ts:189
Color of text cursor color in editing mode. if not set (default) will take color from the text. if set to a color value that fabric can understand, it will be used instead of the color of the text at the current position.
Default
cursorDelay
cursorDelay:
number
Defined in: src/shapes/IText/IText.ts:196
Delay between cursor blink (in ms)
Default
Overrides
ITextClickBehavior.cursorDelay
cursorDuration
cursorDuration:
number
Defined in: src/shapes/IText/IText.ts:203
Duration of cursor fade in (in ms)
Default
Overrides
ITextClickBehavior.cursorDuration
cursorWidth
cursorWidth:
number
Defined in: src/shapes/IText/IText.ts:179
Width of cursor (in px)
Default
Overrides
ITextClickBehavior.cursorWidth
deltaY
deltaY:
number
Defined in: src/shapes/Text/Text.ts:354
Baseline shift, styles only, keep at 0 for the main text object
Default
Inherited from
ITextClickBehavior.deltaY
direction
direction:
CanvasDirection
Defined in: src/shapes/Text/Text.ts:367
WARNING: EXPERIMENTAL. NOT SUPPORTED YET determine the direction of the text. This has to be set manually together with textAlign and originX for proper experience. some interesting link for the future https://www.w3.org/International/questions/qa-bidi-unicode-controls
Since
4.5.0
Default
Inherited from
ITextClickBehavior.direction
dirty
dirty:
boolean
Defined in: src/shapes/Object/Object.ts:241
When set to true
, object’s cache will be rerendered next render call.
since 1.7.0
Default
Inherited from
ITextClickBehavior.dirty
editable
editable:
boolean
Defined in: src/shapes/IText/IText.ts:165
Indicates whether a text can be edited
Default
Overrides
ITextClickBehavior.editable
editingBorderColor
editingBorderColor:
string
Defined in: src/shapes/IText/IText.ts:172
Border color of text object while it’s in editing mode
Default
Overrides
ITextClickBehavior.editingBorderColor
evented
evented:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:82
When set to false
, an object can not be a target of events. All events propagate through it. Introduced in v1.3.4
Default
Inherited from
ITextClickBehavior.evented
excludeFromExport
excludeFromExport:
boolean
Defined in: src/shapes/Object/Object.ts:208
When true
, object is not exported in OBJECT/JSON
Since
1.6.3
Default
Inherited from
ITextClickBehavior.excludeFromExport
fill
fill:
null
|string
|TFiller
Defined in: src/shapes/Object/Object.ts:191
Inherited from
ITextClickBehavior.fill
fillRule
fillRule:
CanvasFillRule
Defined in: src/shapes/Object/Object.ts:192
Fill rule used to fill an object
accepted values are nonzero, evenodd
Backwards incompatibility note: This property was used for setting globalCompositeOperation until v1.4.12 (use globalCompositeOperation
instead)
Default
Inherited from
ITextClickBehavior.fillRule
flipX
flipX:
boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:567
When true, an object is rendered as flipped horizontally
Default
Inherited from
ITextClickBehavior.flipX
flipY
flipY:
boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:568
When true, an object is rendered as flipped vertically
Default
Inherited from
ITextClickBehavior.flipY
fontFamily
fontFamily:
string
Defined in: src/shapes/Text/Text.ts:188
Font family
Default
Inherited from
ITextClickBehavior.fontFamily
fontSize
fontSize:
number
Defined in: src/shapes/Text/Text.ts:174
Font size (in pixels)
Default
Inherited from
ITextClickBehavior.fontSize
fontStyle
fontStyle:
string
Defined in: src/shapes/Text/Text.ts:224
Font style . Possible values: "", “normal”, “italic” or “oblique”.
Default
Inherited from
ITextClickBehavior.fontStyle
fontWeight
fontWeight:
string
|number
Defined in: src/shapes/Text/Text.ts:181
Font weight (e.g. bold, normal, 400, 600, 800)
Default
Inherited from
ITextClickBehavior.fontWeight
globalCompositeOperation
globalCompositeOperation:
GlobalCompositeOperation
Defined in: src/shapes/Object/Object.ts:200
Composite rule used for canvas globalCompositeOperation
Default
Inherited from
ITextClickBehavior.globalCompositeOperation
hasBorders
hasBorders:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:78
When set to false
, object’s controlling borders are not rendered
Default
Inherited from
ITextClickBehavior.hasBorders
hasControls
hasControls:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:72
When set to false
, object’s controls are not displayed and can not be used to manipulate object
Default
Inherited from
ITextClickBehavior.hasControls
height
height:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:566
Object height
Default
Inherited from
ITextClickBehavior.height
hiddenTextarea
hiddenTextarea:
null
|HTMLTextAreaElement
Defined in: src/shapes/IText/ITextKeyBehavior.ts:44
Inherited from
ITextClickBehavior.hiddenTextarea
hiddenTextareaContainer?
optional
hiddenTextareaContainer:null
|HTMLElement
Defined in: src/shapes/IText/ITextKeyBehavior.ts:54
DOM container to append the hiddenTextarea. An alternative to attaching to the document.body. Useful to reduce laggish redraw of the full document.body tree and also with modals event capturing that won’t let the textarea take focus.
Default
Inherited from
ITextClickBehavior.hiddenTextareaContainer
hoverCursor
hoverCursor:
null
|string
Defined in: src/shapes/Object/InteractiveObject.ts:86
Default cursor value used when hovering over this object on canvas
Default
Inherited from
ITextClickBehavior.hoverCursor
includeDefaultValues
includeDefaultValues:
boolean
Defined in: src/shapes/Object/Object.ts:207
When false
, default object’s values are not included in its serialization
Default
Inherited from
ITextClickBehavior.includeDefaultValues
initialized?
optional
initialized:true
Defined in: src/shapes/Text/Text.ts:413
Inherited from
ITextClickBehavior.initialized
inverted
inverted:
boolean
Defined in: src/shapes/Object/Object.ts:213
Meaningful ONLY when the object is used as clipPath. if true, the clipPath will make the object clip to the outside of the clipPath since 2.4.0
Default
Inherited from
ITextClickBehavior.inverted
isEditing
isEditing:
boolean
Defined in: src/shapes/IText/IText.ts:158
Indicates whether text is in editing mode
Default
Overrides
ITextClickBehavior.isEditing
isMoving?
optional
isMoving:boolean
Defined in: src/shapes/Object/InteractiveObject.ts:124
internal boolean to signal the code that the object is part of the move action.
Inherited from
ITextClickBehavior.isMoving
keysMap
keysMap:
TKeyMapIText
Defined in: src/shapes/IText/ITextKeyBehavior.ts:30
For functionalities on keyDown Map a special key to a function of the instance/prototype If you need different behavior for ESC or TAB or arrows, you have to change this map setting the name of a function that you build on the IText or your prototype. the map change will affect all Instances unless you need for only some text Instances in that case you have to clone this object and assign your Instance. this.keysMap = Object.assign({}, this.keysMap); The function must be in IText.prototype.myFunction And will receive event as args[0]
Inherited from
ITextClickBehavior.keysMap
keysMapRtl
keysMapRtl:
TKeyMapIText
Defined in: src/shapes/IText/ITextKeyBehavior.ts:32
Inherited from
ITextClickBehavior.keysMapRtl
left
left:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:564
Left position of an object. Note that by default it’s relative to object left. You can change this by setting originX
Default
Inherited from
ITextClickBehavior.left
lineHeight
lineHeight:
number
Defined in: src/shapes/Text/Text.ts:231
Line height
Default
Inherited from
ITextClickBehavior.lineHeight
linethrough
linethrough:
boolean
Defined in: src/shapes/Text/Text.ts:209
Text decoration linethrough.
Default
Inherited from
ITextClickBehavior.linethrough
lockMovementX
lockMovementX:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:56
When true
, object horizontal movement is locked
Default
Inherited from
ITextClickBehavior.lockMovementX
lockMovementY
lockMovementY:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:57
When true
, object vertical movement is locked
Default
Inherited from
ITextClickBehavior.lockMovementY
lockRotation
lockRotation:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:58
When true
, object rotation is locked
Default
Inherited from
ITextClickBehavior.lockRotation
lockScalingFlip
lockScalingFlip:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:63
When true
, object cannot be flipped by scaling into negative values
Default
Inherited from
ITextClickBehavior.lockScalingFlip
lockScalingX
lockScalingX:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:59
When true
, object horizontal scaling is locked
Default
Inherited from
ITextClickBehavior.lockScalingX
lockScalingY
lockScalingY:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:60
When true
, object vertical scaling is locked
Default
Inherited from
ITextClickBehavior.lockScalingY
lockSkewingX
lockSkewingX:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:61
When true
, object horizontal skewing is locked
Default
Inherited from
ITextClickBehavior.lockSkewingX
lockSkewingY
lockSkewingY:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:62
When true
, object vertical skewing is locked
Default
Inherited from
ITextClickBehavior.lockSkewingY
matrixCache?
optional
matrixCache:TMatrixCache
Defined in: src/shapes/Object/ObjectGeometry.ts:73
storage cache for object full transform matrix
Inherited from
ITextClickBehavior.matrixCache
MIN_TEXT_WIDTH
MIN_TEXT_WIDTH:
number
Defined in: src/shapes/Text/Text.ts:391
contains the min text width to avoid getting 0
Default
Inherited from
ITextClickBehavior.MIN_TEXT_WIDTH
minScaleLimit
minScaleLimit:
number
Defined in: src/shapes/Object/Object.ts:186
Minimum allowed scale value of an object
Default
Inherited from
ITextClickBehavior.minScaleLimit
moveCursor
moveCursor:
null
|string
Defined in: src/shapes/Object/InteractiveObject.ts:87
Default cursor value used when moving this object on canvas
Default
Inherited from
ITextClickBehavior.moveCursor
noScaleCache
noScaleCache:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:51
When true
, cache does not get updated during scaling. The picture will get blocky if scaled
too much and will be redrawn with correct details at the end of scaling.
this setting is performance and application dependant.
default to true
since 1.7.0
Default
Inherited from
ITextClickBehavior.noScaleCache
objectCaching
objectCaching:
boolean
Defined in: src/shapes/Object/Object.ts:210
When true
, object is cached on an additional canvas.
When false
, object is not cached unless necessary ( clipPath )
default to true
Since
1.7.0
Default
Inherited from
ITextClickBehavior.objectCaching
oCoords
oCoords:
Record
<string
,TOCoord
>
Defined in: src/shapes/Object/InteractiveObject.ts:95
The object’s controls’ position in viewport coordinates
Calculated by Control#positionHandler and Control#calcCornerCoords, depending on padding.
corner/touchCorner
describe the 4 points forming the interactive area of the corner.
Used to draw and locate controls.
Inherited from
ITextClickBehavior.oCoords
opacity
opacity:
number
Defined in: src/shapes/Object/Object.ts:188
Opacity of an object
Default
Inherited from
ITextClickBehavior.opacity
originX
originX:
TOriginX
Defined in: src/shapes/Object/ObjectGeometry.ts:576
Inherited from
ITextClickBehavior.originX
originY
originY:
TOriginY
Defined in: src/shapes/Object/ObjectGeometry.ts:580
Inherited from
ITextClickBehavior.originY
overline
overline:
boolean
Defined in: src/shapes/Text/Text.ts:202
Text decoration overline.
Default
Inherited from
ITextClickBehavior.overline
ownMatrixCache?
optional
ownMatrixCache:TMatrixCache
Defined in: src/shapes/Object/ObjectGeometry.ts:68
storage cache for object transform matrix
Inherited from
ITextClickBehavior.ownMatrixCache
padding
padding:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:53
Padding between object and its controlling borders (in pixels)
Default
Inherited from
ITextClickBehavior.padding
paintFirst
paintFirst:
"fill"
|"stroke"
Defined in: src/shapes/Object/Object.ts:190
Determines if the fill or the stroke is drawn first (one of “fill” or “stroke”)
Default
Inherited from
ITextClickBehavior.paintFirst
parent?
optional
parent:Group
Defined in: src/shapes/Object/Object.ts:1595
A reference to the parent of the object
Used to keep the original parent ref when the object has been added to an ActiveSelection, hence loosing the group
ref
Inherited from
ITextClickBehavior.parent
path?
optional
path:Path
Defined in: src/shapes/Text/Text.ts:296
Path that the text should follow. since 4.6.0 the path will be drawn automatically. if you want to make the path visible, give it a stroke and strokeWidth or fill value if you want it to be hidden, assign visible = false to the path. This feature is in BETA, and SVG import/export is not yet supported.
Example
Default
Inherited from
ITextClickBehavior.path
pathAlign
pathAlign:
TPathAlign
Defined in: src/shapes/Text/Text.ts:322
How text is aligned to the path. This property determines the perpendicular position of each character relative to the path. (one of “baseline”, “center”, “ascender”, “descender”) This feature is in BETA, and its behavior may change
Default
Inherited from
ITextClickBehavior.pathAlign
pathSide
pathSide:
TPathSide
Defined in: src/shapes/Text/Text.ts:312
Which side of the path the text should be drawn on. Only used when text has a path
Default
Inherited from
ITextClickBehavior.pathSide
pathStartOffset
pathStartOffset:
number
Defined in: src/shapes/Text/Text.ts:304
Offset amount for text path starting position Only used when text has a path
Default
Inherited from
ITextClickBehavior.pathStartOffset
perPixelTargetFind
perPixelTargetFind:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:83
When set to true
, objects are “found” on canvas on per-pixel basis rather than according to bounding box
Default
Inherited from
ITextClickBehavior.perPixelTargetFind
scaleX
scaleX:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:569
Object scale factor (horizontal)
Default
Inherited from
ITextClickBehavior.scaleX
scaleY
scaleY:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:570
Object scale factor (vertical)
Default
Inherited from
ITextClickBehavior.scaleY
selectable
selectable:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:81
When set to false
, an object can not be selected for modification (using either point-click-based or group-based selection).
But events still fire on it.
Default
Inherited from
ITextClickBehavior.selectable
selectionBackgroundColor
selectionBackgroundColor:
string
Defined in: src/shapes/Object/InteractiveObject.ts:79
Selection Background color of an object. colored layer behind the object when it is active. does not mix good with globalCompositeOperation methods.
Default
Inherited from
ITextClickBehavior.selectionBackgroundColor
selectionColor
selectionColor:
string
Defined in: src/shapes/IText/IText.ts:151
Color of text selection
Default
selectionEnd
selectionEnd:
number
Defined in: src/shapes/IText/IText.ts:140
Index where text selection ends
Default
Implementation of
UniqueITextProps.selectionEnd
Overrides
ITextClickBehavior.selectionEnd
selectionStart
selectionStart:
number
Defined in: src/shapes/IText/IText.ts:133
Index where text selection starts (or where cursor is when there is no selection)
Default
Implementation of
UniqueITextProps.selectionStart
Overrides
ITextClickBehavior.selectionStart
shadow
shadow:
null
|Shadow
Defined in: src/shapes/Object/Object.ts:203
Inherited from
ITextClickBehavior.shadow
skewX
skewX:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:571
Angle of skew on x axes of an object (in degrees)
Default
Inherited from
ITextClickBehavior.skewX
skewY
skewY:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:572
Angle of skew on y axes of an object (in degrees)
Default
Inherited from
ITextClickBehavior.skewY
snapAngle?
optional
snapAngle:TDegree
Defined in: src/shapes/Object/InteractiveObject.ts:53
The angle that an object will lock to while rotating.
Inherited from
ITextClickBehavior.snapAngle
snapThreshold?
optional
snapThreshold:TDegree
Defined in: src/shapes/Object/InteractiveObject.ts:54
The angle difference from the current snapped angle in which snapping should occur. When undefined, the snapThreshold will default to the snapAngle.
Inherited from
ITextClickBehavior.snapThreshold
stroke
stroke:
null
|string
|TFiller
Defined in: src/shapes/Object/Object.ts:193
Inherited from
ITextClickBehavior.stroke
strokeDashArray
strokeDashArray:
null
|number
[]
Defined in: src/shapes/Object/Object.ts:194
Array specifying dash pattern of an object’s stroke (stroke must be defined)
Default
Inherited from
ITextClickBehavior.strokeDashArray
strokeDashOffset
strokeDashOffset:
number
Defined in: src/shapes/Object/Object.ts:195
Line offset of an object’s stroke
Default
Inherited from
ITextClickBehavior.strokeDashOffset
strokeLineCap
strokeLineCap:
CanvasLineCap
Defined in: src/shapes/Object/Object.ts:196
Line endings style of an object’s stroke (one of “butt”, “round”, “square”)
Default
Inherited from
ITextClickBehavior.strokeLineCap
strokeLineJoin
strokeLineJoin:
CanvasLineJoin
Defined in: src/shapes/Object/Object.ts:197
Corner style of an object’s stroke (one of “bevel”, “round”, “miter”)
Default
Inherited from
ITextClickBehavior.strokeLineJoin
strokeMiterLimit
strokeMiterLimit:
number
Defined in: src/shapes/Object/Object.ts:198
Maximum miter length (used for strokeLineJoin = “miter”) of an object’s stroke
Default
Inherited from
ITextClickBehavior.strokeMiterLimit
strokeUniform
strokeUniform:
boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:583
When false
, the stoke width will scale with the object.
When true
, the stroke will always match the exact pixel size entered for stroke width.
this Property does not work on Text classes or drawing call that uses strokeText,fillText methods
default to false
Since
2.6.0
Default
Default
Inherited from
ITextClickBehavior.strokeUniform
strokeWidth
strokeWidth:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:582
Width of a stroke used to render this object
Default
Inherited from
ITextClickBehavior.strokeWidth
styles
styles:
TextStyle
Defined in: src/shapes/Text/Text.ts:272
Inherited from
ITextClickBehavior.styles
subscript
subscript:
object
Defined in: src/shapes/Text/Text.ts:252
Subscript schema object (minimum overlap)
baseline
baseline:
number
baseline-shift factor (downwards)
Default
size
size:
number
fontSize factor
Default
Inherited from
ITextClickBehavior.subscript
superscript
superscript:
object
Defined in: src/shapes/Text/Text.ts:236
Superscript schema object (minimum overlap)
baseline
baseline:
number
baseline-shift factor (upwards)
Default
size
size:
number
fontSize factor
Default
Inherited from
ITextClickBehavior.superscript
text
text:
string
Defined in: src/shapes/Text/Text.ts:167
Inherited from
ITextClickBehavior.text
textAlign
textAlign:
string
Defined in: src/shapes/Text/Text.ts:217
Text alignment. Possible values: “left”, “center”, “right”, “justify”, “justify-left”, “justify-center” or “justify-right”.
Default
Inherited from
ITextClickBehavior.textAlign
textBackgroundColor
textBackgroundColor:
string
Defined in: src/shapes/Text/Text.ts:270
Background color of text lines
Default
Inherited from
ITextClickBehavior.textBackgroundColor
textLines
textLines:
string
[]
Defined in: src/shapes/Text/Text.ts:399
contains the the text of the object, divided in lines as they are displayed on screen. Wrapping will divide the text independently of line breaks
Default
Inherited from
ITextClickBehavior.textLines
top
top:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:563
Top position of an object. Note that by default it’s relative to object top. You can change this by setting originY
Default
Inherited from
ITextClickBehavior.top
touchCornerSize
touchCornerSize:
number
Defined in: src/shapes/Object/InteractiveObject.ts:66
Size of object’s controlling corners when touch interaction is detected
Default
Inherited from
ITextClickBehavior.touchCornerSize
transparentCorners
transparentCorners:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:67
When true, object’s controlling corners are rendered as transparent inside (i.e. stroke instead of fill)
Default
Inherited from
ITextClickBehavior.transparentCorners
underline
underline:
boolean
Defined in: src/shapes/Text/Text.ts:195
Text decoration underline.
Default
Inherited from
ITextClickBehavior.underline
visible
visible:
boolean
Defined in: src/shapes/Object/Object.ts:205
When set to false
, an object is not rendered on canvas
Default
Inherited from
ITextClickBehavior.visible
width
width:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:565
Object width
Default
Inherited from
ITextClickBehavior.width
_styleProperties
static
_styleProperties: readonlyStylePropertiesType
[] =styleProperties
Defined in: src/shapes/Text/StyledText.ts:30
Inherited from
ITextClickBehavior._styleProperties
ATTRIBUTE_NAMES
static
ATTRIBUTE_NAMES:string
[]
Defined in: src/shapes/Text/Text.ts:1826
List of attribute names to account for when parsing SVG element (used by FabricText.fromElement)
Static
Member Of
Text @see: http://www.w3.org/TR/SVG/text.html#TextElement
Inherited from
ITextClickBehavior.ATTRIBUTE_NAMES
cacheProperties
static
cacheProperties:string
[]
Defined in: src/shapes/Text/Text.ts:415
List of properties to consider when checking if cache needs refresh Those properties are checked by calls to Object.set(key, value). If the key is in this list, the object is marked as dirty and refreshed at the next render
Inherited from
ITextClickBehavior.cacheProperties
colorProperties
static
colorProperties:string
[]
Defined in: src/shapes/Object/Object.ts:1502
List of properties to consider for animating colors.
Inherited from
ITextClickBehavior.colorProperties
customProperties
static
customProperties:string
[] =[]
Defined in: src/shapes/Object/Object.ts:1743
Define a list of custom properties that will be serialized when instance.toObject() gets called
Inherited from
ITextClickBehavior.customProperties
genericFonts
static
genericFonts:string
[]
Defined in: src/shapes/Text/Text.ts:1802
List of generic font families
See
https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
Inherited from
ITextClickBehavior.genericFonts
ownDefaults
static
ownDefaults:Partial
<TClassProperties
<IText
>> =iTextDefaultValues
Defined in: src/shapes/IText/IText.ts:214
Overrides
ITextClickBehavior.ownDefaults
stateProperties
static
stateProperties:string
[]
Defined in: src/shapes/Object/Object.ts:224
This list of properties is used to check if the state of an object is changed. This state change now is only used for children of groups to understand if a group needs its cache regenerated during a .set call
Inherited from
ITextClickBehavior.stateProperties
type
static
type:string
='IText'
Defined in: src/shapes/IText/IText.ts:220
Overrides
ITextClickBehavior.type
Accessors
type
Get Signature
get type():
string
Defined in: src/shapes/IText/IText.ts:222
Legacy identifier of the class. Prefer using utils like isType or instanceOf Will be removed in fabric 7 or 8. The setter exists to avoid type errors in old code and possibly current deserialization code. DO NOT build new code around this type value
TODO
add sustainable warning message
Returns
string
Overrides
ITextClickBehavior.type
Methods
_drawClipPath()
_drawClipPath(
ctx
,clipPath
,context
):void
Defined in: src/shapes/Object/Object.ts:883
Prepare clipPath state and cache and draw it on instance’s cache
Parameters
ctx
CanvasRenderingContext2D
clipPath
undefined
| BaseFabricObject
context
Returns
void
Inherited from
ITextClickBehavior._drawClipPath
_getFontDeclaration()
_getFontDeclaration(
__namedParameters
?,forMeasuring
?):string
Defined in: src/shapes/Text/Text.ts:1661
return font declaration string for canvas context
Parameters
__namedParameters?
Partial
<Pick
<Partial
<CompleteTextStyleDeclaration
>, "fontFamily"
| "fontSize"
| "fontStyle"
| "fontWeight"
>> = {}
forMeasuring?
boolean
Returns
string
font declaration formatted for canvas context.
Inherited from
ITextClickBehavior._getFontDeclaration
_getGraphemeBox()
_getGraphemeBox(
grapheme
,lineIndex
,charIndex
,prevGrapheme
?,skipLeft
?):GraphemeBBox
Defined in: src/shapes/Text/Text.ts:983
Parameters
grapheme
string
to be measured
lineIndex
number
index of the line where the char is
charIndex
number
position in the line
prevGrapheme?
string
character preceding the one to be measured
skipLeft?
boolean
Returns
grapheme bbox
Inherited from
ITextClickBehavior._getGraphemeBox
_getSelectionForOffset()
_getSelectionForOffset(
e
,isRight
):number
Defined in: src/shapes/IText/ITextKeyBehavior.ts:384
private Helps finding if the offset should be counted from Start or End
Parameters
e
KeyboardEvent
Event object
isRight
boolean
Returns
number
Inherited from
ITextClickBehavior._getSelectionForOffset
_getWidthOfCharSpacing()
_getWidthOfCharSpacing():
number
Defined in: src/shapes/Text/Text.ts:1528
Returns
number
Inherited from
ITextClickBehavior._getWidthOfCharSpacing
_limitCacheSize()
_limitCacheSize(
dims
):any
Defined in: src/shapes/Object/Object.ts:402
Limit the cache dimensions so that X * Y do not cross config.perfLimitSizeTotal and each side do not cross fabric.cacheSideLimit those numbers are configurable so that you can get as much detail as you want making bargain with performances.
Parameters
dims
any
Returns
any
.width width of canvas
.height height of canvas
.zoomX zoomX zoom value to unscale the canvas before drawing cache
.zoomY zoomY zoom value to unscale the canvas before drawing cache
Inherited from
ITextClickBehavior._limitCacheSize
_measureLine()
_measureLine(
lineIndex
):object
Defined in: src/shapes/Text/Text.ts:891
measure every grapheme of a line, populating __charBounds
Parameters
lineIndex
number
Returns
object
object.width total width of characters
object.numOfSpaces length of chars that match this._reSpacesAndTabs
numOfSpaces
numOfSpaces:
number
=0
width
width:
number
Inherited from
ITextClickBehavior._measureLine
_mouseDownHandler()
_mouseDownHandler(
__namedParameters
):void
Defined in: src/shapes/IText/ITextClickBehavior.ts:137
Default event handler for the basic functionalities needed on _mouseDown can be overridden to do something different. Scope of this implementation is: find the click position, set selectionStart find selectionEnd, initialize the drawing of either cursor or selection area initializing a mousedDown on a text area will cancel fabricjs knowledge of current compositionMode. It will be set to false.
Parameters
__namedParameters
Returns
void
Inherited from
ITextClickBehavior._mouseDownHandler
_mouseDownHandlerBefore()
_mouseDownHandlerBefore(
__namedParameters
):void
Defined in: src/shapes/IText/ITextClickBehavior.ts:172
Default event handler for the basic functionalities needed on mousedown:before can be overridden to do something different. Scope of this implementation is: verify the object is already selected when mousing down
Parameters
__namedParameters
Returns
void
Inherited from
ITextClickBehavior._mouseDownHandlerBefore
_moveCursorLeftOrRight()
_moveCursorLeftOrRight(
direction
,e
):void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:646
Moves cursor right or Left, fires event
Parameters
direction
‘Left’, ‘Right’
"Left"
| "Right"
e
KeyboardEvent
Event object
Returns
void
Inherited from
ITextClickBehavior._moveCursorLeftOrRight
_moveCursorUpOrDown()
_moveCursorUpOrDown(
direction
,e
):void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:484
Moves cursor up or down, fires the events
Parameters
direction
‘Up’ or ‘Down’
"Up"
| "Down"
e
KeyboardEvent
Event object
Returns
void
Inherited from
ITextClickBehavior._moveCursorUpOrDown
_removeCacheCanvas()
_removeCacheCanvas():
void
Defined in: src/shapes/Object/Object.ts:719
Remove cacheCanvas and its dimensions from the objects
Returns
void
Inherited from
ITextClickBehavior._removeCacheCanvas
_renderControls()
_renderControls(
ctx
,styleOverride
?):void
Defined in: src/shapes/Object/InteractiveObject.ts:435
Renders controls and borders for the object the context here is not transformed
Parameters
ctx
CanvasRenderingContext2D
Context to render on
styleOverride?
TStyleOverride
= {}
properties to override the object style
Returns
void
Todo
move to interactivity
Inherited from
ITextClickBehavior._renderControls
_renderCursor()
_renderCursor(
ctx
,boundaries
,selectionStart
):void
Defined in: src/shapes/IText/IText.ts:550
Render the cursor at the given selectionStart.
Parameters
ctx
CanvasRenderingContext2D
boundaries
selectionStart
number
Returns
void
_setClippingProperties()
_setClippingProperties(
ctx
):void
Defined in: src/shapes/Object/Object.ts:1025
Parameters
ctx
CanvasRenderingContext2D
Returns
void
Inherited from
ITextClickBehavior._setClippingProperties
_setFillStyles()
_setFillStyles(
ctx
,style
):object
Defined in: src/shapes/Text/Text.ts:1341
This function prepare the canvas for a ill style, and fill need to be sent in as defined
Parameters
ctx
CanvasRenderingContext2D
style
Pick
<IText
<Props
, SProps
, EventSpec
>, "fill"
>
with ill defined
Returns
object
offsetX
offsetX:
number
offsetY
offsetY:
number
Inherited from
ITextClickBehavior._setFillStyles
_setStrokeStyles()
_setStrokeStyles(
ctx
,style
):object
Defined in: src/shapes/Text/Text.ts:1319
This function prepare the canvas for a stroke style, and stroke and strokeWidth need to be sent in as defined
Parameters
ctx
CanvasRenderingContext2D
style
Pick
<CompleteTextStyleDeclaration
, "stroke"
| "strokeWidth"
>
with stroke and strokeWidth defined
Returns
object
offsetX
offsetX:
number
offsetY
offsetY:
number
Inherited from
ITextClickBehavior._setStrokeStyles
_setupCompositeOperation()
_setupCompositeOperation(
ctx
):void
Defined in: src/shapes/Object/Object.ts:1477
Sets canvas globalCompositeOperation for specific object custom composition operation for the particular object can be specified using globalCompositeOperation property
Parameters
ctx
CanvasRenderingContext2D
Rendering canvas context
Returns
void
Inherited from
ITextClickBehavior._setupCompositeOperation
_splitTextIntoLines()
_splitTextIntoLines(
text
):TextLinesInfo
Defined in: src/shapes/Text/Text.ts:1729
Returns the text as an array of lines.
Parameters
text
string
text to split
Returns
TextLinesInfo
Lines in the text
Inherited from
ITextClickBehavior._splitTextIntoLines
_toSVG()
_toSVG(
_reviver
?):string
[]
Defined in: src/shapes/Object/FabricObjectSVGExportMixin.ts:120
Returns svg representation of an instance This function is implemented in each subclass This is just because typescript otherwise cryies all the time
Parameters
_reviver?
Returns
string
[]
an array of strings with the specific svg representation of the instance
Inherited from
ITextClickBehavior._toSVG
abortCursorAnimation()
abortCursorAnimation():
void
Defined in: src/shapes/IText/ITextBehavior.ts:183
Aborts cursor animation, clears all timeouts and clear textarea context if necessary
Returns
void
Inherited from
ITextClickBehavior.abortCursorAnimation
addPaintOrder()
addPaintOrder(
this
):string
Defined in: src/shapes/Object/FabricObjectSVGExportMixin.ts:249
Parameters
this
FabricObjectSVGExportMixin
& FabricObject
Returns
string
Inherited from
ITextClickBehavior.addPaintOrder
animate()
animate<
T
>(animatable
,options
?):Record
<string
,TAnimation
<T
>>
Defined in: src/shapes/Object/Object.ts:1516
Animates object’s properties
Type Parameters
• T extends number
| number
[] | TColorArg
Parameters
animatable
Record
<string
, T
>
map of keys and end values
options?
Partial
<AnimationOptions
<T
>>
Returns
Record
<string
, TAnimation
<T
>>
map of animation contexts
As object — multiple properties
object.animate({ left: …, top: … }); object.animate({ left: …, top: … }, { duration: … });
Tutorial
http://fabricjs.com/fabric-intro-part-2#animation
Inherited from
ITextClickBehavior.animate
blur()
blur():
void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:106
Override this method to customize cursor behavior on textbox blur
Returns
void
Inherited from
ITextClickBehavior.blur
calcACoords()
calcACoords():
TCornerPoint
Defined in: src/shapes/Object/ObjectGeometry.ts:427
Calculates the coordinates of the 4 corner of the bbox, in absolute coordinates. those never change with zoom or viewport changes.
Returns
Inherited from
ITextClickBehavior.calcACoords
calcOCoords()
calcOCoords():
Record
<string
,TOCoord
>
Defined in: src/shapes/Object/InteractiveObject.ts:255
Calculates the coordinates of the center of each control plus the corners of the control itself This basically just delegates to each control positionHandler WARNING: changing what is passed to positionHandler is a breaking change, since position handler is a public api and should be done just if extremely necessary
Returns
Record
<string
, TOCoord
>
Inherited from
ITextClickBehavior.calcOCoords
calcOwnMatrix()
calcOwnMatrix():
TMat2D
Defined in: src/shapes/Object/ObjectGeometry.ts:513
calculate transform matrix that represents the current transformations from the object’s properties, this matrix does not include the group transformation
Returns
transform matrix for the object
Inherited from
ITextClickBehavior.calcOwnMatrix
calcTextHeight()
calcTextHeight():
number
Defined in: src/shapes/Text/Text.ts:1044
Calculate text box height
Returns
number
Inherited from
ITextClickBehavior.calcTextHeight
calcTransformMatrix()
calcTransformMatrix(
skipGroup
?):TMat2D
Defined in: src/shapes/Object/ObjectGeometry.ts:485
calculate transform matrix that represents the current transformations from the object’s properties.
Parameters
skipGroup?
boolean
= false
return transform matrix for object not counting parent transformations There are some situation in which this is useful to avoid the fake rotation.
Returns
transform matrix for the object
Inherited from
ITextClickBehavior.calcTransformMatrix
canDrop()
canDrop(
e
):boolean
Defined in: src/shapes/IText/ITextClickBehavior.ts:76
override this method to control whether instance should/shouldn’t become a drop target
Parameters
e
DragEvent
Returns
boolean
Inherited from
ITextClickBehavior.canDrop
cleanStyle()
cleanStyle(
property
):undefined
|false
Defined in: src/shapes/Text/StyledText.ts:101
Check if characters in a text have a value for a property whose value matches the textbox’s value for that property. If so, the character-level property is deleted. If the character has no other properties, then it is also deleted. Finally, if the line containing that character has no other characters then it also is deleted.
Parameters
property
StylePropertiesType
Returns
undefined
| false
Inherited from
ITextClickBehavior.cleanStyle
clearContextTop()
clearContextTop(
restoreManually
?):undefined
|CanvasRenderingContext2D
Defined in: src/shapes/Object/InteractiveObject.ts:627
Clears the canvas.contextTop in a specific area that corresponds to the object’s bounding box that is in the canvas.contextContainer. This function is used to clear pieces of contextTop where we render ephemeral effects on top of the object. Example: blinking cursor text selection, drag effects.
Parameters
restoreManually?
boolean
When true won’t restore the context after clear, in order to draw something else.
Returns
undefined
| CanvasRenderingContext2D
canvas.contextTop that is either still transformed with the object transformMatrix, or restored to neutral transform
Todo
discuss swapping restoreManually with a renderCallback, but think of async issues
Inherited from
ITextClickBehavior.clearContextTop
clone()
clone(
propertiesToInclude
?):Promise
<IText
<Props
,SProps
,EventSpec
>>
Defined in: src/shapes/Object/Object.ts:1251
Clones an instance.
Parameters
propertiesToInclude?
string
[]
Any properties that you might want to additionally include in the output
Returns
Promise
<IText
<Props
, SProps
, EventSpec
>>
Inherited from
ITextClickBehavior.clone
cloneAsImage()
cloneAsImage(
options
?):FabricImage
Defined in: src/shapes/Object/Object.ts:1277
Creates an instance of Image out of an object makes use of toCanvasElement. Once this method was based on toDataUrl and loadImage, so it also had a quality and format option. toCanvasElement is faster and produce no loss of quality. If you need to get a real Jpeg or Png from an object, using toDataURL is the right way to do it. toCanvasElement and then toBlob from the obtained canvas is also a good option.
Parameters
options?
ObjectToCanvasElementOptions
for clone as image, passed to toDataURL
Returns
Object cloned as image.
Todo
fix the export type, it could not be Image but the type that getClass return for ‘image’.
Inherited from
ITextClickBehavior.cloneAsImage
complexity()
complexity():
number
Defined in: src/shapes/Text/Text.ts:1794
Returns complexity of an instance
Returns
number
complexity
Inherited from
ITextClickBehavior.complexity
containsPoint()
containsPoint(
point
):boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:282
Checks if point is inside the object
Parameters
point
Point to check against
Returns
boolean
true if point is inside the object
Inherited from
ITextClickBehavior.containsPoint
copy()
copy():
void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:302
Copies selected text
Returns
void
Inherited from
ITextClickBehavior.copy
dispose()
dispose():
void
Defined in: src/shapes/IText/IText.ts:722
cancel instance’s running animations
override if necessary to dispose artifacts such as clipPath
Returns
void
Overrides
ITextClickBehavior.dispose
doubleClickHandler()
doubleClickHandler(
options
):void
Defined in: src/shapes/IText/ITextClickBehavior.ts:112
Default handler for double click, select a word
Parameters
options
Returns
void
Inherited from
ITextClickBehavior.doubleClickHandler
drawBorders()
drawBorders(
ctx
,options
,styleOverride
?):void
Defined in: src/shapes/Object/InteractiveObject.ts:478
Draws borders of an object’s bounding box. Requires public properties: width, height Requires public options: padding, borderColor
Parameters
ctx
CanvasRenderingContext2D
Context to draw on
options
Required
<Omit
<TComposeMatrixArgs
, "flipY"
| "flipX"
>>
object representing current object parameters
styleOverride?
TStyleOverride
object to override the object style
Returns
void
Inherited from
ITextClickBehavior.drawBorders
drawCacheOnCanvas()
drawCacheOnCanvas(
this
,ctx
):void
Defined in: src/shapes/Object/Object.ts:905
Paint the cached copy of the object on the target context.
Parameters
this
TCachedFabricObject
<BaseFabricObject
>
ctx
CanvasRenderingContext2D
Context to render on
Returns
void
Inherited from
ITextClickBehavior.drawCacheOnCanvas
drawClipPathOnCache()
drawClipPathOnCache(
ctx
,clipPath
,canvasWithClipPath
):void
Defined in: src/shapes/Object/Object.ts:810
Execute the drawing operation for an object clipPath
Parameters
ctx
CanvasRenderingContext2D
Context to render on
clipPath
canvasWithClipPath
HTMLCanvasElement
Returns
void
Inherited from
ITextClickBehavior.drawClipPathOnCache
drawControls()
drawControls(
ctx
,styleOverride
):void
Defined in: src/shapes/Object/InteractiveObject.ts:550
Draws corners of an object’s bounding box. Requires public properties: width, height Requires public options: cornerSize, padding Be aware that since fabric 6.0 this function does not call setCoords anymore. setCoords needs to be called manually if the object of which we are rendering controls is outside the standard selection and transform process.
Parameters
ctx
CanvasRenderingContext2D
Context to draw on
styleOverride
Partial
<Pick
<InteractiveFabricObject
, "cornerStyle"
| "cornerSize"
| "cornerColor"
| "cornerStrokeColor"
| "cornerDashArray"
| "transparentCorners"
>> = {}
object to override the object style
Returns
void
Inherited from
ITextClickBehavior.drawControls
drawControlsConnectingLines()
drawControlsConnectingLines(
ctx
,size
):void
Defined in: src/shapes/Object/InteractiveObject.ts:517
Draws lines from a borders of an object’s bounding box to controls that have withConnection
property set.
Requires public properties: width, height
Requires public options: padding, borderColor
Parameters
ctx
CanvasRenderingContext2D
Context to draw on
size
object size x = width, y = height
Returns
void
Inherited from
ITextClickBehavior.drawControlsConnectingLines
drawObject()
drawObject(
ctx
,forClipping
,context
):void
Defined in: src/shapes/Object/Object.ts:835
Execute the drawing operation for an object on a specified context
Parameters
ctx
CanvasRenderingContext2D
Context to render on
forClipping
apply clipping styles
undefined
| boolean
context
additional context for rendering
Returns
void
Inherited from
ITextClickBehavior.drawObject
drawSelectionBackground()
drawSelectionBackground(
ctx
):void
Defined in: src/shapes/Object/InteractiveObject.ts:375
Draws a colored layer behind the object, inside its selection borders. Requires public options: padding, selectionBackgroundColor this function is called when the context is transformed has checks to be skipped when the object is on a staticCanvas
Parameters
ctx
CanvasRenderingContext2D
Context to draw on
Returns
void
Todo
evaluate if make this disappear in favor of a pre-render hook for objects this was added by Andrea Bogazzi to make possible some feature for work reasons it seemed a good option, now is an edge case
Inherited from
ITextClickBehavior.drawSelectionBackground
enlargeSpaces()
enlargeSpaces():
void
Defined in: src/shapes/Text/Text.ts:491
Enlarge space boxes and shift the others
Returns
void
Inherited from
ITextClickBehavior.enlargeSpaces
enterEditing()
enterEditing(
e
?):void
Defined in: src/shapes/IText/ITextBehavior.ts:386
Enters editing state
Parameters
e?
Returns
void
Inherited from
ITextClickBehavior.enterEditing
enterEditingImpl()
enterEditingImpl():
void
Defined in: src/shapes/IText/ITextBehavior.ts:405
runs the actual logic that enter from editing state, see enterEditing
Returns
void
Inherited from
ITextClickBehavior.enterEditingImpl
exitEditing()
exitEditing():
IText
<Props
,SProps
,EventSpec
>
Defined in: src/shapes/IText/ITextBehavior.ts:715
Exits from editing state and fires relevant events
Returns
IText
<Props
, SProps
, EventSpec
>
Inherited from
ITextClickBehavior.exitEditing
exitEditingImpl()
exitEditingImpl():
void
Defined in: src/shapes/IText/ITextBehavior.ts:702
runs the actual logic that exits from editing state, see exitEditing But it does not fire events
Returns
void
Inherited from
ITextClickBehavior.exitEditingImpl
findCommonAncestors()
findCommonAncestors<
T
>(other
):AncestryComparison
Defined in: src/shapes/Object/Object.ts:1634
Compare ancestors
Type Parameters
• T extends IText
<Props
, SProps
, EventSpec
>
Parameters
other
T
Returns
AncestryComparison
an object that represent the ancestry situation.
Inherited from
ITextClickBehavior.findCommonAncestors
findLineBoundaryLeft()
findLineBoundaryLeft(
startFrom
):number
Defined in: src/shapes/IText/ITextBehavior.ts:288
Find new selection index representing start of current line according to current selection index
Parameters
startFrom
number
Current selection index
Returns
number
New selection index
Inherited from
ITextClickBehavior.findLineBoundaryLeft
findLineBoundaryRight()
findLineBoundaryRight(
startFrom
):number
Defined in: src/shapes/IText/ITextBehavior.ts:305
Find new selection index representing end of current line according to current selection index
Parameters
startFrom
number
Current selection index
Returns
number
New selection index
Inherited from
ITextClickBehavior.findLineBoundaryRight
findWordBoundaryLeft()
findWordBoundaryLeft(
startFrom
):number
Defined in: src/shapes/IText/ITextBehavior.ts:240
Find new selection index representing start of current word according to current selection index
Parameters
startFrom
number
Current selection index
Returns
number
New selection index
Inherited from
ITextClickBehavior.findWordBoundaryLeft
findWordBoundaryRight()
findWordBoundaryRight(
startFrom
):number
Defined in: src/shapes/IText/ITextBehavior.ts:264
Find new selection index representing end of current word according to current selection index
Parameters
startFrom
number
Current selection index
Returns
number
New selection index
Inherited from
ITextClickBehavior.findWordBoundaryRight
fire()
fire<
K
>(eventName
,options
?):void
Defined in: src/Observable.ts:167
Fires event with an optional options object
Type Parameters
• K extends string
| number
| symbol
Parameters
eventName
K
Event name to fire
options?
EventSpec
[K
]
Options object
Returns
void
Inherited from
ITextClickBehavior.fire
forEachControl()
forEachControl(
fn
):void
Defined in: src/shapes/Object/InteractiveObject.ts:353
Calls a function for each control. The function gets called, with the control, the control’s key and the object that is calling the iterator
Parameters
fn
(control
, key
, fabricObject
) => any
function to iterate over the controls over
Returns
void
Inherited from
ITextClickBehavior.forEachControl
fromGraphemeToStringSelection()
fromGraphemeToStringSelection(
start
,end
,graphemes
):object
Defined in: src/shapes/IText/ITextBehavior.ts:498
convert from fabric to textarea values
Parameters
start
number
end
number
graphemes
string
[]
Returns
object
selectionEnd
selectionEnd:
number
=graphemeStart
selectionStart
selectionStart:
number
=graphemeStart
Inherited from
ITextClickBehavior.fromGraphemeToStringSelection
fromStringToGraphemeSelection()
fromStringToGraphemeSelection(
start
,end
,text
):object
Defined in: src/shapes/IText/ITextBehavior.ts:481
convert from textarea to grapheme indexes
Parameters
start
number
end
number
text
string
Returns
object
selectionEnd
selectionEnd:
number
=graphemeStart
selectionStart
selectionStart:
number
=graphemeStart
Inherited from
ITextClickBehavior.fromStringToGraphemeSelection
get()
get(
property
):any
Defined in: src/CommonMethods.ts:59
Basic getter
Parameters
property
string
Property name
Returns
any
value of a property
Inherited from
ITextClickBehavior.get
get2DCursorLocation()
get2DCursorLocation(
selectionStart
?,skipWrapping
?):object
Defined in: src/shapes/IText/IText.ts:348
Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
Parameters
selectionStart?
number
= ...
Optional index. When not given, current selectionStart is used.
skipWrapping?
boolean
consider the location for unwrapped lines. useful to manage styles.
Returns
object
charIndex
charIndex:
number
=selectionStart
lineIndex
lineIndex:
number
=i
Overrides
ITextClickBehavior.get2DCursorLocation
getActiveControl()
getActiveControl():
undefined
| {control
:Control
;coord
:TOCoord
;key
:string
; }
Defined in: src/shapes/Object/InteractiveObject.ts:194
Returns
undefined
| { control
: Control
; coord
: TOCoord
; key
: string
; }
Inherited from
ITextClickBehavior.getActiveControl
getAncestors()
getAncestors():
Ancestors
Defined in: src/shapes/Object/Object.ts:1617
Returns
Ancestors
ancestors (excluding ActiveSelection
) from bottom to top
Inherited from
ITextClickBehavior.getAncestors
getBoundingRect()
getBoundingRect():
TBBox
Defined in: src/shapes/Object/ObjectGeometry.ts:343
Returns coordinates of object’s bounding rectangle (left, top, width, height) the box is intended as aligned to axis of canvas.
Returns
Object with left, top, width, height properties
Inherited from
ITextClickBehavior.getBoundingRect
getCanvasRetinaScaling()
getCanvasRetinaScaling():
number
Defined in: src/shapes/Object/ObjectGeometry.ts:400
Returns
number
Inherited from
ITextClickBehavior.getCanvasRetinaScaling
getCenterPoint()
getCenterPoint():
Point
Defined in: src/shapes/Object/ObjectGeometry.ts:732
Returns the center coordinates of the object relative to canvas
Returns
Inherited from
ITextClickBehavior.getCenterPoint
getCompleteStyleDeclaration()
getCompleteStyleDeclaration(
lineIndex
,charIndex
):CompleteTextStyleDeclaration
Defined in: src/shapes/Text/StyledText.ts:276
return a new object that contains all the style property for a character the object returned is newly created
Parameters
lineIndex
number
of the line where the character is
charIndex
number
position of the character on the line
Returns
style object
Inherited from
ITextClickBehavior.getCompleteStyleDeclaration
getCoords()
getCoords():
Point
[]
Defined in: src/shapes/Object/ObjectGeometry.ts:204
Returns
Point
[]
[tl, tr, br, bl] in the scene plane
Inherited from
ITextClickBehavior.getCoords
getCurrentCharColor()
getCurrentCharColor():
null
|string
|TFiller
Defined in: src/shapes/IText/IText.ts:706
High level function to know the color of the cursor. the currentChar is the one that precedes the cursor Returns color (fill) of char at the current cursor if the text object has a pattern or gradient for filler, it will return that. Unused by the library, is for the end user
Returns
null
| string
| TFiller
Character color (fill)
getCurrentCharFontSize()
getCurrentCharFontSize():
number
Defined in: src/shapes/IText/IText.ts:693
High level function to know the height of the cursor. the currentChar is the one that precedes the cursor Returns fontSize of char at the current cursor Unused from the library, is for the end user
Returns
number
Character font size
getCursorRenderingData()
getCursorRenderingData(
selectionStart
,boundaries
):CursorRenderingData
Defined in: src/shapes/IText/IText.ts:516
Return the data needed to render the cursor for given selection start The left,top are relative to the object, while width and height are prescaled to look think with canvas zoom and object scaling, so they depend on canvas and object scaling
Parameters
selectionStart
number
= ...
boundaries
CursorBoundaries
= ...
Returns
getDownCursorOffset()
getDownCursorOffset(
e
,isRight
):number
Defined in: src/shapes/IText/ITextKeyBehavior.ts:352
Gets start offset of a selection
Parameters
e
KeyboardEvent
Event object
isRight
boolean
Returns
number
Inherited from
ITextClickBehavior.getDownCursorOffset
getHeightOfChar()
getHeightOfChar(
line
,_char
):number
Defined in: src/shapes/Text/Text.ts:866
Computes height of character at given position
Parameters
line
number
the line index number
_char
number
the character index number
Returns
number
fontSize of the character
Inherited from
ITextClickBehavior.getHeightOfChar
getHeightOfLine()
getHeightOfLine(
lineIndex
):number
Defined in: src/shapes/Text/Text.ts:1025
Calculate height of line at ‘lineIndex’
Parameters
lineIndex
number
index of line to calculate
Returns
number
Inherited from
ITextClickBehavior.getHeightOfLine
getObjectOpacity()
getObjectOpacity():
number
Defined in: src/shapes/Object/Object.ts:570
Return the object opacity counting also the group property
Returns
number
Inherited from
ITextClickBehavior.getObjectOpacity
getObjectScaling()
getObjectScaling():
Point
Defined in: src/shapes/Object/Object.ts:539
Return the object scale factor counting also the group scaling
Returns
Inherited from
ITextClickBehavior.getObjectScaling
getPointByOrigin()
getPointByOrigin(
originX
,originY
):Point
Defined in: src/shapes/Object/ObjectGeometry.ts:762
Returns the position of the object as if it has a different origin. Take an object that has left, top set to 100, 100 with origin ‘left’, ‘top’. Return the values of left top ( wrapped in a point ) that you would need to keep the same position if origin where different. Alternatively you can use this to also find which point in the parent plane is a specific origin ( where is the bottom right corner of my object? )
Parameters
originX
Horizontal origin: ‘left’, ‘center’ or ‘right’
originY
Vertical origin: ‘top’, ‘center’ or ‘bottom’
Returns
Inherited from
ITextClickBehavior.getPointByOrigin
getRelativeCenterPoint()
getRelativeCenterPoint():
Point
Defined in: src/shapes/Object/ObjectGeometry.ts:743
Returns the center coordinates of the object relative to it’s parent
Returns
Inherited from
ITextClickBehavior.getRelativeCenterPoint
getRelativeX()
getRelativeX():
number
Defined in: src/shapes/Object/ObjectGeometry.ts:115
Returns
number
x position according to object’s originX property in parent’s coordinate plane
if parent is canvas then this property is identical to getX
Inherited from
ITextClickBehavior.getRelativeX
getRelativeXY()
getRelativeXY():
Point
Defined in: src/shapes/Object/ObjectGeometry.ts:176
Returns
x,y position according to object’s originX originY properties in parent’s coordinate plane
Inherited from
ITextClickBehavior.getRelativeXY
getRelativeY()
getRelativeY():
number
Defined in: src/shapes/Object/ObjectGeometry.ts:131
Returns
number
y position according to object’s originY property in parent’s coordinate plane
if parent is canvas then this property is identical to getY
Inherited from
ITextClickBehavior.getRelativeY
getScaledHeight()
getScaledHeight():
number
Defined in: src/shapes/Object/ObjectGeometry.ts:361
Returns height of an object bounding box counting transformations
Returns
number
height value
Todo
shouldn’t this account for group transform and return the actual size in canvas coordinate plane?
Inherited from
ITextClickBehavior.getScaledHeight
getScaledWidth()
getScaledWidth():
number
Defined in: src/shapes/Object/ObjectGeometry.ts:352
Returns width of an object’s bounding box counting transformations
Returns
number
width value
Todo
shouldn’t this account for group transform and return the actual size in canvas coordinate plane?
Inherited from
ITextClickBehavior.getScaledWidth
getSelectedText()
getSelectedText():
string
Defined in: src/shapes/IText/ITextBehavior.ts:231
Returns selected text
Returns
string
Inherited from
ITextClickBehavior.getSelectedText
getSelectionStartFromPointer()
getSelectionStartFromPointer(
e
):number
Defined in: src/shapes/IText/ITextClickBehavior.ts:247
Returns index of a character corresponding to where an object was clicked
Parameters
e
Event object
Returns
number
Index of a character
Inherited from
ITextClickBehavior.getSelectionStartFromPointer
getSelectionStyles()
getSelectionStyles(
startIndex
,endIndex
,complete
?):Partial
<CompleteTextStyleDeclaration
>[]
Defined in: src/shapes/IText/IText.ts:321
Gets style of a current selection/cursor (at the start position) if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
Parameters
startIndex
number
= ...
Start index to get styles at
endIndex
number
= ...
End index to get styles at, if not specified selectionEnd or startIndex + 1
complete?
boolean
get full style or not
Returns
Partial
<CompleteTextStyleDeclaration
>[]
styles an array with one, zero or more Style objects
Overrides
ITextClickBehavior.getSelectionStyles
getSvgCommons()
getSvgCommons(
this
):string
Defined in: src/shapes/Object/FabricObjectSVGExportMixin.ts:84
Returns id attribute for svg output
Parameters
this
FabricObjectSVGExportMixin
& FabricObject
& object
Returns
string
Inherited from
ITextClickBehavior.getSvgCommons
getSvgFilter()
getSvgFilter(
this
):string
Defined in: src/shapes/Object/FabricObjectSVGExportMixin.ts:76
Returns filter for svg shadow
Parameters
this
FabricObjectSVGExportMixin
& FabricObject
Returns
string
Inherited from
ITextClickBehavior.getSvgFilter
getSvgStyles()
getSvgStyles(
this
,skipShadow
?):string
Defined in: src/shapes/Object/FabricObjectSVGExportMixin.ts:21
Returns styles-string for svg-export
Parameters
this
FabricObjectSVGExportMixin
& FabricObject
skipShadow?
boolean
a boolean to skip shadow filter output
Returns
string
Inherited from
ITextClickBehavior.getSvgStyles
getSvgTransform()
getSvgTransform(
this
,full
?,additionalTransform
?):string
Defined in: src/shapes/Object/FabricObjectSVGExportMixin.ts:103
Returns transform-string for svg-export
Parameters
this
FabricObjectSVGExportMixin
& FabricObject
full?
boolean
additionalTransform?
string
= ''
Returns
string
Inherited from
ITextClickBehavior.getSvgTransform
getTotalAngle()
getTotalAngle():
TDegree
Defined in: src/shapes/Object/ObjectGeometry.ts:408
Returns the object angle relative to canvas counting also the group property
Returns
Inherited from
ITextClickBehavior.getTotalAngle
getTotalObjectScaling()
getTotalObjectScaling():
Point
Defined in: src/shapes/Object/Object.ts:556
Return the object scale factor counting also the group scaling, zoom and retina
Returns
object with scaleX and scaleY properties
Inherited from
ITextClickBehavior.getTotalObjectScaling
getUpCursorOffset()
getUpCursorOffset(
e
,isRight
):number
Defined in: src/shapes/IText/ITextKeyBehavior.ts:397
Parameters
e
KeyboardEvent
Event object
isRight
boolean
Returns
number
Inherited from
ITextClickBehavior.getUpCursorOffset
getValueOfPropertyAt()
getValueOfPropertyAt<
T
>(lineIndex
,charIndex
,property
):IText
<Props
,SProps
,EventSpec
>[T
]
Defined in: src/shapes/Text/Text.ts:1542
Retrieves the value of property at given character position
Type Parameters
• T extends StylePropertiesType
Parameters
lineIndex
number
the line number
charIndex
number
the character number
property
T
the property name
Returns
IText
<Props
, SProps
, EventSpec
>[T
]
the value of ‘property’
Inherited from
ITextClickBehavior.getValueOfPropertyAt
getViewportTransform()
getViewportTransform():
TMat2D
Defined in: src/shapes/Object/ObjectGeometry.ts:418
Retrieves viewportTransform from Object’s canvas if available
Returns
Inherited from
ITextClickBehavior.getViewportTransform
getX()
getX():
number
Defined in: src/shapes/Object/ObjectGeometry.ts:86
Returns
number
x position according to object’s originX property in canvas coordinate plane
Inherited from
ITextClickBehavior.getX
getXY()
getXY():
Point
Defined in: src/shapes/Object/ObjectGeometry.ts:146
Returns
x position according to object’s originX originY properties in canvas coordinate plane
Inherited from
ITextClickBehavior.getXY
getY()
getY():
number
Defined in: src/shapes/Object/ObjectGeometry.ts:100
Returns
number
y position according to object’s originY property in canvas coordinate plane
Inherited from
ITextClickBehavior.getY
graphemeSplit()
graphemeSplit(
value
):string
[]
Defined in: src/shapes/Text/Text.ts:1720
Override this method to customize grapheme splitting
Parameters
value
string
Returns
string
[]
array of graphemes
Todo
the util graphemeSplit
needs to be injectable in some way.
is more comfortable to inject the correct util rather than having to override text
in the middle of the prototype chain
Inherited from
ITextClickBehavior.graphemeSplit
handleFiller()
handleFiller<
T
>(ctx
,property
,filler
):object
Defined in: src/shapes/Text/Text.ts:1279
Type Parameters
• T extends "fill"
| "stroke"
Parameters
ctx
CanvasRenderingContext2D
property
`${T}Style`
filler
string
| TFiller
Returns
object
offsetX
offsetX:
number
offsetY
offsetY:
number
Inherited from
ITextClickBehavior.handleFiller
hasCommonAncestors()
hasCommonAncestors<
T
>(other
):boolean
Defined in: src/shapes/Object/Object.ts:1699
Type Parameters
• T extends IText
<Props
, SProps
, EventSpec
>
Parameters
other
T
Returns
boolean
Inherited from
ITextClickBehavior.hasCommonAncestors
hasFill()
hasFill():
null
|boolean
|""
Defined in: src/shapes/Object/Object.ts:750
return true if the object will draw a fill Does not consider text styles. This is just a shortcut used at rendering time We want it to be an approximation and be fast. wrote to avoid extra caching, it has to return true when fill happens, can guess when it will not happen at 100% chance, does not matter if it misses some use case where the fill is invisible.
Returns
null
| boolean
| ""
Boolean
Since
3.0.0
Inherited from
ITextClickBehavior.hasFill
hasStroke()
hasStroke():
null
|boolean
|""
Defined in: src/shapes/Object/Object.ts:734
return true if the object will draw a stroke Does not consider text styles. This is just a shortcut used at rendering time We want it to be an approximation and be fast. wrote to avoid extra caching, it has to return true when stroke happens, can guess when it will not happen at 100% chance, does not matter if it misses some use case where the stroke is invisible.
Returns
null
| boolean
| ""
Boolean
Since
3.0.0
Inherited from
ITextClickBehavior.hasStroke
initBehavior()
initBehavior():
void
Defined in: src/shapes/IText/ITextClickBehavior.ts:30
Initializes all the interactive behavior of IText
Returns
void
Inherited from
ITextClickBehavior.initBehavior
initDelayedCursor()
initDelayedCursor(
restart
?):void
Defined in: src/shapes/IText/ITextBehavior.ts:175
Initializes delayed cursor
Parameters
restart?
boolean
Returns
void
Inherited from
ITextClickBehavior.initDelayedCursor
initHiddenTextarea()
initHiddenTextarea():
void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:63
Initializes hidden textarea (needed to bring up keyboard in iOS)
Returns
void
Inherited from
ITextClickBehavior.initHiddenTextarea
insertChars()
insertChars(
text
,style
,start
,end
):void
Defined in: src/shapes/IText/ITextBehavior.ts:1051
insert characters at start position, before start position. start equal 1 it means the text get inserted between actual grapheme 0 and 1 if style array is provided, it must be as the same length of text in graphemes if end is provided and is bigger than start, old text is replaced. start/end ar per grapheme position in _text array.
Parameters
text
string
text to insert
style
array of style objects
undefined
| Partial
<CompleteTextStyleDeclaration
>[]
start
number
end
number
= start
default to start + 1
Returns
void
Inherited from
ITextClickBehavior.insertChars
insertCharStyleObject()
insertCharStyleObject(
lineIndex
,charIndex
,quantity
,copiedStyle
?):void
Defined in: src/shapes/IText/ITextBehavior.ts:901
Inserts style object for a given line/char index
Parameters
lineIndex
number
Index of a line
charIndex
number
Index of a char
quantity
number
number Style object to insert, if given
copiedStyle?
Partial
<CompleteTextStyleDeclaration
>[]
array of style objects
Returns
void
Inherited from
ITextClickBehavior.insertCharStyleObject
insertNewlineStyleObject()
insertNewlineStyleObject(
lineIndex
,charIndex
,qty
,copiedStyle
?):void
Defined in: src/shapes/IText/ITextBehavior.ts:832
Handle insertion of more consecutive style lines for when one or more newlines gets added to the text. Since current style needs to be shifted first we shift the current style of the number lines needed, then we add new lines from the last to the first.
Parameters
lineIndex
number
Index of a line
charIndex
number
Index of a char
qty
number
number of lines to add
copiedStyle?
Array of objects styles
Returns
void
Inherited from
ITextClickBehavior.insertNewlineStyleObject
insertNewStyleBlock()
insertNewStyleBlock(
insertedText
,start
,copiedStyle
?):void
Defined in: src/shapes/IText/ITextBehavior.ts:959
Inserts style object(s)
Parameters
insertedText
string
[]
Characters at the location where style is inserted
start
number
cursor index for inserting style
copiedStyle?
Partial
<CompleteTextStyleDeclaration
>[]
array of style objects to insert.
Returns
void
Inherited from
ITextClickBehavior.insertNewStyleBlock
intersectsWithObject()
intersectsWithObject(
other
):boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:232
Checks if object intersects with another object
Parameters
other
ObjectGeometry
Object to test
Returns
boolean
true if object intersects with another object
Inherited from
ITextClickBehavior.intersectsWithObject
intersectsWithRect()
intersectsWithRect(
tl
,br
):boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:218
Checks if object intersects with the scene rect formed by tl and br
Parameters
tl
br
Returns
boolean
Inherited from
ITextClickBehavior.intersectsWithRect
isCacheDirty()
isCacheDirty(
skipCanvas
):boolean
Defined in: src/shapes/Object/Object.ts:919
Check if cache is dirty
Parameters
skipCanvas
boolean
= false
skip canvas checks because this object is painted on parent canvas.
Returns
boolean
Inherited from
ITextClickBehavior.isCacheDirty
isContainedWithinObject()
isContainedWithinObject(
other
):boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:251
Checks if object is fully contained within area of another object
Parameters
other
ObjectGeometry
Object to test
Returns
boolean
true if object is fully contained within area of another object
Inherited from
ITextClickBehavior.isContainedWithinObject
isContainedWithinRect()
isContainedWithinRect(
tl
,br
):boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:259
Checks if object is fully contained within the scene rect formed by tl and br
Parameters
tl
br
Returns
boolean
Inherited from
ITextClickBehavior.isContainedWithinRect
isControlVisible()
isControlVisible(
controlKey
):boolean
Defined in: src/shapes/Object/InteractiveObject.ts:584
Returns true if the specified control is visible, false otherwise.
Parameters
controlKey
string
The key of the control. Possible values are usually ‘tl’, ‘tr’, ‘br’, ‘bl’, ‘ml’, ‘mt’, ‘mr’, ‘mb’, ‘mtr’, but since the control api allow for any control name, can be any string.
Returns
boolean
true if the specified control is visible, false otherwise
Inherited from
ITextClickBehavior.isControlVisible
isDescendantOf()
isDescendantOf(
target
):boolean
Defined in: src/shapes/Object/Object.ts:1603
Checks if object is descendant of target Should be used instead of Group.contains or StaticCanvas.contains for performance reasons
Parameters
target
TAncestor
Returns
boolean
Inherited from
ITextClickBehavior.isDescendantOf
isEmptyStyles()
isEmptyStyles(
lineIndex
?):boolean
Defined in: src/shapes/Text/StyledText.ts:41
Returns true if object has no styling or no styling in a line
Parameters
lineIndex?
number
, lineIndex is on wrapped lines.
Returns
boolean
Inherited from
ITextClickBehavior.isEmptyStyles
isEndOfWrapping()
isEndOfWrapping(
lineIndex
):boolean
Defined in: src/shapes/Text/Text.ts:535
Detect if the text line is ended with an hard break text and itext do not have wrapping, return false
Parameters
lineIndex
number
Returns
boolean
Inherited from
ITextClickBehavior.isEndOfWrapping
isInFrontOf()
isInFrontOf<
T
>(other
):undefined
|boolean
Defined in: src/shapes/Object/Object.ts:1709
Type Parameters
• T extends IText
<Props
, SProps
, EventSpec
>
Parameters
other
T
object to compare against
Returns
undefined
| boolean
if objects do not share a common ancestor or they are strictly equal it is impossible to determine which is in front of the other; in such cases the function returns undefined
Inherited from
ITextClickBehavior.isInFrontOf
isNotVisible()
isNotVisible():
boolean
Defined in: src/shapes/Object/Object.ts:649
Returns
boolean
Inherited from
ITextClickBehavior.isNotVisible
isOnScreen()
isOnScreen():
boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:291
Checks if object is contained within the canvas with current viewportTransform the check is done stopping at first point that appears on screen
Returns
boolean
true if object is fully or partially contained within canvas
Inherited from
ITextClickBehavior.isOnScreen
isOverlapping()
isOverlapping<
T
>(other
):boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:269
Type Parameters
• T extends ObjectGeometry
Parameters
other
T
Returns
boolean
Inherited from
ITextClickBehavior.isOverlapping
isPartiallyOnScreen()
isPartiallyOnScreen():
boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:321
Checks if object is partially contained within the canvas with current viewportTransform
Returns
boolean
true if object is partially contained within canvas
Inherited from
ITextClickBehavior.isPartiallyOnScreen
isTripleClick()
isTripleClick(
newPointer
):boolean
Defined in: src/shapes/IText/ITextClickBehavior.ts:100
Parameters
newPointer
Returns
boolean
Inherited from
ITextClickBehavior.isTripleClick
isType()
isType(…
types
):boolean
Defined in: src/shapes/Object/Object.ts:1408
Returns true if any of the specified types is identical to the type of an instance
Parameters
types
…string
[]
Returns
boolean
Inherited from
ITextClickBehavior.isType
measureLine()
measureLine(
lineIndex
):object
Defined in: src/shapes/Text/Text.ts:874
measure a text line measuring all characters.
Parameters
lineIndex
number
line number
Returns
object
numOfSpaces
numOfSpaces:
number
=0
width
width:
number
Inherited from
ITextClickBehavior.measureLine
missingNewlineOffset()
missingNewlineOffset(
lineIndex
,skipWrapping
?):0
|1
Defined in: src/shapes/Text/Text.ts:545
Detect if a line has a linebreak and so we need to account for it when moving and counting style. It return always 1 for text and Itext. Textbox has its own implementation
Parameters
lineIndex
number
skipWrapping?
boolean
Returns
0
| 1
Number
Inherited from
ITextClickBehavior.missingNewlineOffset
moveCursorDown()
moveCursorDown(
e
):void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:458
Moves cursor down
Parameters
e
KeyboardEvent
Event object
Returns
void
Inherited from
ITextClickBehavior.moveCursorDown
moveCursorLeft()
moveCursorLeft(
e
):void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:543
Moves cursor left
Parameters
e
KeyboardEvent
Event object
Returns
void
Inherited from
ITextClickBehavior.moveCursorLeft
moveCursorLeftWithoutShift()
moveCursorLeftWithoutShift(
e
):boolean
Defined in: src/shapes/IText/ITextKeyBehavior.ts:595
Moves cursor left without keeping selection
Parameters
e
KeyboardEvent
Returns
boolean
Inherited from
ITextClickBehavior.moveCursorLeftWithoutShift
moveCursorLeftWithShift()
moveCursorLeftWithShift(
e
):undefined
|boolean
Defined in: src/shapes/IText/ITextKeyBehavior.ts:615
Moves cursor left while keeping selection
Parameters
e
KeyboardEvent
Returns
undefined
| boolean
Inherited from
ITextClickBehavior.moveCursorLeftWithShift
moveCursorRight()
moveCursorRight(
e
):void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:631
Moves cursor right
Parameters
e
KeyboardEvent
Event object
Returns
void
Inherited from
ITextClickBehavior.moveCursorRight
moveCursorRightWithoutShift()
moveCursorRightWithoutShift(
e
):boolean
Defined in: src/shapes/IText/ITextKeyBehavior.ts:681
Moves cursor right without keeping selection
Parameters
e
KeyboardEvent
Event object
Returns
boolean
Inherited from
ITextClickBehavior.moveCursorRightWithoutShift
moveCursorRightWithShift()
moveCursorRightWithShift(
e
):undefined
|boolean
Defined in: src/shapes/IText/ITextKeyBehavior.ts:665
Moves cursor right while keeping selection
Parameters
e
KeyboardEvent
Returns
undefined
| boolean
Inherited from
ITextClickBehavior.moveCursorRightWithShift
moveCursorUp()
moveCursorUp(
e
):void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:472
Moves cursor up
Parameters
e
KeyboardEvent
Event object
Returns
void
Inherited from
ITextClickBehavior.moveCursorUp
moveCursorWithoutShift()
moveCursorWithoutShift(
offset
):boolean
Defined in: src/shapes/IText/ITextKeyBehavior.ts:528
Moves cursor up without shift
Parameters
offset
number
Returns
boolean
Inherited from
ITextClickBehavior.moveCursorWithoutShift
moveCursorWithShift()
moveCursorWithShift(
offset
):boolean
Defined in: src/shapes/IText/ITextKeyBehavior.ts:511
Moves cursor with shift
Parameters
offset
number
Returns
boolean
Inherited from
ITextClickBehavior.moveCursorWithShift
needsItsOwnCache()
needsItsOwnCache():
boolean
Defined in: src/shapes/Object/Object.ts:762
When set to true
, force the object to have its own cache, even if it is inside a group
it may be needed when your object behave in a particular way on the cache and always needs
its own isolated canvas to render correctly.
Created to be overridden
since 1.7.12
Returns
boolean
Boolean
Inherited from
ITextClickBehavior.needsItsOwnCache
off()
Call Signature
off<
K
>(eventName
):void
Defined in: src/Observable.ts:122
Unsubscribe all event listeners for eventname. Do not use this pattern. You could kill internal fabricJS events. We know we should have protected events for internal flows, but we don’t have yet
Type Parameters
• K extends string
| number
| symbol
Parameters
eventName
K
event name (eg. ‘after:render’)
Returns
void
Inherited from
ITextClickBehavior.off
Call Signature
off<
K
>(eventName
,handler
):void
Defined in: src/Observable.ts:128
unsubscribe an event listener
Type Parameters
• K extends string
| number
| symbol
Parameters
eventName
K
event name (eg. ‘after:render’)
handler
TEventCallback
<any
>
event listener to unsubscribe
Returns
void
Inherited from
ITextClickBehavior.off
Call Signature
off(
handlers
):void
Defined in: src/Observable.ts:133
unsubscribe event listeners
Parameters
handlers
EventRegistryObject
<EventSpec
>
handlers key/value pairs (eg. {‘after:render’: handler, ‘selection:cleared’: handler})
Returns
void
Inherited from
ITextClickBehavior.off
Call Signature
off():
void
Defined in: src/Observable.ts:137
unsubscribe all event listeners
Returns
void
Inherited from
ITextClickBehavior.off
on()
Call Signature
on<
K
,E
>(eventName
,handler
):VoidFunction
Defined in: src/Observable.ts:23
Observes specified event
Type Parameters
• K extends string
| number
| symbol
• E
Parameters
eventName
K
Event name (eg. ‘after:render’)
handler
TEventCallback
<E
>
Function that receives a notification when an event of the specified type occurs
Returns
VoidFunction
disposer
Alias
on
Inherited from
ITextClickBehavior.on
Call Signature
on(
handlers
):VoidFunction
Defined in: src/Observable.ts:27
Observes specified event
Parameters
handlers
EventRegistryObject
<EventSpec
>
key/value pairs (eg. {‘after:render’: handler, ‘selection:cleared’: handler})
Returns
VoidFunction
disposer
Alias
on
Inherited from
ITextClickBehavior.on
once()
Call Signature
once<
K
,E
>(eventName
,handler
):VoidFunction
Defined in: src/Observable.ts:62
Observes specified event once
Type Parameters
• K extends string
| number
| symbol
• E
Parameters
eventName
K
Event name (eg. ‘after:render’)
handler
TEventCallback
<E
>
Function that receives a notification when an event of the specified type occurs
Returns
VoidFunction
disposer
Alias
once
Inherited from
ITextClickBehavior.once
Call Signature
once(
handlers
):VoidFunction
Defined in: src/Observable.ts:66
Observes specified event once
Parameters
handlers
EventRegistryObject
<EventSpec
>
key/value pairs (eg. {‘after:render’: handler, ‘selection:cleared’: handler})
Returns
VoidFunction
disposer
Alias
once
Inherited from
ITextClickBehavior.once
onCompositionEnd()
onCompositionEnd():
void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:288
Composition end
Returns
void
Inherited from
ITextClickBehavior.onCompositionEnd
onCompositionStart()
onCompositionStart():
void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:281
Composition start
Returns
void
Inherited from
ITextClickBehavior.onCompositionStart
onCompositionUpdate()
onCompositionUpdate(
__namedParameters
):void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:292
Parameters
__namedParameters
CompositionEvent
Returns
void
Inherited from
ITextClickBehavior.onCompositionUpdate
onDeselect()
onDeselect(
options
?):boolean
Defined in: src/shapes/IText/ITextBehavior.ts:111
This callback function is called every time _discardActiveObject or _setActiveObject try to to deselect this object. If the function returns true, the process is cancelled
Parameters
options?
e
event if the process is generated by an event
object
next object we are setting as active, and reason why this is being deselected
Returns
boolean
Inherited from
ITextClickBehavior.onDeselect
onDragStart()
onDragStart(
e
):boolean
Defined in: src/shapes/IText/ITextClickBehavior.ts:69
override this method to control whether instance should/shouldn’t become a drag source,
Parameters
e
DragEvent
Returns
boolean
should handle event
See
also DraggableTextDelegate#isActive To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
Inherited from
ITextClickBehavior.onDragStart
onInput()
onInput(
this
,e
):void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:174
Handles onInput event
Parameters
this
IText
<Props
, SProps
, EventSpec
> & object
e
Event
Event object
Returns
void
Inherited from
ITextClickBehavior.onInput
onKeyDown()
onKeyDown(
e
):void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:115
Handles keydown event only used for arrows and combination of modifier keys.
Parameters
e
KeyboardEvent
Event object
Returns
void
Inherited from
ITextClickBehavior.onKeyDown
onKeyUp()
onKeyUp(
e
):void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:151
Handles keyup event We handle KeyUp because ie11 and edge have difficulties copy/pasting if a copy/cut event fired, keyup is dismissed
Parameters
e
KeyboardEvent
Event object
Returns
void
Inherited from
ITextClickBehavior.onKeyUp
onSelect()
onSelect(
_options
?):boolean
Defined in: src/shapes/Object/InteractiveObject.ts:672
This callback function is called every time _discardActiveObject or _setActiveObject try to to select this object. If the function returns true, the process is cancelled
Parameters
_options?
options sent from the upper functions
e
event if the process is generated by an event
Returns
boolean
Inherited from
ITextClickBehavior.onSelect
paste()
paste():
void
Defined in: src/shapes/IText/ITextKeyBehavior.ts:324
Pastes text
Returns
void
Inherited from
ITextClickBehavior.paste
removeChars()
removeChars(
start
,end
):void
Defined in: src/shapes/IText/ITextBehavior.ts:1029
Removes characters from start/end start/end ar per grapheme position in _text array.
Parameters
start
number
end
number
= ...
default to start + 1
Returns
void
Inherited from
ITextClickBehavior.removeChars
removeStyle()
removeStyle(
property
):void
Defined in: src/shapes/Text/StyledText.ts:162
Remove a style property or properties from all individual character styles in a text object. Deletes the character style object if it contains no other style props. Deletes a line style object if it contains no other character styles.
Parameters
property
StylePropertiesType
Returns
void
Inherited from
ITextClickBehavior.removeStyle
removeStyleFromTo()
removeStyleFromTo(
start
,end
):void
Defined in: src/shapes/IText/ITextBehavior.ts:747
remove and reflow a style block from start to end.
Parameters
start
number
linear start position for removal (included in removal)
end
number
linear end position for removal ( excluded from removal )
Returns
void
Inherited from
ITextClickBehavior.removeStyleFromTo
renderCache()
renderCache(
this
,options
?):void
Defined in: src/shapes/Object/Object.ts:695
Parameters
this
TCachedFabricObject
<BaseFabricObject
>
options?
any
Returns
void
Inherited from
ITextClickBehavior.renderCache
renderCursor()
renderCursor(
ctx
,boundaries
):void
Defined in: src/shapes/IText/IText.ts:506
Renders cursor
Parameters
ctx
CanvasRenderingContext2D
transformed context to draw on
boundaries
Returns
void
renderCursorAt()
renderCursorAt(
selectionStart
):void
Defined in: src/shapes/IText/IText.ts:493
Renders cursor on context Top, outside the animation cycle, on request Used for the drag/drop effect. If contextTop is not available, do nothing.
Parameters
selectionStart
number
Returns
void
renderCursorOrSelection()
renderCursorOrSelection():
void
Defined in: src/shapes/IText/IText.ts:383
Renders cursor or selection (depending on what exists) it does on the contextTop. If contextTop is not available, do nothing.
Returns
void
Overrides
ITextClickBehavior.renderCursorOrSelection
renderDragSourceEffect()
renderDragSourceEffect():
void
Defined in: src/shapes/IText/IText.ts:582
Renders drag start text selection
Returns
void
Overrides
ITextClickBehavior.renderDragSourceEffect
renderDropTargetEffect()
renderDropTargetEffect(
e
):void
Defined in: src/shapes/IText/IText.ts:592
Override to customize drag and drop behavior render a specific effect when an object is the target of a drag event used to show that the underly object can receive a drop, or to show how the object will change when dropping. example: show the cursor where the text is about to be dropped
Parameters
e
DragEvent
Returns
void
Overrides
ITextClickBehavior.renderDropTargetEffect
renderSelection()
renderSelection(
ctx
,boundaries
):void
Defined in: src/shapes/IText/IText.ts:567
Renders text selection
Parameters
ctx
CanvasRenderingContext2D
transformed context to draw on
boundaries
Object with left/top/leftOffset/topOffset
Returns
void
restartCursorIfNeeded()
restartCursorIfNeeded():
void
Defined in: src/shapes/IText/ITextBehavior.ts:206
Restart tue cursor animation if either is in complete state ( between animations ) or if it never started before
Returns
void
Inherited from
ITextClickBehavior.restartCursorIfNeeded
rotate()
rotate(
angle
):void
Defined in: src/shapes/Object/Object.ts:1436
Sets “angle” of an instance with centered rotation
Parameters
angle
Angle value (in degrees)
Returns
void
Inherited from
ITextClickBehavior.rotate
scale()
scale(
value
):void
Defined in: src/shapes/Object/ObjectGeometry.ts:370
Scales an object (equally by x and y)
Parameters
value
number
Scale factor
Returns
void
Inherited from
ITextClickBehavior.scale
scaleToHeight()
scaleToHeight(
value
):void
Defined in: src/shapes/Object/ObjectGeometry.ts:393
Scales an object to a given height, with respect to bounding box (scaling by x/y equally)
Parameters
value
number
New height value
Returns
void
Inherited from
ITextClickBehavior.scaleToHeight
scaleToWidth()
scaleToWidth(
value
):void
Defined in: src/shapes/Object/ObjectGeometry.ts:381
Scales an object to a given width, with respect to bounding box (scaling by x/y equally)
Parameters
value
number
New width value
Returns
void
Inherited from
ITextClickBehavior.scaleToWidth
searchWordBoundary()
searchWordBoundary(
selectionStart
,direction
):number
Defined in: src/shapes/IText/ITextBehavior.ts:323
Finds index corresponding to beginning or end of a word
Parameters
selectionStart
number
Index of a character
direction
1 or -1
-1
| 1
Returns
number
Index of the beginning or end of a word
Inherited from
ITextClickBehavior.searchWordBoundary
selectAll()
selectAll():
IText
<Props
,SProps
,EventSpec
>
Defined in: src/shapes/IText/ITextBehavior.ts:219
Selects entire text
Returns
IText
<Props
, SProps
, EventSpec
>
Inherited from
ITextClickBehavior.selectAll
selectLine()
selectLine(
selectionStart
?):IText
<Props
,SProps
,EventSpec
>
Defined in: src/shapes/IText/ITextBehavior.ts:371
TODO fix: selectionStart set as 0 will be ignored? Selects a line based on the index
Parameters
selectionStart?
number
Index of a character
Returns
IText
<Props
, SProps
, EventSpec
>
Inherited from
ITextClickBehavior.selectLine
selectWord()
selectWord(
selectionStart
?):void
Defined in: src/shapes/IText/ITextBehavior.ts:349
TODO fix: selectionStart set as 0 will be ignored? Selects a word based on the index
Parameters
selectionStart?
number
Index of a character
Returns
void
Inherited from
ITextClickBehavior.selectWord
set()
set(
key
,value
?):IText
<Props
,SProps
,EventSpec
>
Defined in: src/shapes/Text/Text.ts:1763
Sets property to a given value. When changing position/dimension -related properties (left, top, scale, angle, etc.) set
does not update position of object’s borders/controls. If you need to update those, call setCoords()
.
Parameters
key
any
Property name or object (if object, iterate over the object properties)
value?
any
Property value (if function, the value is passed into it and its return value is used as a new one)
Returns
IText
<Props
, SProps
, EventSpec
>
Inherited from
ITextClickBehavior.set
setControlsVisibility()
setControlsVisibility(
options
?):void
Defined in: src/shapes/Object/InteractiveObject.ts:611
Sets the visibility state of object controls, this is just a bulk option for setControlVisible;
Parameters
options?
Record
<string
, boolean
> = {}
with an optional key per control example: {Boolean} [options.bl] true to enable the bottom-left control, false to disable it
Returns
void
Inherited from
ITextClickBehavior.setControlsVisibility
setControlVisible()
setControlVisible(
controlKey
,visible
):void
Defined in: src/shapes/Object/InteractiveObject.ts:599
Sets the visibility of the specified control. please do not use.
Parameters
controlKey
string
The key of the control. Possible values are ‘tl’, ‘tr’, ‘br’, ‘bl’, ‘ml’, ‘mt’, ‘mr’, ‘mb’, ‘mtr’. but since the control api allow for any control name, can be any string.
visible
boolean
true to set the specified control visible, false otherwise
Returns
void
Todo
discuss this overlap of priority here with the team. Andrea Bogazzi for details
Inherited from
ITextClickBehavior.setControlVisible
setCoords()
setCoords():
void
Defined in: src/shapes/Object/InteractiveObject.ts:343
set controls’ coordinates as well See https://github.com/fabricjs/fabric.js/wiki/When-to-call-setCoords and http://fabricjs.com/fabric-gotchas
Returns
void
Inherited from
ITextClickBehavior.setCoords
setCursorByClick()
setCursorByClick(
e
):void
Defined in: src/shapes/IText/ITextClickBehavior.ts:226
Changes cursor location in a text depending on passed pointer (x/y) object
Parameters
e
Event object
Returns
void
Inherited from
ITextClickBehavior.setCursorByClick
setOnGroup()
setOnGroup():
void
Defined in: src/shapes/Object/Object.ts:1468
This callback function is called by the parent group of an object every time a non-delegated property changes on the group. It is passed the key and value as parameters. Not adding in this function’s signature to avoid Travis build error about unused variables.
Returns
void
Inherited from
ITextClickBehavior.setOnGroup
setPathInfo()
setPathInfo():
void
Defined in: src/shapes/Text/Text.ts:445
If text has a path, it will add the extra information needed for path and text calculations
Returns
void
Inherited from
ITextClickBehavior.setPathInfo
setPositionByOrigin()
setPositionByOrigin(
pos
,originX
,originY
):void
Defined in: src/shapes/Object/ObjectGeometry.ts:777
Sets the position of the object taking into consideration the object’s origin
Parameters
pos
The new position of the object
originX
Horizontal origin: ‘left’, ‘center’ or ‘right’
originY
Vertical origin: ‘top’, ‘center’ or ‘bottom’
Returns
void
Inherited from
ITextClickBehavior.setPositionByOrigin
setRelativeX()
setRelativeX(
value
):void
Defined in: src/shapes/Object/ObjectGeometry.ts:123
Parameters
value
number
x position according to object’s originX property in parent’s coordinate plane
if parent is canvas then this method is identical to setX
Returns
void
Inherited from
ITextClickBehavior.setRelativeX
setRelativeXY()
setRelativeXY(
point
,originX
?,originY
?):void
Defined in: src/shapes/Object/ObjectGeometry.ts:186
As setXY, but in current parent’s coordinate plane (the current group if any or the canvas)
Parameters
point
position according to object’s originX originY properties in parent’s coordinate plane
originX?
TOriginX
= ...
Horizontal origin: ‘left’, ‘center’ or ‘right’
originY?
TOriginY
= ...
Vertical origin: ‘top’, ‘center’ or ‘bottom’
Returns
void
Inherited from
ITextClickBehavior.setRelativeXY
setRelativeY()
setRelativeY(
value
):void
Defined in: src/shapes/Object/ObjectGeometry.ts:139
Parameters
value
number
y position according to object’s originY property in parent’s coordinate plane
if parent is canvas then this property is identical to setY
Returns
void
Inherited from
ITextClickBehavior.setRelativeY
setSelectionEnd()
setSelectionEnd(
index
):void
Defined in: src/shapes/IText/IText.ts:271
Sets selection end (right boundary of a selection)
Parameters
index
number
Index to set selection end to
Returns
void
setSelectionStart()
setSelectionStart(
index
):void
Defined in: src/shapes/IText/IText.ts:262
Sets selection start (left boundary of a selection)
Parameters
index
number
Index to set selection start to
Returns
void
setSelectionStartEndWithShift()
setSelectionStartEndWithShift(
start
,end
,newSelection
):void
Defined in: src/shapes/IText/ITextBehavior.ts:1078
Set the selectionStart and selectionEnd according to the new position of cursor mimic the key - mouse navigation when shift is pressed.
Parameters
start
number
end
number
newSelection
number
Returns
void
Inherited from
ITextClickBehavior.setSelectionStartEndWithShift
setSelectionStyles()
setSelectionStyles(
styles
?,startIndex
?,endIndex
?):void
Defined in: src/shapes/IText/IText.ts:335
Sets style of a current selection, if no selection exist, do not set anything.
Parameters
styles?
object
Styles object
startIndex?
number
= ...
Start index to get styles at
endIndex?
number
= ...
End index to get styles at, if not specified selectionEnd or startIndex + 1
Returns
void
Overrides
ITextClickBehavior.setSelectionStyles
setSubscript()
setSubscript(
start
,end
):void
Defined in: src/shapes/Text/Text.ts:1420
Turns the character into an ‘inferior figure’ (i.e. ‘subscript’)
Parameters
start
number
selection start
end
number
selection end
Returns
void
Inherited from
ITextClickBehavior.setSubscript
setSuperscript()
setSuperscript(
start
,end
):void
Defined in: src/shapes/Text/Text.ts:1411
Turns the character into a ‘superior figure’ (i.e. ‘superscript’)
Parameters
start
number
selection start
end
number
selection end
Returns
void
Inherited from
ITextClickBehavior.setSuperscript
setX()
setX(
value
):void
Defined in: src/shapes/Object/ObjectGeometry.ts:93
Parameters
value
number
x position according to object’s originX property in canvas coordinate plane
Returns
void
Inherited from
ITextClickBehavior.setX
setXY()
setXY(
point
,originX
?,originY
?):void
Defined in: src/shapes/Object/ObjectGeometry.ts:163
Set an object position to a particular point, the point is intended in absolute ( canvas ) coordinate. You can specify originX and originY values, that otherwise are the object’s current values.
Parameters
point
position in scene coordinate plane
originX?
Horizontal origin: ‘left’, ‘center’ or ‘right’
originY?
Vertical origin: ‘top’, ‘center’ or ‘bottom’
Returns
void
Example
Inherited from
ITextClickBehavior.setXY
setY()
setY(
value
):void
Defined in: src/shapes/Object/ObjectGeometry.ts:107
Parameters
value
number
y position according to object’s originY property in canvas coordinate plane
Returns
void
Inherited from
ITextClickBehavior.setY
shiftLineStyles()
shiftLineStyles(
lineIndex
,offset
):void
Defined in: src/shapes/IText/ITextBehavior.ts:809
Shifts line styles up or down
Parameters
lineIndex
number
Index of a line
offset
number
Can any number?
Returns
void
Inherited from
ITextClickBehavior.shiftLineStyles
shouldCache()
shouldCache():
boolean
Defined in: src/shapes/Object/Object.ts:786
Decide if the object should cache or not. Create its own cache level objectCaching is a global flag, wins over everything needsItsOwnCache should be used when the object drawing method requires a cache step. None of the fabric classes requires it. Generally you do not cache objects in groups because the group outside is cached. Read as: cache if is needed, or if the feature is enabled but we are not already caching.
Returns
boolean
Inherited from
ITextClickBehavior.shouldCache
shouldStartDragging()
shouldStartDragging():
boolean
Defined in: src/shapes/IText/ITextClickBehavior.ts:59
If this method returns true a mouse move operation over a text selection will not prevent the native mouse event allowing the browser to start a drag operation. shouldStartDragging can be read ‘do not prevent default for mouse move event’ To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
Returns
boolean
Inherited from
ITextClickBehavior.shouldStartDragging
strokeBorders()
strokeBorders(
ctx
,size
):void
Defined in: src/shapes/Object/InteractiveObject.ts:399
override this function in order to customize the drawing of the control box, e.g. rounded corners, different border style.
Parameters
ctx
CanvasRenderingContext2D
ctx is rotated and translated so that (0,0) is at object’s center
size
the control box size used
Returns
void
Inherited from
ITextClickBehavior.strokeBorders
styleHas()
styleHas(
property
,lineIndex
?):boolean
Defined in: src/shapes/Text/StyledText.ts:70
Returns true if object has a style property or has it ina specified line This function is used to detect if a text will use a particular property or not.
Parameters
property
StylePropertiesType
to check for
lineIndex?
number
to check the style on
Returns
boolean
Inherited from
ITextClickBehavior.styleHas
toCanvasElement()
toCanvasElement(
options
?):HTMLCanvasElement
Defined in: src/shapes/IText/IText.ts:371
block cursor/selection logic while rendering the exported canvas
Parameters
options?
ObjectToCanvasElementOptions
Returns
HTMLCanvasElement
Todo
this workaround should be replaced with a more robust solution
Overrides
ITextClickBehavior.toCanvasElement
toClipPathSVG()
toClipPathSVG(
this
,reviver
?):string
Defined in: src/shapes/Object/FabricObjectSVGExportMixin.ts:143
Returns svg clipPath representation of an instance
Parameters
this
FabricObjectSVGExportMixin
& FabricObject
reviver?
Method for further parsing of svg representation.
Returns
string
svg representation of an instance
Inherited from
ITextClickBehavior.toClipPathSVG
toDatalessObject()
toDatalessObject(
propertiesToInclude
?):any
Defined in: src/shapes/Object/Object.ts:1843
Returns (dataless) object representation of an instance
Parameters
propertiesToInclude?
any
[]
Any properties that you might want to additionally include in the output
Returns
any
Object representation of an instance
Inherited from
ITextClickBehavior.toDatalessObject
toDataURL()
toDataURL(
options
):string
Defined in: src/shapes/Object/Object.ts:1395
Converts an object into a data-url-like string
Parameters
options
toDataURLOptions
= {}
Options object
Returns
string
Returns a data: URL containing a representation of the object in the format specified by options.format
Inherited from
ITextClickBehavior.toDataURL
toggle()
toggle(
property
):IText
<Props
,SProps
,EventSpec
>
Defined in: src/CommonMethods.ts:46
Toggles specified property from true
to false
or from false
to true
Parameters
property
string
Property to toggle
Returns
IText
<Props
, SProps
, EventSpec
>
Inherited from
ITextClickBehavior.toggle
toJSON()
toJSON():
any
Defined in: src/shapes/Object/Object.ts:1427
Returns a JSON representation of an instance
Returns
any
JSON
Inherited from
ITextClickBehavior.toJSON
toObject()
toObject<
T
,K
>(propertiesToInclude
?):Pick
<T
,K
> &SProps
Defined in: src/shapes/Text/Text.ts:1752
Returns object representation of an instance
Type Parameters
• T extends Omit
<Props
& TClassProperties
<IText
<Props
, SProps
, EventSpec
>>, keyof SProps
>
• K extends string
| number
| symbol
= never
Parameters
propertiesToInclude?
K
[] = []
Any properties that you might want to additionally include in the output
Returns
Pick
<T
, K
> & SProps
Object representation of an instance
Inherited from
ITextClickBehavior.toObject
toString()
toString():
string
Defined in: src/shapes/Text/Text.ts:581
Returns string representation of an instance
Returns
string
String representation of text object
Inherited from
ITextClickBehavior.toString
toSVG()
toSVG(
this
,reviver
?):string
Defined in: src/shapes/Object/FabricObjectSVGExportMixin.ts:129
Returns svg representation of an instance
Parameters
this
FabricObjectSVGExportMixin
& FabricObject
reviver?
Method for further parsing of svg representation.
Returns
string
svg representation of an instance
Inherited from
ITextClickBehavior.toSVG
transform()
transform(
ctx
):void
Defined in: src/shapes/Object/Object.ts:527
Transforms context when rendering an object
Parameters
ctx
CanvasRenderingContext2D
Context
Returns
void
Inherited from
ITextClickBehavior.transform
transformMatrixKey()
transformMatrixKey(
skipGroup
):number
[]
Defined in: src/shapes/Object/ObjectGeometry.ts:453
Parameters
skipGroup
boolean
= false
Returns
number
[]
Inherited from
ITextClickBehavior.transformMatrixKey
translateToCenterPoint()
translateToCenterPoint(
point
,originX
,originY
):Point
Defined in: src/shapes/Object/ObjectGeometry.ts:682
Translates the coordinates from origin to center coordinates (based on the object’s dimensions)
Parameters
point
The point which corresponds to the originX and originY params
originX
Horizontal origin: ‘left’, ‘center’ or ‘right’
originY
Vertical origin: ‘top’, ‘center’ or ‘bottom’
Returns
Inherited from
ITextClickBehavior.translateToCenterPoint
translateToGivenOrigin()
translateToGivenOrigin(
point
,fromOriginX
,fromOriginY
,toOriginX
,toOriginY
):Point
Defined in: src/shapes/Object/ObjectGeometry.ts:654
Translates the coordinates from a set of origin to another (based on the object’s dimensions)
Parameters
point
The point which corresponds to the originX and originY params
fromOriginX
Horizontal origin: ‘left’, ‘center’ or ‘right’
fromOriginY
Vertical origin: ‘top’, ‘center’ or ‘bottom’
toOriginX
Horizontal origin: ‘left’, ‘center’ or ‘right’
toOriginY
Vertical origin: ‘top’, ‘center’ or ‘bottom’
Returns
Inherited from
ITextClickBehavior.translateToGivenOrigin
translateToOriginPoint()
translateToOriginPoint(
center
,originX
,originY
):Point
Defined in: src/shapes/Object/ObjectGeometry.ts:710
Translates the coordinates from center to origin coordinates (based on the object’s dimensions)
Parameters
center
The point which corresponds to center of the object
originX
Horizontal origin: ‘left’, ‘center’ or ‘right’
originY
Vertical origin: ‘top’, ‘center’ or ‘bottom’
Returns
Inherited from
ITextClickBehavior.translateToOriginPoint
tripleClickHandler()
tripleClickHandler(
options
):void
Defined in: src/shapes/IText/ITextClickBehavior.ts:122
Default handler for triple click, select a line
Parameters
options
Returns
void
Inherited from
ITextClickBehavior.tripleClickHandler
updateSelectionOnMouseMove()
updateSelectionOnMouseMove(
e
):void
Defined in: src/shapes/IText/ITextBehavior.ts:427
called by Canvas#textEditingManager
Parameters
e
Returns
void
Inherited from
ITextClickBehavior.updateSelectionOnMouseMove
willDrawShadow()
willDrawShadow():
boolean
Defined in: src/shapes/Object/Object.ts:799
Check if this object will cast a shadow with an offset. used by Group.shouldCache to know if child has a shadow recursively
Returns
boolean
Inherited from
ITextClickBehavior.willDrawShadow
_fromObject()
static
_fromObject<S
>(__namedParameters
,__namedParameters
):Promise
<S
>
Defined in: src/shapes/Object/Object.ts:1896
Type Parameters
• S extends BaseFabricObject
Parameters
__namedParameters
Record
<string
, unknown
>
__namedParameters
Abortable
& object
= {}
Returns
Promise
<S
>
Inherited from
ITextClickBehavior._fromObject
createControls()
static
createControls():object
Defined in: src/shapes/Object/InteractiveObject.ts:167
Creates the default control object. If you prefer to have on instance of controls shared among all objects make this function return an empty object and add controls to the ownDefaults
Returns
object
controls
controls:
Record
<string
,Control
>
Inherited from
ITextClickBehavior.createControls
fromElement()
static
fromElement(element
,options
?,cssRules
?):Promise
<FabricText
<{fontSize
:number
;left
:number
;linethrough
:boolean
;overline
:boolean
;signal
:AbortSignal
;strokeWidth
:number
;top
:number
;underline
:boolean
; }>>
Defined in: src/shapes/Text/Text.ts:1847
Returns FabricText instance from an SVG element (not yet implemented)
Parameters
element
HTMLElement
Element to parse
options?
Options object
cssRules?
CSSRules
Returns
Promise
<FabricText
<{ fontSize
: number
; left
: number
; linethrough
: boolean
; overline
: boolean
; signal
: AbortSignal
; strokeWidth
: number
; top
: number
; underline
: boolean
; }>>
Static
Member Of
Text
Inherited from
ITextClickBehavior.fromElement
fromObject()
static
fromObject<T
,S
>(object
):Promise
<S
>
Defined in: src/shapes/Text/Text.ts:1924
Returns FabricText instance from an object representation
Type Parameters
• T extends TOptions
<SerializedTextProps
>
• S extends FabricText
Parameters
object
T
plain js Object to create an instance from
Returns
Promise
<S
>
Inherited from
ITextClickBehavior.fromObject
getDefaults()
static
getDefaults():Record
<string
,any
>
Defined in: src/shapes/IText/IText.ts:216
Returns
Record
<string
, any
>
Overrides
ITextClickBehavior.getDefaults