FabricText
Defined in: src/shapes/Text/Text.ts:126
Text class
Tutorial
http://fabricjs.com/fabric-intro-part-2#text
Extends
StyledText
<Props
,SProps
,EventSpec
>
Type Parameters
• Props extends TOptions
<TextProps
> = Partial
<TextProps
>
• SProps extends SerializedTextProps
= SerializedTextProps
• EventSpec extends ObjectEvents
= ObjectEvents
Implements
UniqueTextProps
Constructors
new FabricText()
new FabricText<
Props
,SProps
,EventSpec
>(text
,options
?):FabricText
<Props
,SProps
,EventSpec
>
Defined in: src/shapes/Text/Text.ts:425
Parameters
text
string
options?
Props
Returns
FabricText
<Props
, SProps
, EventSpec
>
Overrides
StyledText<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
StyledText.__corner
__lineHeights
__lineHeights:
number
[]
Defined in: src/shapes/Text/Text.ts:411
__lineWidths
__lineWidths:
number
[]
Defined in: src/shapes/Text/Text.ts:412
_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
StyledText._controlsVisibility
_fontSizeMult
_fontSizeMult:
number
Defined in: src/shapes/Text/Text.ts:339
Text Line proportion to font Size (in pixels)
Default
_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
StyledText._scaling
_text
_text:
string
[]
Defined in: src/shapes/Text/Text.ts:409
_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
Overrides
StyledText._textLines
_unwrappedTextLines
_unwrappedTextLines:
string
[][]
Defined in: src/shapes/Text/Text.ts:408
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
StyledText.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
StyledText.aCoords
angle
angle:
TDegree
Defined in: src/shapes/Object/ObjectGeometry.ts:581
Angle of rotation of an object (in degrees)
Default
Inherited from
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.borderScaleFactor
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
StyledText.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
StyledText.centeredScaling
charSpacing
charSpacing:
number
Defined in: src/shapes/Text/Text.ts:347
additional space between characters expressed in thousands of em unit
Default
Implementation of
UniqueTextProps.charSpacing
clipPath?
optional
clipPath:BaseFabricObject
Defined in: src/shapes/Object/Object.ts:212
Inherited from
StyledText.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
StyledText.clipPathId
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
StyledText.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
StyledText.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
StyledText.cornerDashArray
cornerSize
cornerSize:
number
Defined in: src/shapes/Object/InteractiveObject.ts:65
Size of object’s controlling corners (in pixels)
Default
Inherited from
StyledText.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
StyledText.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
StyledText.cornerStyle
cursorWidth
cursorWidth:
number
Defined in: src/shapes/Text/Text.ts:410
deltaY
deltaY:
number
Defined in: src/shapes/Text/Text.ts:354
Baseline shift, styles only, keep at 0 for the main text object
Default
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
Implementation of
UniqueTextProps.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
StyledText.dirty
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
StyledText.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
StyledText.excludeFromExport
fill
fill:
null
|string
|TFiller
Defined in: src/shapes/Object/Object.ts:191
Inherited from
StyledText.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
StyledText.fillRule
flipX
flipX:
boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:567
When true, an object is rendered as flipped horizontally
Default
Inherited from
StyledText.flipX
flipY
flipY:
boolean
Defined in: src/shapes/Object/ObjectGeometry.ts:568
When true, an object is rendered as flipped vertically
Default
Inherited from
StyledText.flipY
fontFamily
fontFamily:
string
Defined in: src/shapes/Text/Text.ts:188
Font family
Default
Implementation of
UniqueTextProps.fontFamily
fontSize
fontSize:
number
Defined in: src/shapes/Text/Text.ts:174
Font size (in pixels)
Default
Implementation of
UniqueTextProps.fontSize
fontStyle
fontStyle:
string
Defined in: src/shapes/Text/Text.ts:224
Font style . Possible values: "", “normal”, “italic” or “oblique”.
Default
Implementation of
UniqueTextProps.fontStyle
fontWeight
fontWeight:
string
|number
Defined in: src/shapes/Text/Text.ts:181
Font weight (e.g. bold, normal, 400, 600, 800)
Default
Implementation of
UniqueTextProps.fontWeight
globalCompositeOperation
globalCompositeOperation:
GlobalCompositeOperation
Defined in: src/shapes/Object/Object.ts:200
Composite rule used for canvas globalCompositeOperation
Default
Inherited from
StyledText.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
StyledText.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
StyledText.hasControls
height
height:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:566
Object height
Default
Inherited from
StyledText.height
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
StyledText.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
StyledText.includeDefaultValues
initialized?
optional
initialized:true
Defined in: src/shapes/Text/Text.ts:413
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
StyledText.inverted
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
StyledText.isMoving
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
StyledText.left
lineHeight
lineHeight:
number
Defined in: src/shapes/Text/Text.ts:231
Line height
Default
Implementation of
UniqueTextProps.lineHeight
linethrough
linethrough:
boolean
Defined in: src/shapes/Text/Text.ts:209
Text decoration linethrough.
Default
Implementation of
UniqueTextProps.linethrough
lockMovementX
lockMovementX:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:56
When true
, object horizontal movement is locked
Default
Inherited from
StyledText.lockMovementX
lockMovementY
lockMovementY:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:57
When true
, object vertical movement is locked
Default
Inherited from
StyledText.lockMovementY
lockRotation
lockRotation:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:58
When true
, object rotation is locked
Default
Inherited from
StyledText.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
StyledText.lockScalingFlip
lockScalingX
lockScalingX:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:59
When true
, object horizontal scaling is locked
Default
Inherited from
StyledText.lockScalingX
lockScalingY
lockScalingY:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:60
When true
, object vertical scaling is locked
Default
Inherited from
StyledText.lockScalingY
lockSkewingX
lockSkewingX:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:61
When true
, object horizontal skewing is locked
Default
Inherited from
StyledText.lockSkewingX
lockSkewingY
lockSkewingY:
boolean
Defined in: src/shapes/Object/InteractiveObject.ts:62
When true
, object vertical skewing is locked
Default
Inherited from
StyledText.lockSkewingY
matrixCache?
optional
matrixCache:TMatrixCache
Defined in: src/shapes/Object/ObjectGeometry.ts:73
storage cache for object full transform matrix
Inherited from
StyledText.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
minScaleLimit
minScaleLimit:
number
Defined in: src/shapes/Object/Object.ts:186
Minimum allowed scale value of an object
Default
Inherited from
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.oCoords
opacity
opacity:
number
Defined in: src/shapes/Object/Object.ts:188
Opacity of an object
Default
Inherited from
StyledText.opacity
originX
originX:
TOriginX
Defined in: src/shapes/Object/ObjectGeometry.ts:576
Inherited from
StyledText.originX
originY
originY:
TOriginY
Defined in: src/shapes/Object/ObjectGeometry.ts:580
Inherited from
StyledText.originY
overline
overline:
boolean
Defined in: src/shapes/Text/Text.ts:202
Text decoration overline.
Default
Implementation of
UniqueTextProps.overline
ownMatrixCache?
optional
ownMatrixCache:TMatrixCache
Defined in: src/shapes/Object/ObjectGeometry.ts:68
storage cache for object transform matrix
Inherited from
StyledText.ownMatrixCache
padding
padding:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:53
Padding between object and its controlling borders (in pixels)
Default
Inherited from
StyledText.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
StyledText.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
StyledText.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
Implementation of
UniqueTextProps.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
Implementation of
UniqueTextProps.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
Implementation of
UniqueTextProps.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
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
StyledText.perPixelTargetFind
scaleX
scaleX:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:569
Object scale factor (horizontal)
Default
Inherited from
StyledText.scaleX
scaleY
scaleY:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:570
Object scale factor (vertical)
Default
Inherited from
StyledText.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
StyledText.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
StyledText.selectionBackgroundColor
shadow
shadow:
null
|Shadow
Defined in: src/shapes/Object/Object.ts:203
Inherited from
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.snapThreshold
stroke
stroke:
null
|string
|TFiller
Defined in: src/shapes/Object/Object.ts:193
Inherited from
StyledText.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
StyledText.strokeDashArray
strokeDashOffset
strokeDashOffset:
number
Defined in: src/shapes/Object/Object.ts:195
Line offset of an object’s stroke
Default
Inherited from
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.strokeUniform
strokeWidth
strokeWidth:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:582
Width of a stroke used to render this object
Default
Inherited from
StyledText.strokeWidth
styles
styles:
TextStyle
Defined in: src/shapes/Text/Text.ts:272
Overrides
StyledText.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
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
text
text:
string
Defined in: src/shapes/Text/Text.ts:167
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
Implementation of
UniqueTextProps.textAlign
textBackgroundColor
textBackgroundColor:
string
Defined in: src/shapes/Text/Text.ts:270
Background color of text lines
Default
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
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
StyledText.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
StyledText.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
StyledText.transparentCorners
underline
underline:
boolean
Defined in: src/shapes/Text/Text.ts:195
Text decoration underline.
Default
Implementation of
UniqueTextProps.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
StyledText.visible
width
width:
number
Defined in: src/shapes/Object/ObjectGeometry.ts:565
Object width
Default
Inherited from
StyledText.width
_styleProperties
static
_styleProperties: readonlyStylePropertiesType
[] =styleProperties
Defined in: src/shapes/Text/StyledText.ts:30
Inherited from
StyledText._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
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
Overrides
StyledText.cacheProperties
colorProperties
static
colorProperties:string
[]
Defined in: src/shapes/Object/Object.ts:1502
List of properties to consider for animating colors.
Inherited from
StyledText.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
StyledText.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
ownDefaults
static
ownDefaults:Partial
<TClassProperties
<FabricText
>> =textDefaultValues
Defined in: src/shapes/Text/Text.ts:417
Overrides
StyledText.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
StyledText.stateProperties
type
static
type:string
='Text'
Defined in: src/shapes/Text/Text.ts:419
The class type. This is used for serialization and deserialization purposes and internally it can be used to identify classes. When we transform a class in a plain JS object we need a way to recognize which class it was, and the type is the way we do that. It has no other purposes and you should not give one. Hard to reach on instances and please do not use to drive instance’s logic (this.constructor.type). To idenfity a class use instanceof class ( instanceof Rect ). We do not do that in fabricJS code because we want to try to have code splitting possible.
Overrides
StyledText.type
Accessors
type
Get Signature
get type():
string
Defined in: src/shapes/Object/Object.ts:353
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
Set Signature
set type(
value
):void
Defined in: src/shapes/Object/Object.ts:361
Parameters
value
string
Returns
void
Inherited from
StyledText.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
StyledText._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.
_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
_getWidthOfCharSpacing()
_getWidthOfCharSpacing():
number
Defined in: src/shapes/Text/Text.ts:1528
Returns
number
_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
StyledText._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
_removeCacheCanvas()
_removeCacheCanvas():
void
Defined in: src/shapes/Object/Object.ts:719
Remove cacheCanvas and its dimensions from the objects
Returns
void
Inherited from
StyledText._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
StyledText._renderControls
_setClippingProperties()
_setClippingProperties(
ctx
):void
Defined in: src/shapes/Object/Object.ts:1025
Parameters
ctx
CanvasRenderingContext2D
Returns
void
Inherited from
StyledText._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
<FabricText
<Props
, SProps
, EventSpec
>, "fill"
>
with ill defined
Returns
object
offsetX
offsetX:
number
offsetY
offsetY:
number
Overrides
StyledText._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
Overrides
StyledText._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
StyledText._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
_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
StyledText._toSVG
addPaintOrder()
addPaintOrder(
this
):string
Defined in: src/shapes/Object/FabricObjectSVGExportMixin.ts:249
Parameters
this
FabricObjectSVGExportMixin
& FabricObject
Returns
string
Inherited from
StyledText.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
StyledText.animate
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
StyledText.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
StyledText.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
StyledText.calcOwnMatrix
calcTextHeight()
calcTextHeight():
number
Defined in: src/shapes/Text/Text.ts:1044
Calculate text box height
Returns
number
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
StyledText.calcTransformMatrix
canDrop()
canDrop(
_e
):boolean
Defined in: src/shapes/Object/InteractiveObject.ts:701
Override to customize drag and drop behavior
Parameters
_e
DragEvent
Returns
boolean
true if the object currently dragged can be dropped on the target
Inherited from
StyledText.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
StyledText.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
StyledText.clearContextTop
clone()
clone(
propertiesToInclude
?):Promise
<FabricText
<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
<FabricText
<Props
, SProps
, EventSpec
>>
Inherited from
StyledText.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
StyledText.cloneAsImage
complexity()
complexity():
number
Defined in: src/shapes/Text/Text.ts:1794
Returns complexity of an instance
Returns
number
complexity
Overrides
StyledText.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
StyledText.containsPoint
dispose()
dispose():
void
Defined in: src/shapes/Object/Object.ts:1487
cancel instance’s running animations
override if necessary to dispose artifacts such as clipPath
Returns
void
Inherited from
StyledText.dispose
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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.drawSelectionBackground
enlargeSpaces()
enlargeSpaces():
void
Defined in: src/shapes/Text/Text.ts:491
Enlarge space boxes and shift the others
Returns
void
findCommonAncestors()
findCommonAncestors<
T
>(other
):AncestryComparison
Defined in: src/shapes/Object/Object.ts:1634
Compare ancestors
Type Parameters
• T extends FabricText
<Props
, SProps
, EventSpec
>
Parameters
other
T
Returns
AncestryComparison
an object that represent the ancestry situation.
Inherited from
StyledText.findCommonAncestors
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
StyledText.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
StyledText.forEachControl
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
StyledText.get
get2DCursorLocation()
get2DCursorLocation(
selectionStart
,skipWrapping
?):object
Defined in: src/shapes/Text/Text.ts:555
Returns 2d representation (lineIndex and charIndex) of cursor
Parameters
selectionStart
number
skipWrapping?
boolean
consider the location for unwrapped lines. useful to manage styles.
Returns
object
charIndex
charIndex:
number
=selectionStart
lineIndex
lineIndex:
number
=i
Overrides
StyledText.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
StyledText.getActiveControl
getAncestors()
getAncestors():
Ancestors
Defined in: src/shapes/Object/Object.ts:1617
Returns
Ancestors
ancestors (excluding ActiveSelection
) from bottom to top
Inherited from
StyledText.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
StyledText.getBoundingRect
getCanvasRetinaScaling()
getCanvasRetinaScaling():
number
Defined in: src/shapes/Object/ObjectGeometry.ts:400
Returns
number
Inherited from
StyledText.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
StyledText.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
StyledText.getCompleteStyleDeclaration
getCoords()
getCoords():
Point
[]
Defined in: src/shapes/Object/ObjectGeometry.ts:204
Returns
Point
[]
[tl, tr, br, bl] in the scene plane
Inherited from
StyledText.getCoords
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
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
getObjectOpacity()
getObjectOpacity():
number
Defined in: src/shapes/Object/Object.ts:570
Return the object opacity counting also the group property
Returns
number
Inherited from
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.getScaledWidth
getSelectionStyles()
getSelectionStyles(
startIndex
,endIndex
?,complete
?):Partial
<CompleteTextStyleDeclaration
>[]
Defined in: src/shapes/Text/StyledText.ts:210
Gets style of a current selection/cursor (at the start position)
Parameters
startIndex
number
Start index to get styles at
endIndex?
number
End index to get styles at, if not specified startIndex + 1
complete?
boolean
get full style or not
Returns
Partial
<CompleteTextStyleDeclaration
>[]
styles an array with one, zero or more Style objects
Inherited from
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.getTotalObjectScaling
getValueOfPropertyAt()
getValueOfPropertyAt<
T
>(lineIndex
,charIndex
,property
):FabricText
<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
FabricText
<Props
, SProps
, EventSpec
>[T
]
the value of ‘property’
getViewportTransform()
getViewportTransform():
TMat2D
Defined in: src/shapes/Object/ObjectGeometry.ts:418
Retrieves viewportTransform from Object’s canvas if available
Returns
Inherited from
StyledText.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
StyledText.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
StyledText.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
StyledText.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
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
hasCommonAncestors()
hasCommonAncestors<
T
>(other
):boolean
Defined in: src/shapes/Object/Object.ts:1699
Type Parameters
• T extends FabricText
<Props
, SProps
, EventSpec
>
Parameters
other
T
Returns
boolean
Inherited from
StyledText.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
StyledText.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
StyledText.hasStroke
initDimensions()
initDimensions():
void
Defined in: src/shapes/Text/Text.ts:470
Initialize or update text dimensions. Updates this.width and this.height with the proper values. Does not return dimensions.
Returns
void
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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.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
isInFrontOf()
isInFrontOf<
T
>(other
):undefined
|boolean
Defined in: src/shapes/Object/Object.ts:1709
Type Parameters
• T extends FabricText
<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
StyledText.isInFrontOf
isNotVisible()
isNotVisible():
boolean
Defined in: src/shapes/Object/Object.ts:649
Returns
boolean
Inherited from
StyledText.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
StyledText.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
StyledText.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
StyledText.isPartiallyOnScreen
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
StyledText.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
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
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
StyledText.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
StyledText.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
StyledText.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
StyledText.off
Call Signature
off():
void
Defined in: src/Observable.ts:137
unsubscribe all event listeners
Returns
void
Inherited from
StyledText.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
StyledText.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
StyledText.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
StyledText.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
StyledText.once
onDeselect()
onDeselect(
_options
?):boolean
Defined in: src/shapes/Object/InteractiveObject.ts:658
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?
options sent from the upper functions
e
object
Returns
boolean
Inherited from
StyledText.onDeselect
onDragStart()
onDragStart(
_e
):boolean
Defined in: src/shapes/Object/InteractiveObject.ts:691
Override to customize Drag behavior
Fired once a drag session has started
Parameters
_e
DragEvent
Returns
boolean
true to handle the drag event
Inherited from
StyledText.onDragStart
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
StyledText.onSelect
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
StyledText.removeStyle
render()
render(
ctx
):void
Defined in: src/shapes/Text/Text.ts:1694
Renders text instance on a specified context
Parameters
ctx
CanvasRenderingContext2D
Context to render on
Returns
void
Overrides
StyledText.render
renderCache()
renderCache(
this
,options
?):void
Defined in: src/shapes/Object/Object.ts:695
Parameters
this
TCachedFabricObject
<BaseFabricObject
>
options?
any
Returns
void
Inherited from
StyledText.renderCache
renderDragSourceEffect()
renderDragSourceEffect(
_e
):void
Defined in: src/shapes/Object/InteractiveObject.ts:712
Override to customize drag and drop behavior render a specific effect when an object is the source of a drag event example: render the selection status for the part of text that is being dragged from a text object
Parameters
_e
DragEvent
Returns
void
Inherited from
StyledText.renderDragSourceEffect
renderDropTargetEffect()
renderDropTargetEffect(
_e
):void
Defined in: src/shapes/Object/InteractiveObject.ts:724
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
Inherited from
StyledText.renderDropTargetEffect
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
StyledText.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
StyledText.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
StyledText.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
StyledText.scaleToWidth
set()
set(
key
,value
?):FabricText
<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
FabricText
<Props
, SProps
, EventSpec
>
Overrides
StyledText.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
StyledText.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
StyledText.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
StyledText.setCoords
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
StyledText.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
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
StyledText.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
StyledText.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
StyledText.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
StyledText.setRelativeY
setSelectionStyles()
setSelectionStyles(
styles
,startIndex
,endIndex
?):void
Defined in: src/shapes/Text/StyledText.ts:242
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 startIndex + 1
Returns
void
Inherited from
StyledText.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
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
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
StyledText.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
StyledText.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
StyledText.setY
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
StyledText.shouldCache
shouldStartDragging()
shouldStartDragging(
_e
):boolean
Defined in: src/shapes/Object/InteractiveObject.ts:682
Override to customize Drag behavior Fired from Canvas#_onMouseMove
Parameters
_e
Returns
boolean
true in order for the window to start a drag session
Inherited from
StyledText.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
StyledText.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
StyledText.styleHas
toCanvasElement()
toCanvasElement(
options
):HTMLCanvasElement
Defined in: src/shapes/Object/Object.ts:1299
Converts an object into a HTMLCanvas element
Parameters
options
ObjectToCanvasElementOptions
= {}
Options object
Returns
HTMLCanvasElement
Returns DOM element
Inherited from
StyledText.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
StyledText.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
StyledText.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
StyledText.toDataURL
toggle()
toggle(
property
):FabricText
<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
FabricText
<Props
, SProps
, EventSpec
>
Inherited from
StyledText.toggle
toJSON()
toJSON():
any
Defined in: src/shapes/Object/Object.ts:1427
Returns a JSON representation of an instance
Returns
any
JSON
Inherited from
StyledText.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
<FabricText
<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
Overrides
StyledText.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
Overrides
StyledText.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
StyledText.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
StyledText.transform
transformMatrixKey()
transformMatrixKey(
skipGroup
):number
[]
Defined in: src/shapes/Object/ObjectGeometry.ts:453
Parameters
skipGroup
boolean
= false
Returns
number
[]
Inherited from
StyledText.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
StyledText.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
StyledText.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
StyledText.translateToOriginPoint
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
StyledText.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
StyledText._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
StyledText.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
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
>
Overrides
StyledText.fromObject
getDefaults()
static
getDefaults():Record
<string
,any
>
Defined in: src/shapes/Text/Text.ts:421
Returns
Record
<string
, any
>
Overrides
StyledText.getDefaults