]> git.proxmox.com Git - extjs.git/blame - extjs/packages/charts/src/chart/SpaceFillingChart.js
add extjs 6.0.1 sources
[extjs.git] / extjs / packages / charts / src / chart / SpaceFillingChart.js
CommitLineData
6527f429
DM
1/**\r
2 * @class Ext.chart.SpaceFillingChart\r
3 * @extends Ext.chart.AbstractChart\r
4 *\r
5 * Creates a chart that fills the entire area of the chart.\r
6 * e.g. Gauge Charts\r
7 */\r
8Ext.define('Ext.chart.SpaceFillingChart', {\r
9\r
10 extend: 'Ext.chart.AbstractChart',\r
11 xtype: 'spacefilling',\r
12\r
13 config: {\r
14\r
15 },\r
16\r
17 performLayout: function () {\r
18 var me = this;\r
19\r
20 try {\r
21 me.animationSuspendCount++;\r
22 if (me.callParent() === false) {\r
23 // animationSuspendCount will still be decremented\r
24 return;\r
25 }\r
26\r
27 var chartRect = me.getSurface('chart').getRect(),\r
28 padding = me.getInsetPadding(),\r
29 width = chartRect[2] - padding.left - padding.right,\r
30 height = chartRect[3] - padding.top - padding.bottom,\r
31 mainRect = [padding.left, padding.top, width, height],\r
32 seriesList = me.getSeries(), series,\r
33 i, ln;\r
34\r
35 me.getSurface().setRect(mainRect);\r
36 me.setMainRect(mainRect);\r
37\r
38 for (i = 0, ln = seriesList.length; i < ln; i++) {\r
39 series = seriesList[i];\r
40 series.getSurface().setRect(mainRect);\r
41 if (series.setRect) {\r
42 series.setRect(mainRect);\r
43 }\r
44 series.getOverlaySurface().setRect(chartRect);\r
45 }\r
46 me.redraw();\r
47 } catch (e) { // catch is required in IE8 (try/finally not supported)\r
48 //<debug>\r
49 Ext.log.error(me.$className + ': Unhandled Exception: ', e.description || e.message);\r
50 //</debug>\r
51 throw e;\r
52 }\r
53 finally {\r
54 me.animationSuspendCount--;\r
55 }\r
56 },\r
57\r
58 redraw: function () {\r
59 var me = this,\r
60 seriesList = me.getSeries(), series,\r
61 i, ln;\r
62\r
63 for (i = 0, ln = seriesList.length; i < ln; i++) {\r
64 series = seriesList[i];\r
65 series.getSprites();\r
66 }\r
67\r
68 me.renderFrame();\r
69 me.callParent(arguments);\r
70 }\r
71});\r