]> git.proxmox.com Git - extjs.git/blame - extjs/packages/charts/src/draw/sprite/Arrow.js
add extjs 6.0.1 sources
[extjs.git] / extjs / packages / charts / src / draw / sprite / Arrow.js
CommitLineData
6527f429
DM
1/**\r
2 * A sprite that represents an arrow.\r
3 *\r
4 * @example\r
5 * Ext.create({\r
6 * xtype: 'draw', \r
7 * renderTo: document.body,\r
8 * width: 600,\r
9 * height: 400,\r
10 * sprites: [{\r
11 * type: 'arrow',\r
12 * translationX: 100,\r
13 * translationY: 100,\r
14 * size: 40,\r
15 * fillStyle: '#30BDA7'\r
16 * }]\r
17 * });\r
18 */\r
19Ext.define('Ext.draw.sprite.Arrow', {\r
20 extend: 'Ext.draw.sprite.Path',\r
21 alias: 'sprite.arrow',\r
22\r
23 inheritableStatics: {\r
24 def: {\r
25 processors: {\r
26 x: 'number',\r
27 y: 'number',\r
28 /**\r
29 * @cfg {Number} [size=4] The size of the sprite.\r
30 * Meant to be comparable to the size of a circle sprite with the same radius.\r
31 */\r
32 size: 'number'\r
33 },\r
34 defaults: {\r
35 x: 0,\r
36 y: 0,\r
37 size: 4\r
38 },\r
39 triggers: {\r
40 x: 'path',\r
41 y: 'path',\r
42 size: 'path'\r
43 }\r
44 }\r
45 },\r
46\r
47 updatePath: function (path, attr) {\r
48 var s = attr.size * 1.5,\r
49 x = attr.x - attr.lineWidth / 2,\r
50 y = attr.y;\r
51 path.fromSvgString('M'.concat(x - s * 0.7, ',', y - s * 0.4, 'l', [s * 0.6, 0, 0, -s * 0.4, s, s * 0.8, -s, s * 0.8, 0, -s * 0.4, -s * 0.6, 0], 'z'));\r
52 }\r
53\r
54});