Arrow
new Konva.Arrow(config)
Arrow constructor
Parameters
| Name | Type | Description |
|---|---|---|
| config | Object | |
| points | Array | Flat array of points coordinates. You should define them as [x1, y1, x2, y2, x3, y3]. |
| tension (optional) | Number | Higher values will result in a more curvy line. A value of 0 will result in no interpolation. The default is 0 |
| pointerLength | Number | Arrow pointer length. Default value is 10. |
| pointerWidth | Number | Arrow pointer width. Default value is 10. |
| pointerAtBeginning | Boolean | Do we need to draw pointer on beginning position?. Default false. |
| pointerAtEnding | Boolean | Do we need to draw pointer on ending position?. Default true. |
| fill (optional) | String | fill color |
| fillPatternImage (optional) | Image | fill pattern image |
| fillPatternX (optional) | Number | |
| fillPatternY (optional) | Number | |
| fillPatternOffset (optional) | Object | object with x and y component |
| fillPatternOffsetX (optional) | Number | |
| fillPatternOffsetY (optional) | Number | |
| fillPatternScale (optional) | Object | object with x and y component |
| fillPatternScaleX (optional) | Number | |
| fillPatternScaleY (optional) | Number | |
| fillPatternRotation (optional) | Number | |
| fillPatternRepeat (optional) | String | can be "repeat", "repeat-x", "repeat-y", or "no-repeat". The default is "no-repeat" |
| fillLinearGradientStartPoint (optional) | Object | object with x and y component |
| fillLinearGradientStartPointX (optional) | Number | |
| fillLinearGradientStartPointY (optional) | Number | |
| fillLinearGradientEndPoint (optional) | Object | object with x and y component |
| fillLinearGradientEndPointX (optional) | Number | |
| fillLinearGradientEndPointY (optional) | Number | |
| fillLinearGradientColorStops (optional) | Array | array of color stops |
| fillRadialGradientStartPoint (optional) | Object | object with x and y component |
| fillRadialGradientStartPointX (optional) | Number | |
| fillRadialGradientStartPointY (optional) | Number | |
| fillRadialGradientEndPoint (optional) | Object | object with x and y component |
| fillRadialGradientEndPointX (optional) | Number | |
| fillRadialGradientEndPointY (optional) | Number | |
| fillRadialGradientStartRadius (optional) | Number | |
| fillRadialGradientEndRadius (optional) | Number | |
| fillRadialGradientColorStops (optional) | Array | array of color stops |
| fillEnabled (optional) | Boolean | flag which enables or disables the fill. The default value is true |
| fillPriority (optional) | String | can be color, linear-gradient, radial-graident, or pattern. The default value is color. The fillPriority property makes it really easy to toggle between different fill types. For example, if you want to toggle between a fill color style and a fill pattern style, simply set the fill property and the fillPattern properties, and then use setFillPriority('color') to render the shape with a color fill, or use setFillPriority('pattern') to render the shape with the pattern fill configuration |
| stroke (optional) | String | stroke color |
| strokeWidth (optional) | Number | stroke width |
| fillAfterStrokeEnabled (optional) | Boolean | Should we draw fill AFTER stroke? Default is false. |
| hitStrokeWidth (optional) | Number | size of the stroke on hit canvas. The default is "auto" - equals to strokeWidth |
| strokeHitEnabled (optional) | Boolean | flag which enables or disables stroke hit region. The default is true |
| perfectDrawEnabled (optional) | Boolean | flag which enables or disables using buffer canvas. The default is true |
| shadowForStrokeEnabled (optional) | Boolean | flag which enables or disables shadow for stroke. The default is true |
| strokeScaleEnabled (optional) | Boolean | flag which enables or disables stroke scale. The default is true |
| strokeEnabled (optional) | Boolean | flag which enables or disables the stroke. The default value is true |
| lineJoin (optional) | String | can be miter, round, or bevel. The default is miter |
| lineCap (optional) | String | can be butt, round, or square. The default is butt |
| shadowColor (optional) | String | |
| shadowBlur (optional) | Number | |
| shadowOffset (optional) | Object | object with x and y component |
| shadowOffsetX (optional) | Number | |
| shadowOffsetY (optional) | Number | |
| shadowOpacity (optional) | Number | shadow opacity. Can be any real number between 0 and 1 |
| shadowEnabled (optional) | Boolean | flag which enables or disables the shadow. The default value is true |
| dash (optional) | Array | |
| dashEnabled (optional) | Boolean | flag which enables or disables the dashArray. The default value is true |
| x (optional) | Number | |
| y (optional) | Number | |
| width (optional) | Number | |
| height (optional) | Number | |
| visible (optional) | Boolean | |
| listening (optional) | Boolean | whether or not the node is listening for events |
| id (optional) | String | unique id |
| name (optional) | String | non-unique name |
| opacity (optional) | Number | determines node opacity. Can be any number between 0 and 1 |
| scale (optional) | Object | set scale |
| scaleX (optional) | Number | set scale x |
| scaleY (optional) | Number | set scale y |
| rotation (optional) | Number | rotation in degrees |
| offset (optional) | Object | offset from center point and rotation point |
| offsetX (optional) | Number | set offset x |
| offsetY (optional) | Number | set offset y |
| draggable (optional) | Boolean | makes the node draggable. When stages are draggable, you can drag and drop the entire stage by dragging any portion of the stage |
| dragDistance (optional) | Number | |
| dragBoundFunc (optional) | function |
Inherited from: Konva.Line
Own Methods
pointerLength(Length)
get/set pointerLength
Parameters:
Length(Number): of pointer of arrow. The default is 10.
Returns: Number
Example:
// get length
var pointerLength = line.pointerLength();
// set length
line.pointerLength(15);
pointerWidth(Width)
get/set pointerWidth
Parameters:
Width(Number): of pointer of arrow. The default is 10.
Returns: Number
Example:
// get width
var pointerWidth = line.pointerWidth();
// set width
line.pointerWidth(15);
pointerAtBeginning(Should)
get/set pointerAtBeginning
Parameters:
Should(Number): pointer displayed at beginning of arrow. The default is false.
Returns: Boolean
Example:
// get value
var pointerAtBeginning = line.pointerAtBeginning();
// set value
line.pointerAtBeginning(true);
pointerAtEnding(Should)
get/set pointerAtEnding
Parameters:
Should(Number): pointer displayed at ending of arrow. The default is true.
Returns: Boolean
Example:
// get value
var pointerAtEnding = line.pointerAtEnding();
// set value
line.pointerAtEnding(false);
Inherited Methods
closed(closed)
get/set closed flag. The default is false
Parameters:
closed(Boolean)
Returns: Boolean
Inherited from: Konva.Line#closed
Example:
// get closed flag
var closed = line.closed();
// close the shape
line.closed(true);
// open the shape
line.closed(false);
bezier(bezier)
get/set bezier flag. The default is false
Parameters:
bezier(Boolean)
Returns: Boolean
Inherited from: Konva.Line#bezier
Example:
// get whether the line is a bezier
var isBezier = line.bezier();
// set whether the line is a bezier
line.bezier(true);
tension(tension)
get/set tension
Parameters:
tension(Number): Higher values will result in a more curvy line. A value of 0 will result in no interpolation. The default is 0
Returns: Number
Inherited from: Konva.Line#tension
Example:
// get tension
var tension = line.tension();
// set tension
line.tension(3);
points(points)
get/set points array. Points is a flat array [x1, y1, x2, y2]. It is flat for performance reasons.
Parameters:
points(Array)
Returns: Array
Inherited from: Konva.Line#points
Example:
// get points
var points = line.points();
// set points
line.points([10, 20, 30, 40, 50, 60]);
// push a new point
line.points(line.points().concat([70, 80]));
getContext()
Inherited from: Konva.Shape#getContext
getCanvas()
Inherited from: Konva.Shape#getCanvas
hasShadow()
returns whether or not a shadow will be rendered
Returns: Boolean
Inherited from: Konva.Shape#hasShadow
hasFill()
returns whether or not the shape will be filled
Returns: Boolean
Inherited from: Konva.Shape#hasFill
hasStroke()
returns whether or not the shape will be stroked
Returns: Boolean
Inherited from: Konva.Shape#hasStroke
intersects(point)
determines if point is in the shape, regardless if other shapes are on top of it. Note: because this method clears a temporary canvas and then redraws the shape, it performs very poorly if executed many times consecutively. Please use the Konva.Stage#getIntersection method if at all possible because it performs much better
Parameters:
point(Object)point.x(Number)point.y(Number)
Returns: Boolean
Inherited from: Konva.Shape#intersects
getSelfRect()
return self rectangle (x, y, width, height) of shape. This method are not taken into account transformation and styles.
Returns: Object rect with {x, y, width, height} properties
Inherited from: Konva.Shape#getSelfRect
Example:
rect.getSelfRect(); // return {x:0, y:0, width:rect.width(), height:rect.height()}
circle.getSelfRect(); // return {x: - circle.width() / 2, y: - circle.height() / 2, width:circle.width(), height:circle.height()}
drawHitFromCache(alphaThreshold)
draw hit graph using the cached scene canvas
Parameters:
alphaThreshold(Integer): alpha channel threshold that determines whether or not a pixel should be drawn onto the hit graph. Must be a value between 0 and 255. The default is 0
Returns: Konva.Shape
Inherited from: Konva.Shape#drawHitFromCache
Example:
shape.cache();
shape.drawHitFromCache();
stroke(color)
get/set stroke color
Parameters:
color(String)
Returns: String
Inherited from: Konva.Shape#stroke
Example:
// get stroke color
var stroke = shape.stroke();
// set stroke color with color string
shape.stroke('green');
// set stroke color with hex
shape.stroke('#00ff00');
// set stroke color with rgb
shape.stroke('rgb(0,255,0)');
// set stroke color with rgba and make it 50% opaque
shape.stroke('rgba(0,255,0,0.5');
strokeWidth(strokeWidth)
get/set stroke width
Parameters:
strokeWidth(Number)
Returns: Number
Inherited from: Konva.Shape#strokeWidth
Example:
// get stroke width
var strokeWidth = shape.strokeWidth();
// set stroke width
shape.strokeWidth(10);
fillAfterStrokeEnabled(fillAfterStrokeEnabled)
get/set fillAfterStrokeEnabled property. By default Konva is drawing filling first, then stroke on top of the fill. In rare situations you may want a different behavior. When you have a stroke first then fill on top of it. Especially useful for Text objects. Default is false.
Parameters:
fillAfterStrokeEnabled(Boolean)
Returns: Boolean
Inherited from: Konva.Shape#fillAfterStrokeEnabled
Example:
// get stroke width
var fillAfterStrokeEnabled = shape.fillAfterStrokeEnabled();
// set stroke width
shape.fillAfterStrokeEnabled(true);
hitStrokeWidth(hitStrokeWidth)
get/set stroke width for hit detection. Default value is "auto", it means it will be equals to strokeWidth
Parameters:
hitStrokeWidth(Number)
Returns: Number
Inherited from: Konva.Shape#hitStrokeWidth
Example:
// get stroke width
var hitStrokeWidth = shape.hitStrokeWidth();
// set hit stroke width
shape.hitStrokeWidth(20);
// set hit stroke width always equals to scene stroke width
shape.hitStrokeWidth('auto');
strokeHitEnabled(strokeHitEnabled)
deprecated, use hitStrokeWidth instead! get/set strokeHitEnabled property. Useful for performance optimization. You may set shape.strokeHitEnabled(false). In this case stroke will be no draw on hit canvas, so hit area of shape will be decreased (by lineWidth / 2). Remember that non closed line with strokeHitEnabled = false will be not drawn on hit canvas, that is mean line will no trigger pointer events (like mouseover) Default value is true.
Parameters:
strokeHitEnabled(Boolean)
Returns: Boolean
Inherited from: Konva.Shape#strokeHitEnabled
Example:
// get strokeHitEnabled
var strokeHitEnabled = shape.strokeHitEnabled();
// set strokeHitEnabled
shape.strokeHitEnabled();
perfectDrawEnabled(perfectDrawEnabled)
get/set perfectDrawEnabled. If a shape has fill, stroke and opacity you may set perfectDrawEnabled to false to improve performance. See http://konvajs.org/docs/performance/Disable_Perfect_Draw.html for more information. Default value is true
Parameters:
perfectDrawEnabled(Boolean)
Returns: Boolean
Inherited from: Konva.Shape#perfectDrawEnabled
Example:
// get perfectDrawEnabled
var perfectDrawEnabled = shape.perfectDrawEnabled();
// set perfectDrawEnabled
shape.perfectDrawEnabled();
shadowForStrokeEnabled(shadowForStrokeEnabled)
get/set shadowForStrokeEnabled. Useful for performance optimization. You may set shape.shadowForStrokeEnabled(false). In this case stroke will no effect shadow. Remember if you set shadowForStrokeEnabled = false for non closed line - that line will have no shadow!. Default value is true
Parameters:
shadowForStrokeEnabled(Boolean)
Returns: Boolean
Inherited from: Konva.Shape#shadowForStrokeEnabled
Example:
// get shadowForStrokeEnabled
var shadowForStrokeEnabled = shape.shadowForStrokeEnabled();
// set shadowForStrokeEnabled
shape.shadowForStrokeEnabled();
lineJoin(lineJoin)
get/set line join. Can be miter, round, or bevel. The default is miter
Parameters:
lineJoin(String)
Returns: String
Inherited from: Konva.Shape#lineJoin
Example:
// get line join
var lineJoin = shape.lineJoin();
// set line join
shape.lineJoin('round');
lineCap(lineCap)
get/set line cap. Can be butt, round, or square
Parameters:
lineCap(String)
Returns: String
Inherited from: Konva.Shape#lineCap
Example:
// get line cap
var lineCap = shape.lineCap();
// set line cap
shape.lineCap('round');
miterLimit(miterLimit)
get/set miterLimit.
Parameters:
miterLimit(Number)
Returns: Number
Inherited from: Konva.Shape#miterLimit
Example:
// get miter limit
var miterLimit = shape.miterLimit();
// set miter limit
shape.miterLimit(10);
sceneFunc(drawFunc)
get/set scene draw function. That function is used to draw the shape on a canvas. Also that function will be used to draw hit area of the shape, in case if hitFunc is not defined.
Parameters:
drawFunc(function): drawing function
Returns: function
Inherited from: Konva.Shape#sceneFunc
Example:
// get scene draw function
var sceneFunc = shape.sceneFunc();
// set scene draw function
shape.sceneFunc(function(context, shape) {
context.beginPath();
context.rect(0, 0, shape.width(), shape.height());
context.closePath();
// important Konva method that fill and stroke shape from its properties
// like stroke and fill
context.fillStrokeShape(shape);
});
hitFunc(drawFunc)
get/set hit draw function. That function is used to draw custom hit area of a shape.
Parameters:
drawFunc(function): drawing function
Returns: function
Inherited from: Konva.Shape#hitFunc
Example:
// get hit draw function
var hitFunc = shape.hitFunc();
// set hit draw function
shape.hitFunc(function(context) {
context.beginPath();
context.rect(0, 0, shape.width(), shape.height());
context.closePath();
// important Konva method that fill and stroke shape from its properties
context.fillStrokeShape(shape);
});
dash(dash)
get/set dash array for stroke.
Parameters:
dash(Array)
Returns: Array
Inherited from: Konva.Shape#dash
Example:
// apply dashed stroke that is 10px long and 5 pixels apart
line.dash([10, 5]);
// apply dashed stroke that is made up of alternating dashed
// lines that are 10px long and 20px apart, and dots that have
// a radius of 5px and are 20px apart
line.dash([10, 20, 0.001, 20]);
shadowColor(color)
get/set shadow color
Parameters:
color(String)
Returns: String
Inherited from: Konva.Shape#shadowColor
Example:
// get shadow color
var shadow = shape.shadowColor();
// set shadow color with color string
shape.shadowColor('green');
// set shadow color with hex
shape.shadowColor('#00ff00');
// set shadow color with rgb
shape.shadowColor('rgb(0,255,0)');
// set shadow color with rgba and make it 50% opaque
shape.shadowColor('rgba(0,255,0,0.5');
shadowBlur(blur)
get/set shadow blur
Parameters:
blur(Number)
Returns: Number
Inherited from: Konva.Shape#shadowBlur
Example:
// get shadow blur
var shadowBlur = shape.shadowBlur();
// set shadow blur
shape.shadowBlur(10);
shadowOpacity(opacity)
get/set shadow opacity. must be a value between 0 and 1
Parameters:
opacity(Number)
Returns: Number
Inherited from: Konva.Shape#shadowOpacity
Example:
// get shadow opacity
var shadowOpacity = shape.shadowOpacity();
// set shadow opacity
shape.shadowOpacity(0.5);
shadowOffset(offset)
get/set shadow offset
Parameters:
offset(Object)offset.x(Number)offset.y(Number)
Returns: Object
Inherited from: Konva.Shape#shadowOffset
Example:
// get shadow offset
var shadowOffset = shape.shadowOffset();
// set shadow offset
shape.shadowOffset({
x: 20,
y: 10
});
shadowOffsetX(x)
get/set shadow offset x
Parameters:
x(Number)
Returns: Number
Inherited from: Konva.Shape#shadowOffsetX
Example:
// get shadow offset x
var shadowOffsetX = shape.shadowOffsetX();
// set shadow offset x
shape.shadowOffsetX(5);
shadowOffsetY(y)
get/set shadow offset y
Parameters:
y(Number)
Returns: Number
Inherited from: Konva.Shape#shadowOffsetY
Example:
// get shadow offset y
var shadowOffsetY = shape.shadowOffsetY();
// set shadow offset y
shape.shadowOffsetY(5);