new Triangle() → {fabric.Triangle}
Triangle class
- Source:
- See:
-
- fabric.Triangle#initialize for constructor definition
Returns:
thisArg
- Type
- fabric.Triangle
Extends
Members
__corner :number|string|any
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.
Type:
- number | string | any
- Inherited From:
- Default Value:
- 0
- Source:
absolutePositioned :boolean
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
Type:
- boolean
- Inherited From:
- Default Value:
- false
- Source:
aCoords
Describe object's corner position in canvas object absolute coordinates
properties are tl,tr,bl,br and describe the four main corner.
each property is an object with x, y, instance of Fabric.Point.
The coordinates depends from this properties: width, height, scaleX, scaleY
skewX, skewY, angle, strokeWidth, top, left.
Those coordinates are useful to understand where an object is. They get updated
with oCoords but they do not need to be updated when zoom or panning change.
The coordinates get updated with @method setCoords.
You can calculate them without updating with @method calcACoords();
- Inherited From:
- Source:
backgroundColor :String
Background color of an object.
takes css colors https://www.w3.org/TR/css-color-3/
Type:
- String
- Inherited From:
- Source:
borderColor :String
Color of controlling borders of an object (when it's active)
Type:
- String
- Inherited From:
- Default Value:
- rgb(178,204,255)
- Source:
borderDashArray :Array
Array specifying dash pattern of an object's borders (hasBorder must be true)
Type:
- Array
- Since:
- 1.6.2
- Inherited From:
- Source:
borderOpacityWhenMoving :Number
Opacity of object's controlling borders when object is active and moving
Type:
- Number
- Inherited From:
- Default Value:
- 0.4
- Source:
borderScaleFactor :Number
Scale factor of object's controlling borders
bigger number will make a thicker border
border is 1, so this is basically a border thickness
since there is no way to change the border itself.
Type:
- Number
- Inherited From:
- Default Value:
- 1
- Source:
cacheProperties :Array
List of properties to consider when checking if cache needs refresh
Those properties are checked by statefullCache ON ( or lazy mode if we want ) or from single
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
Type:
- Array
- Inherited From:
- Source:
centeredRotation :Boolean
When true, this object will use center point as the origin of transformation
when being rotated via the controls.
Backwards incompatibility note: This property replaces "centerTransform" (Boolean).
Type:
- Boolean
- Since:
- 1.3.4
- Inherited From:
- Default Value:
- true
- Source:
centeredScaling :Boolean
When true, this object will use center point as the origin of transformation
when being scaled via the controls.
Backwards incompatibility note: This property replaces "centerTransform" (Boolean).
Type:
- Boolean
- Since:
- 1.3.4
- Inherited From:
- Source:
clipPath :fabric.Object
a fabricObject that, without stroke define a clipping area with their shape. filled in black
the clipPath object gets used when the object has rendered, and the context is placed in the center
of the object cacheCanvas.
If you want 0,0 of a clipPath to align with an object center, use clipPath.originX/Y to 'center'
Type:
- Inherited From:
- Source:
colorProperties :Array
List of properties to consider for animating colors.
Type:
- Array
- Inherited From:
- Source:
controls
custom controls interface
controls are added by default_controls.js
- Inherited From:
- Source:
cornerColor :String
Color of controlling corners of an object (when it's active)
Type:
- String
- Inherited From:
- Default Value:
- rgb(178,204,255)
- Source:
cornerDashArray :Array
Array specifying dash pattern of an object's control (hasBorder must be true)
Type:
- Array
- Since:
- 1.6.2
- Inherited From:
- Source:
cornerSize :Number
Size of object's controlling corners (in pixels)
Type:
- Number
- Inherited From:
- Default Value:
- 13
- Source:
cornerStrokeColor :String
Color of controlling corners of an object (when it's active and transparentCorners false)
Type:
- String
- Since:
- 1.6.2
- Inherited From:
- Source:
cornerStyle :String
Specify style of control, 'rect' or 'circle'
Type:
- String
- Since:
- 1.6.2
- Inherited From:
- Source:
dirty :Boolean
When set to `true`, object's cache will be rerendered next render call.
since 1.7.0
Type:
- Boolean
- Inherited From:
- Default Value:
- true
- Source:
evented :Boolean
When set to `false`, an object can not be a target of events. All events propagate through it. Introduced in v1.3.4
Type:
- Boolean
- Inherited From:
- Default Value:
- true
- Source:
excludeFromExport :Boolean
When `true`, object is not exported in OBJECT/JSON
Type:
- Boolean
- Since:
- 1.6.3
- Inherited From:
- Source:
fill :String
Color of object's fill
takes css colors https://www.w3.org/TR/css-color-3/
Type:
- String
- Inherited From:
- Default Value:
- rgb(0,0,0)
- Source:
fillRule :String
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 `fabric.Object#globalCompositeOperation` instead)
Type:
- String
- Inherited From:
- Default Value:
- nonzero
- Source:
flipX :Boolean
When true, an object is rendered as flipped horizontally
Type:
- Boolean
- Inherited From:
- Source:
flipY :Boolean
When true, an object is rendered as flipped vertically
Type:
- Boolean
- Inherited From:
- Source:
globalCompositeOperation :String
Composite rule used for canvas globalCompositeOperation
Type:
- String
- Inherited From:
- Default Value:
- source-over
- Source:
hasBorders :Boolean
When set to `false`, object's controlling borders are not rendered
Type:
- Boolean
- Inherited From:
- Default Value:
- true
- Source:
hasControls :Boolean
When set to `false`, object's controls are not displayed and can not be used to manipulate object
Type:
- Boolean
- Inherited From:
- Default Value:
- true
- Source:
height :Number
Height is set to 100 to compensate the old initialize code that was setting it to 100
Type:
- Number
- Overrides:
- Default Value:
- 100
- Source:
hoverCursor :String
Default cursor value used when hovering over this object on canvas
Type:
- String
- Inherited From:
- Source:
includeDefaultValues :Boolean
When `false`, default object's values are not included in its serialization
Type:
- Boolean
- Inherited From:
- Default Value:
- true
- Source:
inverted :boolean
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
Type:
- boolean
- Inherited From:
- Default Value:
- false
- Source:
left :Number
Left position of an object. Note that by default it's relative to object left. You can change this by setting originX={left/center/right}
Type:
- Number
- Inherited From:
- Source:
lineCoords
Describe object's corner position in canvas element coordinates.
includes padding. Used of object detection.
set and refreshed with setCoords.
- Inherited From:
- Source:
lockMovementX :Boolean
When `true`, object horizontal movement is locked
Type:
- Boolean
- Inherited From:
- Source:
lockMovementY :Boolean
When `true`, object vertical movement is locked
Type:
- Boolean
- Inherited From:
- Source:
lockScalingFlip :Boolean
When `true`, object cannot be flipped by scaling into negative values
Type:
- Boolean
- Inherited From:
- Source:
lockScalingX :Boolean
When `true`, object horizontal scaling is locked
Type:
- Boolean
- Inherited From:
- Source:
lockScalingY :Boolean
When `true`, object vertical scaling is locked
Type:
- Boolean
- Inherited From:
- Source:
lockSkewingX :Boolean
When `true`, object horizontal skewing is locked
Type:
- Boolean
- Inherited From:
- Source:
lockSkewingY :Boolean
When `true`, object vertical skewing is locked
Type:
- Boolean
- Inherited From:
- Source:
moveCursor :String
Default cursor value used when moving this object on canvas
Type:
- String
- Inherited From:
- Source:
noScaleCache :Boolean
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
Type:
- Boolean
- Inherited From:
- Default Value:
- true
- Source:
objectCaching :Boolean
When `true`, object is cached on an additional canvas.
When `false`, object is not cached unless necessary ( clipPath )
default to true
Type:
- Boolean
- Since:
- 1.7.0
- Inherited From:
- Default Value:
- true
- Source:
oCoords
Describe object's corner position in canvas element coordinates.
properties are depending on control keys and padding the main controls.
each property is an object with x, y and corner.
The `corner` property contains in a similar manner the 4 points of the
interactive area of the corner.
The coordinates depends from the controls positionHandler and are used
to draw and locate controls
- Inherited From:
- Source:
originX :String
Horizontal origin of transformation of an object (one of "left", "right", "center")
See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups
Type:
- String
- Inherited From:
- Default Value:
- left
- Source:
originY :String
Vertical origin of transformation of an object (one of "top", "bottom", "center")
See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups
Type:
- String
- Inherited From:
- Default Value:
- top
- Source:
padding :Number
Padding between object and its controlling borders (in pixels)
Type:
- Number
- Inherited From:
- Source:
paintFirst :String
Determines if the fill or the stroke is drawn first (one of "fill" or "stroke")
Type:
- String
- Inherited From:
- Default Value:
- fill
- Source:
perPixelTargetFind :Boolean
When set to `true`, objects are "found" on canvas on per-pixel basis rather than according to bounding box
Type:
- Boolean
- Inherited From:
- Source:
scaleX :Number
Object scale factor (horizontal)
Type:
- Number
- Inherited From:
- Default Value:
- 1
- Source:
selectable :Boolean
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.
Type:
- Boolean
- Inherited From:
- Default Value:
- true
- Source:
selectionBackgroundColor :String
Selection Background color of an object. colored layer behind the object when it is active.
does not mix good with globalCompositeOperation methods.
Type:
- String
- Inherited From:
- Source:
skewX :Number
Angle of skew on x axes of an object (in degrees)
Type:
- Number
- Inherited From:
- Source:
skewY :Number
Angle of skew on y axes of an object (in degrees)
Type:
- Number
- Inherited From:
- Source:
statefullCache :Boolean
When `true`, object properties are checked for cache invalidation. In some particular
situation you may want this to be disabled ( spray brush, very big, groups)
or if your application does not allow you to modify properties for groups child you want
to disable it for groups.
default to false
since 1.7.0
Type:
- Boolean
- Inherited From:
- Default Value:
- false
- Source:
stateProperties :Array
List of properties to consider when checking if state
of an object is changed (fabric.Object#hasStateChanged)
as well as for history (undo/redo) purposes
Type:
- Array
- Inherited From:
- Source:
stroke :String
When defined, an object is rendered via stroke and this property specifies its color
takes css colors https://www.w3.org/TR/css-color-3/
Type:
- String
- Inherited From:
- Source:
strokeDashArray :Array
Array specifying dash pattern of an object's stroke (stroke must be defined)
Type:
- Array
- Inherited From:
- Source:
strokeLineCap :String
Line endings style of an object's stroke (one of "butt", "round", "square")
Type:
- String
- Inherited From:
- Default Value:
- butt
- Source:
strokeLineJoin :String
Corner style of an object's stroke (one of "bevel", "round", "miter")
Type:
- String
- Inherited From:
- Default Value:
- miter
- Source:
strokeMiterLimit :Number
Maximum miter length (used for strokeLineJoin = "miter") of an object's stroke
Type:
- Number
- Inherited From:
- Default Value:
- 4
- Source:
strokeUniform :Boolean
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
Type:
- Boolean
- Since:
- 2.6.0
- Inherited From:
- Default Value:
- false
- Source:
strokeWidth :Number
Width of a stroke used to render this object
Type:
- Number
- Inherited From:
- Default Value:
- 1
- Source:
top :Number
Top position of an object. Note that by default it's relative to object top. You can change this by setting originY={top/center/bottom}
Type:
- Number
- Inherited From:
- Source:
touchCornerSize :Number
Size of object's controlling corners when touch interaction is detected
Type:
- Number
- Inherited From:
- Default Value:
- 24
- Source:
transparentCorners :Boolean
When true, object's controlling corners are rendered as transparent inside (i.e. stroke instead of fill)
Type:
- Boolean
- Inherited From:
- Default Value:
- true
- Source:
type :String
Type of an object
Type:
- String
- Overrides:
- Default Value:
- triangle
- Source:
visible :Boolean
When set to `false`, an object is not rendered on canvas
Type:
- Boolean
- Inherited From:
- Default Value:
- true
- Source:
width :Number
Width is set to 100 to compensate the old initialize code that was setting it to 100
Type:
- Number
- Overrides:
- Default Value:
- 100
- Source:
Methods
(static) fromObject(object, callbackopt)
Returns fabric.Triangle instance from an object representation
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
object |
Object | Object to create an instance from | |
callback |
function |
<optional> |
invoked with new instance as first argument |
- Source:
_calcRotateMatrix() → {Array}
calculate rotation matrix of an object
- Inherited From:
- Source:
Returns:
rotation matrix for the object
- Type
- Array
_calcTranslateMatrix() → {Array}
calculate the translation matrix for an object transform
- Inherited From:
- Source:
Returns:
rotation matrix for the object
- Type
- Array
_drawClipPath(ctx, clipPath)
Prepare clipPath state and cache and draw it on instance's cache
Parameters:
Name | Type | Description |
---|---|---|
ctx |
CanvasRenderingContext2D | |
clipPath |
fabric.Object |
- Inherited From:
- Source:
_getCoords(absolute) → {Object}
return correct set of coordinates for intersection
this will return either aCoords or lineCoords.
Parameters:
Name | Type | Description |
---|---|---|
absolute |
Boolean | will return aCoords if true or lineCoords |
- Inherited From:
- Source:
Returns:
{tl, tr, br, bl} points
- Type
- Object
_limitCacheSize(dims) → {Object|Object|Object|Object}
Limit the cache dimensions so that X * Y do not cross fabric.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:
Name | Type | Description | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
dims |
Object |
Properties
|
- Inherited From:
- Source:
Returns:
-
.width width of canvas
- Type
- Object
-
.height height of canvas
- Type
- Object
-
.zoomX zoomX zoom value to unscale the canvas before drawing cache
- Type
- Object
-
.zoomY zoomY zoom value to unscale the canvas before drawing cache
- Type
- Object
_renderControls(ctx, styleOverrideopt)
Renders controls and borders for the object
the context here is not transformed
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
ctx |
CanvasRenderingContext2D | Context to render on | |
styleOverride |
Object |
<optional> |
properties to override the object style |
- Inherited From:
- Source:
_setupCompositeOperation(ctx)
Sets canvas globalCompositeOperation for specific object
custom composition operation for the particular object can be specified using globalCompositeOperation property
Parameters:
Name | Type | Description |
---|---|---|
ctx |
CanvasRenderingContext2D | Rendering canvas context |
- Inherited From:
- Source:
_toSVG() → {Array}
Returns svg representation of an instance
- Source:
Returns:
an array of strings with the specific svg representation
of the instance
- Type
- Array
adjustPosition(to)
Parameters:
Name | Type | Description |
---|---|---|
to |
String | One of 'left', 'center', 'right' |
- Inherited From:
- Source:
animate(property, value) → {fabric.Object|fabric.AnimationContext|Array.<fabric.AnimationContext>}
Animates object's properties
Parameters:
Name | Type | Description |
---|---|---|
property |
String | Object | Property to animate (if string) or properties to animate (if object) |
value |
Number | Object | Value to animate property to (if string was given first) or options object |
- Inherited From:
- Source:
- Tutorials:
Returns:
-
thisArg
- Type
- fabric.Object
-
animation context (or an array if passed multiple properties) As object — multiple properties object.animate({ left: ..., top: ... }); object.animate({ left: ..., top: ... }, { duration: ... }); As string — one property object.animate('left', ...); object.animate('left', { duration: ... });
- Type
- fabric.AnimationContext | Array.<fabric.AnimationContext>
bringForward(intersectingopt) → {fabric.Object}
Moves an object up in stack of drawn objects
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
intersecting |
Boolean |
<optional> |
If `true`, send object in front of next upper intersecting object |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
bringToFront() → {fabric.Object}
Moves an object to the top of the stack of drawn objects
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
calcOwnMatrix() → {Array}
calculate transform matrix that represents the current transformations from the
object's properties, this matrix does not include the group transformation
- Inherited From:
- Source:
Returns:
transform matrix for the object
- Type
- Array
calcTransformMatrix(skipGroupopt) → {Array}
calculate transform matrix that represents the current transformations from the
object's properties.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
skipGroup |
Boolean |
<optional> |
return transform matrix for object not counting parent transformations There are some situation in which this is useful to avoid the fake rotation. |
- Inherited From:
- Source:
Returns:
transform matrix for the object
- Type
- Array
center() → {fabric.Object}
Centers object vertically and horizontally on canvas to which is was added last
You might need to call `setCoords` on an object after centering, to update controls area.
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
centerH() → {fabric.Object}
Centers object horizontally on canvas to which it was added last.
You might need to call `setCoords` on an object after centering, to update controls area.
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
centerV() → {fabric.Object}
Centers object vertically on canvas to which it was added last.
You might need to call `setCoords` on an object after centering, to update controls area.
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
clone(callback, propertiesToIncludeopt)
Clones an instance, using a callback method will work for every object.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
callback |
function | Callback is invoked with a clone as a first argument | |
propertiesToInclude |
Array |
<optional> |
Any properties that you might want to additionally include in the output |
- Inherited From:
- Source:
cloneAsImage(callback, optionsopt) → {fabric.Object}
Creates an instance of fabric.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.
This method is sync now, but still support the callback because we did not want to break.
When fabricJS 5.0 will be planned, this will probably be changed to not have a callback.
Parameters:
Name | Type | Attributes | Description | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
callback |
function | callback, invoked with an instance as a first argument | ||||||||||||||||||||||||||||||||||||||||||||||
options |
Object |
<optional> |
for clone as image, passed to toDataURL
Properties
|
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
complexity() → {Number}
Returns complexity of an instance
- Inherited From:
- Source:
Returns:
complexity of this instance (is 1 unless subclassed)
- Type
- Number
containsPoint(point, linesopt, absoluteopt, calculateopt) → {Boolean}
Checks if point is inside the object
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
point |
fabric.Point | Point to check against | |
lines |
Object |
<optional> |
object returned from @method _getImageLines |
absolute |
Boolean |
<optional> |
use coordinates without viewportTransform |
calculate |
Boolean |
<optional> |
use coordinates of current position instead of .oCoords |
- Inherited From:
- Source:
Returns:
true if point is inside the object
- Type
- Boolean
drawBorders(ctx, styleOverride) → {fabric.Object}
Draws borders of an object's bounding box.
Requires public properties: width, height
Requires public options: padding, borderColor
Parameters:
Name | Type | Description |
---|---|---|
ctx |
CanvasRenderingContext2D | Context to draw on |
styleOverride |
Object | object to override the object style |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
drawBordersInGroup(ctx, options, styleOverride) → {fabric.Object}
Draws borders of an object's bounding box when it is inside a group.
Requires public properties: width, height
Requires public options: padding, borderColor
Parameters:
Name | Type | Description |
---|---|---|
ctx |
CanvasRenderingContext2D | Context to draw on |
options |
object | object representing current object parameters |
styleOverride |
Object | object to override the object style |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
drawCacheOnCanvas(ctx)
Paint the cached copy of the object on the target context.
Parameters:
Name | Type | Description |
---|---|---|
ctx |
CanvasRenderingContext2D | Context to render on |
- Inherited From:
- Source:
drawClipPathOnCache(ctx, clipPath)
Execute the drawing operation for an object clipPath
Parameters:
Name | Type | Description |
---|---|---|
ctx |
CanvasRenderingContext2D | Context to render on |
clipPath |
fabric.Object |
- Inherited From:
- Source:
drawControls(ctx, styleOverride) → {fabric.Object}
Draws corners of an object's bounding box.
Requires public properties: width, height
Requires public options: cornerSize, padding
Parameters:
Name | Type | Description |
---|---|---|
ctx |
CanvasRenderingContext2D | Context to draw on |
styleOverride |
Object | object to override the object style |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
drawObject(ctx)
Execute the drawing operation for an object on a specified context
Parameters:
Name | Type | Description |
---|---|---|
ctx |
CanvasRenderingContext2D | Context to render on |
- Inherited From:
- Source:
drawSelectionBackground(ctx) → {fabric.Object}
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:
Name | Type | Description |
---|---|---|
ctx |
CanvasRenderingContext2D | Context to draw on |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
forEachControl(fn)
Calls a function for each control. The function gets called,
with the control, the object that is calling the iterator and the control's key
Parameters:
Name | Type | Description |
---|---|---|
fn |
function | function to iterate over the controls over |
- Inherited From:
- Source:
fxStraighten(callbacks) → {fabric.Object}
Same as fabric.Object.prototype.straighten but with animation
Parameters:
Name | Type | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
callbacks |
Object | Object with callback functions
Properties
|
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
getBoundingRect(absoluteopt, calculateopt) → {Object}
Returns coordinates of object's bounding rectangle (left, top, width, height)
the box is intended as aligned to axis of canvas.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
absolute |
Boolean |
<optional> |
use coordinates without viewportTransform |
calculate |
Boolean |
<optional> |
use coordinates of current position instead of .oCoords / .aCoords |
- Inherited From:
- Source:
Returns:
Object with left, top, width, height properties
- Type
- Object
getCenterPoint() → {fabric.Point}
Returns the real center coordinates of the object
- Inherited From:
- Source:
Returns:
- Type
- fabric.Point
getCoords() → {Array}
return correct set of coordinates for intersection
this will return either aCoords or lineCoords.
The coords are returned in an array.
- Inherited From:
- Source:
Returns:
[tl, tr, br, bl] of points
- Type
- Array
getLocalPointer(e, pointeropt) → {Object}
Returns coordinates of a pointer relative to an object
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
e |
Event | Event to operate upon | |
pointer |
Object |
<optional> |
Pointer to operate upon (instead of event) |
- Inherited From:
- Source:
Returns:
Coordinates of a pointer (x, y)
- Type
- Object
getObjectOpacity() → {Number}
Return the object opacity counting also the group property
- Inherited From:
- Source:
Returns:
- Type
- Number
getObjectScaling() → {Object}
Return the object scale factor counting also the group scaling
- Inherited From:
- Source:
Returns:
object with scaleX and scaleY properties
- Type
- Object
getPointByOrigin(originX, originY) → {fabric.Point}
Returns the coordinates of the object as if it has a different origin
Parameters:
Name | Type | Description |
---|---|---|
originX |
String | Horizontal origin: 'left', 'center' or 'right' |
originY |
String | Vertical origin: 'top', 'center' or 'bottom' |
- Inherited From:
- Source:
Returns:
- Type
- fabric.Point
getScaledHeight() → {Number}
Returns height of an object bounding box counting transformations
before 2.0 it was named getHeight();
- Inherited From:
- Source:
Returns:
height value
- Type
- Number
getScaledWidth() → {Number}
Returns width of an object's bounding box counting transformations
before 2.0 it was named getWidth();
- Inherited From:
- Source:
Returns:
width value
- Type
- Number
getSvgCommons() → {String}
Returns id attribute for svg output
- Inherited From:
- Source:
Returns:
- Type
- String
getSvgFilter() → {String}
Returns filter for svg shadow
- Inherited From:
- Source:
Returns:
- Type
- String
getSvgSpanStyles(style, useWhiteSpace) → {String}
Returns styles-string for svg-export
Parameters:
Name | Type | Description |
---|---|---|
style |
Object | the object from which to retrieve style properties |
useWhiteSpace |
Boolean | a boolean to include an additional attribute in the style. |
- Inherited From:
- Source:
Returns:
- Type
- String
getSvgStyles(skipShadow) → {String}
Returns styles-string for svg-export
Parameters:
Name | Type | Description |
---|---|---|
skipShadow |
Boolean | a boolean to skip shadow filter output |
- Inherited From:
- Source:
Returns:
- Type
- String
getSvgTextDecoration(style) → {String}
Returns text-decoration property for svg-export
Parameters:
Name | Type | Description |
---|---|---|
style |
Object | the object from which to retrieve style properties |
- Inherited From:
- Source:
Returns:
- Type
- String
getSvgTransform(use) → {String}
Returns transform-string for svg-export
Parameters:
Name | Type | Description |
---|---|---|
use |
Boolean | the full transform or the single object one. |
- Inherited From:
- Source:
Returns:
- Type
- String
getTotalObjectScaling() → {Object}
Return the object scale factor counting also the group scaling, zoom and retina
- Inherited From:
- Source:
Returns:
object with scaleX and scaleY properties
- Type
- Object
getViewportTransform() → {Array}
Retrieves viewportTransform from Object's canvas if possible
- Inherited From:
- Source:
Returns:
- Type
- Array
hasFill()
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.
- Since:
- 3.0.0
- Inherited From:
- Source:
Returns:
Boolean
hasStateChanged(propertySetopt) → {Boolean}
Returns true if object state (one of its state properties) was changed
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
propertySet |
String |
<optional> |
optional name for the set of property we want to save |
- Inherited From:
- Source:
Returns:
true if instance' state has changed since `fabric.Object#saveState` was called
- Type
- Boolean
hasStroke()
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.
- Since:
- 3.0.0
- Inherited From:
- Source:
Returns:
Boolean
initialize(optionsopt)
Constructor
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
options |
Object |
<optional> |
Options object |
- Inherited From:
- Source:
intersectsWithObject(other, absoluteopt, calculateopt) → {Boolean}
Checks if object intersects with another object
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
other |
Object | Object to test | |
absolute |
Boolean |
<optional> |
use coordinates without viewportTransform |
calculate |
Boolean |
<optional> |
use coordinates of current position instead of .oCoords |
- Inherited From:
- Source:
Returns:
true if object intersects with another object
- Type
- Boolean
intersectsWithRect(pointTL, pointBR, absoluteopt, calculateopt) → {Boolean}
Checks if object intersects with an area formed by 2 points
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
pointTL |
Object | top-left point of area | |
pointBR |
Object | bottom-right point of area | |
absolute |
Boolean |
<optional> |
use coordinates without viewportTransform |
calculate |
Boolean |
<optional> |
use coordinates of current position instead of .oCoords |
- Inherited From:
- Source:
Returns:
true if object intersects with an area formed by 2 points
- Type
- Boolean
isCacheDirty(skipCanvas)
Check if cache is dirty
Parameters:
Name | Type | Description |
---|---|---|
skipCanvas |
Boolean | skip canvas checks because this object is painted on parent canvas. |
- Inherited From:
- Source:
isContainedWithinObject(other, absoluteopt, calculateopt) → {Boolean}
Checks if object is fully contained within area of another object
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
other |
Object | Object to test | |
absolute |
Boolean |
<optional> |
use coordinates without viewportTransform |
calculate |
Boolean |
<optional> |
use coordinates of current position instead of .oCoords |
- Inherited From:
- Source:
Returns:
true if object is fully contained within area of another object
- Type
- Boolean
isContainedWithinRect(pointTL, pointBR, absoluteopt, calculateopt) → {Boolean}
Checks if object is fully contained within area formed by 2 points
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
pointTL |
Object | top-left point of area | |
pointBR |
Object | bottom-right point of area | |
absolute |
Boolean |
<optional> |
use coordinates without viewportTransform |
calculate |
Boolean |
<optional> |
use coordinates of current position instead of .oCoords |
- Inherited From:
- Source:
Returns:
true if object is fully contained within area formed by 2 points
- Type
- Boolean
isControlVisible(controlKey) → {Boolean}
Returns true if the specified control is visible, false otherwise.
Parameters:
Name | Type | Description |
---|---|---|
controlKey |
String | The key of the control. Possible values are 'tl', 'tr', 'br', 'bl', 'ml', 'mt', 'mr', 'mb', 'mtr'. |
- Inherited From:
- Source:
Returns:
true if the specified control is visible, false otherwise
- Type
- Boolean
isOnScreen(calculateopt) → {Boolean}
Checks if object is contained within the canvas with current viewportTransform
the check is done stopping at first point that appears on screen
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
calculate |
Boolean |
<optional> |
use coordinates of current position instead of .aCoords |
- Inherited From:
- Source:
Returns:
true if object is fully or partially contained within canvas
- Type
- Boolean
isPartiallyOnScreen(calculateopt) → {Boolean}
Checks if object is partially contained within the canvas with current viewportTransform
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
calculate |
Boolean |
<optional> |
use coordinates of current position instead of .oCoords |
- Inherited From:
- Source:
Returns:
true if object is partially contained within canvas
- Type
- Boolean
isType(type) → {Boolean}
Returns true if specified type is identical to the type of an instance
Parameters:
Name | Type | Description |
---|---|---|
type |
String | Type to check against |
- Inherited From:
- Source:
Returns:
- Type
- Boolean
moveTo(index) → {fabric.Object}
Moves an object to specified level in stack of drawn objects
Parameters:
Name | Type | Description |
---|---|---|
index |
Number | New position of object |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
needsItsOwnCache()
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
- Inherited From:
- Source:
Returns:
Boolean
onDeselect(optionsopt)
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:
Name | Type | Attributes | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
<optional> |
options sent from the upper functions
Properties
|
- Inherited From:
- Source:
onSelect(optionsopt)
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:
Name | Type | Attributes | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
<optional> |
options sent from the upper functions
Properties
|
- Inherited From:
- Source:
render(ctx)
Renders an object on a specified context
Parameters:
Name | Type | Description |
---|---|---|
ctx |
CanvasRenderingContext2D | Context to render on |
- Inherited From:
- Source:
rotate(angle) → {fabric.Object}
Sets "angle" of an instance with centered rotation
Parameters:
Name | Type | Description |
---|---|---|
angle |
Number | Angle value (in degrees) |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
saveState(optionsopt) → {fabric.Object}
Saves state of an object
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
options |
Object |
<optional> |
Object with additional `stateProperties` array to include when saving state |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
scale(value) → {fabric.Object}
Scales an object (equally by x and y)
Parameters:
Name | Type | Description |
---|---|---|
value |
Number | Scale factor |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
scaleToHeight(value, absolute) → {fabric.Object}
Scales an object to a given height, with respect to bounding box (scaling by x/y equally)
Parameters:
Name | Type | Description |
---|---|---|
value |
Number | New height value |
absolute |
Boolean | ignore viewport |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
scaleToWidth(value, absolute) → {fabric.Object}
Scales an object to a given width, with respect to bounding box (scaling by x/y equally)
Parameters:
Name | Type | Description |
---|---|---|
value |
Number | New width value |
absolute |
Boolean | ignore viewport |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
sendBackwards(intersectingopt) → {fabric.Object}
Moves an object down in stack of drawn objects
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
intersecting |
Boolean |
<optional> |
If `true`, send object behind next lower intersecting object |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
sendToBack() → {fabric.Object}
Moves an object to the bottom of the stack of drawn objects
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
setControlsVisibility(optionsopt) → {fabric.Object}
Sets the visibility state of object controls.
Parameters:
Name | Type | Attributes | Description | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
<optional> |
Options object
Properties
|
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
setControlVisible(controlKey, visible) → {fabric.Object}
Sets the visibility of the specified control.
Parameters:
Name | Type | Description |
---|---|---|
controlKey |
String | The key of the control. Possible values are 'tl', 'tr', 'br', 'bl', 'ml', 'mt', 'mr', 'mb', 'mtr'. |
visible |
Boolean | true to set the specified control visible, false otherwise |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
setCoords(skipCornersopt) → {fabric.Object}
Sets corner and controls position coordinates based on current angle, width and height, left and top.
oCoords are used to find the corners
aCoords are used to quickly find an object on the canvas
lineCoords are used to quickly find object during pointer events.
See https://github.com/fabricjs/fabric.js/wiki/When-to-call-setCoords and http://fabric5.fabricjs.com/fabric-gotchas
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
skipCorners |
Boolean |
<optional> |
skip calculation of oCoords. |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
setOnGroup()
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.
- Inherited From:
- Source:
setOptions(optionsopt)
Sets object's properties from options
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
options |
Object |
<optional> |
Options object |
- Inherited From:
- Source:
setPositionByOrigin(pos, originX, originY) → {void}
Sets the position of the object taking into consideration the object's origin
Parameters:
Name | Type | Description |
---|---|---|
pos |
fabric.Point | The new position of the object |
originX |
String | Horizontal origin: 'left', 'center' or 'right' |
originY |
String | Vertical origin: 'top', 'center' or 'bottom' |
- Inherited From:
- Source:
Returns:
- Type
- void
setupState(optionsopt) → {fabric.Object}
Setups state of an object
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
options |
Object |
<optional> |
Object with additional `stateProperties` array to include when saving state |
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
shouldCache() → {Boolean}
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.
- Inherited From:
- Source:
Returns:
- Type
- Boolean
straighten() → {fabric.Object}
Straightens an object (rotating it from current angle to one of 0, 90, 180, 270, etc. depending on which is closer)
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
toCanvasElement(options) → {HTMLCanvasElement}
Converts an object into a HTMLCanvas element
Parameters:
Name | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object | Options object
Properties
|
- Inherited From:
- Source:
Returns:
Returns DOM element
- Type
- HTMLCanvasElement
toClipPathSVG(reviveropt) → {String}
Returns svg clipPath representation of an instance
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
reviver |
function |
<optional> |
Method for further parsing of svg representation. |
- Inherited From:
- Source:
Returns:
svg representation of an instance
- Type
- String
toDatalessObject(propertiesToIncludeopt) → {Object}
Returns (dataless) object representation of an instance
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
propertiesToInclude |
Array |
<optional> |
Any properties that you might want to additionally include in the output |
- Inherited From:
- Source:
Returns:
Object representation of an instance
- Type
- Object
toDataURL(options) → {String}
Converts an object into a data-url-like string
Parameters:
Name | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object | Options object
Properties
|
- Inherited From:
- Source:
Returns:
Returns a data: URL containing a representation of the object in the format specified by options.format
- Type
- String
toJSON(propertiesToIncludeopt) → {Object}
Returns a JSON representation of an instance
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
propertiesToInclude |
Array |
<optional> |
Any properties that you might want to additionally include in the output |
- Inherited From:
- Source:
Returns:
JSON
- Type
- Object
toLocalPoint(point, originX, originY) → {fabric.Point}
Returns the point in local coordinates
Parameters:
Name | Type | Description |
---|---|---|
point |
fabric.Point | The point relative to the global coordinate system |
originX |
String | Horizontal origin: 'left', 'center' or 'right' |
originY |
String | Vertical origin: 'top', 'center' or 'bottom' |
- Inherited From:
- Source:
Returns:
- Type
- fabric.Point
toObject(propertiesToIncludeopt) → {Object}
Returns an object representation of an instance
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
propertiesToInclude |
Array |
<optional> |
Any properties that you might want to additionally include in the output |
- Inherited From:
- Source:
Returns:
Object representation of an instance
- Type
- Object
toString() → {String}
Returns a string representation of an instance
- Inherited From:
- Source:
Returns:
- Type
- String
toSVG(reviveropt) → {String}
Returns svg representation of an instance
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
reviver |
function |
<optional> |
Method for further parsing of svg representation. |
- Inherited From:
- Source:
Returns:
svg representation of an instance
- Type
- String
transform(ctx)
Transforms context when rendering an object
Parameters:
Name | Type | Description |
---|---|---|
ctx |
CanvasRenderingContext2D | Context |
- Inherited From:
- Source:
translateToCenterPoint(point, originX, originY) → {fabric.Point}
Translates the coordinates from origin to center coordinates (based on the object's dimensions)
Parameters:
Name | Type | Description |
---|---|---|
point |
fabric.Point | The point which corresponds to the originX and originY params |
originX |
String | Horizontal origin: 'left', 'center' or 'right' |
originY |
String | Vertical origin: 'top', 'center' or 'bottom' |
- Inherited From:
- Source:
Returns:
- Type
- fabric.Point
translateToGivenOrigin(point, fromOriginX, fromOriginY, toOriginX, toOriginY) → {fabric.Point}
Translates the coordinates from a set of origin to another (based on the object's dimensions)
Parameters:
Name | Type | Description |
---|---|---|
point |
fabric.Point | The point which corresponds to the originX and originY params |
fromOriginX |
String | Horizontal origin: 'left', 'center' or 'right' |
fromOriginY |
String | Vertical origin: 'top', 'center' or 'bottom' |
toOriginX |
String | Horizontal origin: 'left', 'center' or 'right' |
toOriginY |
String | Vertical origin: 'top', 'center' or 'bottom' |
- Inherited From:
- Source:
Returns:
- Type
- fabric.Point
translateToOriginPoint(center, originX, originY) → {fabric.Point}
Translates the coordinates from center to origin coordinates (based on the object's dimensions)
Parameters:
Name | Type | Description |
---|---|---|
center |
fabric.Point | The point which corresponds to center of the object |
originX |
String | Horizontal origin: 'left', 'center' or 'right' |
originY |
String | Vertical origin: 'top', 'center' or 'bottom' |
- Inherited From:
- Source:
Returns:
- Type
- fabric.Point
viewportCenter() → {fabric.Object}
Centers object on current viewport of canvas to which it was added last.
You might need to call `setCoords` on an object after centering, to update controls area.
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
viewportCenterH() → {fabric.Object}
Centers object horizontally on current viewport of canvas to which it was added last.
You might need to call `setCoords` on an object after centering, to update controls area.
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
viewportCenterV() → {fabric.Object}
Centers object vertically on current viewport of canvas to which it was added last.
You might need to call `setCoords` on an object after centering, to update controls area.
- Inherited From:
- Source:
Returns:
thisArg
- Type
- fabric.Object
willDrawShadow() → {Boolean}
Check if this object or a child object will cast a shadow
used by Group.shouldCache to know if child has a shadow recursively
- Inherited From:
- Source:
Returns:
- Type
- Boolean