@nativescript-community/ui-chart 2.0.5 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/animation/ChartAnimator.d.ts +0 -61
- package/animation/ChartAnimator.js +0 -95
- package/animation/ChartAnimator.js.map +0 -1
- package/animation/Tween.d.ts +0 -4
- package/animation/Tween.js +0 -25
- package/animation/Tween.js.map +0 -1
- package/buffer/AbstractBuffer.d.ts +0 -40
- package/buffer/AbstractBuffer.js +0 -49
- package/buffer/AbstractBuffer.js.map +0 -1
- package/buffer/BarBuffer.d.ts +0 -15
- package/buffer/BarBuffer.js +0 -109
- package/buffer/BarBuffer.js.map +0 -1
- package/buffer/HorizontalBarBuffer.d.ts +0 -6
- package/buffer/HorizontalBarBuffer.js +0 -81
- package/buffer/HorizontalBarBuffer.js.map +0 -1
- package/charts/BarChart.d.ts +0 -94
- package/charts/BarChart.js +0 -141
- package/charts/BarChart.js.map +0 -1
- package/charts/BarLineChartBase.d.ts +0 -592
- package/charts/BarLineChartBase.js +0 -1253
- package/charts/BarLineChartBase.js.map +0 -1
- package/charts/BubbleChart.d.ts +0 -27
- package/charts/BubbleChart.js +0 -20
- package/charts/BubbleChart.js.map +0 -1
- package/charts/CandleStickChart.d.ts +0 -29
- package/charts/CandleStickChart.js +0 -19
- package/charts/CandleStickChart.js.map +0 -1
- package/charts/Chart.d.ts +0 -491
- package/charts/Chart.js +0 -778
- package/charts/Chart.js.map +0 -1
- package/charts/CombinedChart.d.ts +0 -78
- package/charts/CombinedChart.js +0 -119
- package/charts/CombinedChart.js.map +0 -1
- package/charts/HorizontalBarChart.d.ts +0 -54
- package/charts/HorizontalBarChart.js +0 -180
- package/charts/HorizontalBarChart.js.map +0 -1
- package/charts/LineChart.d.ts +0 -20
- package/charts/LineChart.js +0 -19
- package/charts/LineChart.js.map +0 -1
- package/charts/PieChart.d.ts +0 -249
- package/charts/PieChart.js +0 -468
- package/charts/PieChart.js.map +0 -1
- package/charts/PieRadarChartBase.d.ts +0 -130
- package/charts/PieRadarChartBase.js +0 -360
- package/charts/PieRadarChartBase.js.map +0 -1
- package/charts/RadarChart.d.ts +0 -101
- package/charts/RadarChart.js +0 -181
- package/charts/RadarChart.js.map +0 -1
- package/charts/ScatterChart.d.ts +0 -36
- package/charts/ScatterChart.js +0 -31
- package/charts/ScatterChart.js.map +0 -1
- package/charts/index.d.ts +0 -9
- package/charts/index.js +0 -10
- package/charts/index.js.map +0 -1
- package/components/AxisBase.d.ts +0 -299
- package/components/AxisBase.js +0 -351
- package/components/AxisBase.js.map +0 -1
- package/components/ComponentBase.d.ts +0 -60
- package/components/ComponentBase.js +0 -77
- package/components/ComponentBase.js.map +0 -1
- package/components/Description.d.ts +0 -22
- package/components/Description.js +0 -21
- package/components/Description.js.map +0 -1
- package/components/IMarker.d.ts +0 -39
- package/components/IMarker.js +0 -2
- package/components/IMarker.js.map +0 -1
- package/components/Legend.d.ts +0 -198
- package/components/Legend.js +0 -386
- package/components/Legend.js.map +0 -1
- package/components/LegendEntry.d.ts +0 -50
- package/components/LegendEntry.js +0 -51
- package/components/LegendEntry.js.map +0 -1
- package/components/LimitLine.d.ts +0 -55
- package/components/LimitLine.js +0 -62
- package/components/LimitLine.js.map +0 -1
- package/components/MarkerImage.d.ts +0 -1
- package/components/MarkerImage.js +0 -97
- package/components/MarkerImage.js.map +0 -1
- package/components/XAxis.d.ts +0 -55
- package/components/XAxis.js +0 -59
- package/components/XAxis.js.map +0 -1
- package/components/YAxis.d.ts +0 -135
- package/components/YAxis.js +0 -205
- package/components/YAxis.js.map +0 -1
- package/data/BarData.d.ts +0 -38
- package/data/BarData.js +0 -122
- package/data/BarData.js.map +0 -1
- package/data/BarDataSet.d.ts +0 -47
- package/data/BarDataSet.js +0 -109
- package/data/BarDataSet.js.map +0 -1
- package/data/BarEntry.d.ts +0 -11
- package/data/BarEntry.js +0 -2
- package/data/BarEntry.js.map +0 -1
- package/data/BarLineScatterCandleBubbleData.d.ts +0 -10
- package/data/BarLineScatterCandleBubbleData.js +0 -9
- package/data/BarLineScatterCandleBubbleData.js.map +0 -1
- package/data/BarLineScatterCandleBubbleDataSet.d.ts +0 -17
- package/data/BarLineScatterCandleBubbleDataSet.js +0 -18
- package/data/BarLineScatterCandleBubbleDataSet.js.map +0 -1
- package/data/BaseDataSet.d.ts +0 -180
- package/data/BaseDataSet.js +0 -220
- package/data/BaseDataSet.js.map +0 -1
- package/data/BaseEntry.d.ts +0 -10
- package/data/BaseEntry.js +0 -2
- package/data/BaseEntry.js.map +0 -1
- package/data/BubbleData.d.ts +0 -12
- package/data/BubbleData.js +0 -15
- package/data/BubbleData.js.map +0 -1
- package/data/BubbleDataSet.d.ts +0 -18
- package/data/BubbleDataSet.js +0 -36
- package/data/BubbleDataSet.js.map +0 -1
- package/data/BubbleEntry.d.ts +0 -5
- package/data/BubbleEntry.js +0 -2
- package/data/BubbleEntry.js.map +0 -1
- package/data/CandleData.d.ts +0 -5
- package/data/CandleData.js +0 -4
- package/data/CandleData.js.map +0 -1
- package/data/CandleDataSet.d.ts +0 -76
- package/data/CandleDataSet.js +0 -116
- package/data/CandleDataSet.js.map +0 -1
- package/data/CandleEntry.d.ts +0 -11
- package/data/CandleEntry.js +0 -2
- package/data/CandleEntry.js.map +0 -1
- package/data/ChartData.d.ts +0 -320
- package/data/ChartData.js +0 -702
- package/data/ChartData.js.map +0 -1
- package/data/CombinedData.d.ts +0 -61
- package/data/CombinedData.js +0 -153
- package/data/CombinedData.js.map +0 -1
- package/data/DataSet.d.ts +0 -98
- package/data/DataSet.js +0 -424
- package/data/DataSet.js.map +0 -1
- package/data/Entry.d.ts +0 -3
- package/data/Entry.js +0 -2
- package/data/Entry.js.map +0 -1
- package/data/LineData.d.ts +0 -10
- package/data/LineData.js +0 -9
- package/data/LineData.js.map +0 -1
- package/data/LineDataSet.d.ts +0 -106
- package/data/LineDataSet.js +0 -153
- package/data/LineDataSet.js.map +0 -1
- package/data/LineRadarDataSet.d.ts +0 -32
- package/data/LineRadarDataSet.js +0 -29
- package/data/LineRadarDataSet.js.map +0 -1
- package/data/LineScatterCandleRadarDataSet.d.ts +0 -36
- package/data/LineScatterCandleRadarDataSet.js +0 -44
- package/data/LineScatterCandleRadarDataSet.js.map +0 -1
- package/data/PieData.d.ts +0 -39
- package/data/PieData.js +0 -55
- package/data/PieData.js.map +0 -1
- package/data/PieDataSet.d.ts +0 -52
- package/data/PieDataSet.js +0 -54
- package/data/PieDataSet.js.map +0 -1
- package/data/PieEntry.d.ts +0 -7
- package/data/PieEntry.js +0 -2
- package/data/PieEntry.js.map +0 -1
- package/data/RadarData.d.ts +0 -17
- package/data/RadarData.js +0 -15
- package/data/RadarData.js.map +0 -1
- package/data/RadarDataSet.d.ts +0 -14
- package/data/RadarDataSet.js +0 -20
- package/data/RadarDataSet.js.map +0 -1
- package/data/RadarEntry.d.ts +0 -3
- package/data/RadarEntry.js +0 -2
- package/data/RadarEntry.js.map +0 -1
- package/data/ScatterData.d.ts +0 -9
- package/data/ScatterData.js +0 -17
- package/data/ScatterData.js.map +0 -1
- package/data/ScatterDataSet.d.ts +0 -40
- package/data/ScatterDataSet.js +0 -61
- package/data/ScatterDataSet.js.map +0 -1
- package/formatter/DefaultAxisValueFormatter.d.ts +0 -23
- package/formatter/DefaultAxisValueFormatter.js +0 -30
- package/formatter/DefaultAxisValueFormatter.js.map +0 -1
- package/formatter/DefaultFillFormatter.d.ts +0 -6
- package/formatter/DefaultFillFormatter.js +0 -29
- package/formatter/DefaultFillFormatter.js.map +0 -1
- package/formatter/DefaultValueFormatter.d.ts +0 -3
- package/formatter/DefaultValueFormatter.js +0 -4
- package/formatter/DefaultValueFormatter.js.map +0 -1
- package/formatter/IAxisValueFormatter.d.ts +0 -23
- package/formatter/IAxisValueFormatter.js +0 -2
- package/formatter/IAxisValueFormatter.js.map +0 -1
- package/formatter/IFillFormatter.d.ts +0 -30
- package/formatter/IFillFormatter.js +0 -2
- package/formatter/IFillFormatter.js.map +0 -1
- package/formatter/IValueFormatter.d.ts +0 -25
- package/formatter/IValueFormatter.js +0 -2
- package/formatter/IValueFormatter.js.map +0 -1
- package/formatter/ValueFormatter.d.ts +0 -81
- package/formatter/ValueFormatter.js +0 -90
- package/formatter/ValueFormatter.js.map +0 -1
- package/highlight/BarHighlighter.d.ts +0 -33
- package/highlight/BarHighlighter.js +0 -89
- package/highlight/BarHighlighter.js.map +0 -1
- package/highlight/ChartHighlighter.d.ts +0 -102
- package/highlight/ChartHighlighter.js +0 -220
- package/highlight/ChartHighlighter.js.map +0 -1
- package/highlight/CombinedHighlighter.d.ts +0 -17
- package/highlight/CombinedHighlighter.js +0 -59
- package/highlight/CombinedHighlighter.js.map +0 -1
- package/highlight/Highlight.d.ts +0 -69
- package/highlight/Highlight.js +0 -8
- package/highlight/Highlight.js.map +0 -1
- package/highlight/HorizontalBarHighlighter.d.ts +0 -10
- package/highlight/HorizontalBarHighlighter.js +0 -54
- package/highlight/HorizontalBarHighlighter.js.map +0 -1
- package/highlight/IHighlighter.d.ts +0 -15
- package/highlight/IHighlighter.js +0 -2
- package/highlight/IHighlighter.js.map +0 -1
- package/highlight/PieHighlighter.d.ts +0 -9
- package/highlight/PieHighlighter.js +0 -21
- package/highlight/PieHighlighter.js.map +0 -1
- package/highlight/PieRadarHighlighter.d.ts +0 -25
- package/highlight/PieRadarHighlighter.js +0 -33
- package/highlight/PieRadarHighlighter.js.map +0 -1
- package/highlight/RadarHighlighter.d.ts +0 -20
- package/highlight/RadarHighlighter.js +0 -59
- package/highlight/RadarHighlighter.js.map +0 -1
- package/index.d.ts +0 -11
- package/index.js +0 -15
- package/index.js.map +0 -1
- package/interfaces/dataprovider/BarDataProvider.d.ts +0 -9
- package/interfaces/dataprovider/BarLineScatterCandleBubbleDataProvider.d.ts +0 -19
- package/interfaces/dataprovider/BubbleDataProvider.d.ts +0 -6
- package/interfaces/dataprovider/CandleDataProvider.d.ts +0 -6
- package/interfaces/dataprovider/ChartInterface.d.ts +0 -60
- package/interfaces/dataprovider/CombinedDataProvider.d.ts +0 -13
- package/interfaces/dataprovider/LineDataProvider.d.ts +0 -9
- package/interfaces/dataprovider/ScatterDataProvider.d.ts +0 -6
- package/interfaces/datasets/IBarDataSet.d.ts +0 -47
- package/interfaces/datasets/IBarLineScatterCandleBubbleDataSet.d.ts +0 -12
- package/interfaces/datasets/IBubbleDataSet.d.ts +0 -19
- package/interfaces/datasets/ICandleDataSet.d.ts +0 -81
- package/interfaces/datasets/IDataSet.d.ts +0 -385
- package/interfaces/datasets/ILineDataSet.d.ts +0 -67
- package/interfaces/datasets/ILineRadarDataSet.d.ts +0 -35
- package/interfaces/datasets/ILineScatterCandleRadarDataSet.d.ts +0 -32
- package/interfaces/datasets/IPieDataSet.d.ts +0 -49
- package/interfaces/datasets/IRadarDataSet.d.ts +0 -21
- package/interfaces/datasets/IScatterDataSet.d.ts +0 -37
- package/jobs/AnimatedMoveViewJob.d.ts +0 -15
- package/jobs/AnimatedMoveViewJob.js +0 -42
- package/jobs/AnimatedMoveViewJob.js.map +0 -1
- package/jobs/AnimatedViewPortJob.d.ts +0 -31
- package/jobs/AnimatedViewPortJob.js +0 -52
- package/jobs/AnimatedViewPortJob.js.map +0 -1
- package/jobs/AnimatedZoomJob.d.ts +0 -23
- package/jobs/AnimatedZoomJob.js +0 -63
- package/jobs/AnimatedZoomJob.js.map +0 -1
- package/jobs/MoveViewJob.d.ts +0 -14
- package/jobs/MoveViewJob.js +0 -36
- package/jobs/MoveViewJob.js.map +0 -1
- package/jobs/ViewPortJob.d.ts +0 -13
- package/jobs/ViewPortJob.js +0 -14
- package/jobs/ViewPortJob.js.map +0 -1
- package/jobs/ZoomJob.d.ts +0 -15
- package/jobs/ZoomJob.js +0 -48
- package/jobs/ZoomJob.js.map +0 -1
- package/listener/BarLineChartTouchListener.d.ts +0 -187
- package/listener/BarLineChartTouchListener.js +0 -544
- package/listener/BarLineChartTouchListener.js.map +0 -1
- package/listener/ChartTouchListener.d.ts +0 -69
- package/listener/ChartTouchListener.js +0 -81
- package/listener/ChartTouchListener.js.map +0 -1
- package/listener/PieRadarChartTouchListener.d.ts +0 -100
- package/listener/PieRadarChartTouchListener.js +0 -282
- package/listener/PieRadarChartTouchListener.js.map +0 -1
- package/model/GradientColor.d.ts +0 -9
- package/model/GradientColor.js +0 -19
- package/model/GradientColor.js.map +0 -1
- package/renderer/AxisRenderer.d.ts +0 -101
- package/renderer/AxisRenderer.js +0 -219
- package/renderer/AxisRenderer.js.map +0 -1
- package/renderer/BarChartRenderer.d.ts +0 -40
- package/renderer/BarChartRenderer.js +0 -366
- package/renderer/BarChartRenderer.js.map +0 -1
- package/renderer/BarLineScatterCandleBubbleRenderer.d.ts +0 -57
- package/renderer/BarLineScatterCandleBubbleRenderer.js +0 -63
- package/renderer/BarLineScatterCandleBubbleRenderer.js.map +0 -1
- package/renderer/BubbleChartRenderer.d.ts +0 -22
- package/renderer/BubbleChartRenderer.js +0 -204
- package/renderer/BubbleChartRenderer.js.map +0 -1
- package/renderer/CandleStickChartRenderer.d.ts +0 -18
- package/renderer/CandleStickChartRenderer.js +0 -268
- package/renderer/CandleStickChartRenderer.js.map +0 -1
- package/renderer/CombinedChartRenderer.d.ts +0 -40
- package/renderer/CombinedChartRenderer.js +0 -133
- package/renderer/CombinedChartRenderer.js.map +0 -1
- package/renderer/DataRenderer.d.ts +0 -103
- package/renderer/DataRenderer.js +0 -110
- package/renderer/DataRenderer.js.map +0 -1
- package/renderer/HorizontalBarChartRenderer.d.ts +0 -20
- package/renderer/HorizontalBarChartRenderer.js +0 -303
- package/renderer/HorizontalBarChartRenderer.js.map +0 -1
- package/renderer/LegendRenderer.d.ts +0 -54
- package/renderer/LegendRenderer.js +0 -340
- package/renderer/LegendRenderer.js.map +0 -1
- package/renderer/LineChartRenderer.d.ts +0 -100
- package/renderer/LineChartRenderer.js +0 -766
- package/renderer/LineChartRenderer.js.map +0 -1
- package/renderer/LineRadarRenderer.d.ts +0 -30
- package/renderer/LineRadarRenderer.js +0 -85
- package/renderer/LineRadarRenderer.js.map +0 -1
- package/renderer/LineScatterCandleRadarRenderer.d.ts +0 -20
- package/renderer/LineScatterCandleRadarRenderer.js +0 -45
- package/renderer/LineScatterCandleRadarRenderer.js.map +0 -1
- package/renderer/PieChartRenderer.d.ts +0 -86
- package/renderer/PieChartRenderer.js +0 -718
- package/renderer/PieChartRenderer.js.map +0 -1
- package/renderer/RadarChartRenderer.d.ts +0 -33
- package/renderer/RadarChartRenderer.js +0 -290
- package/renderer/RadarChartRenderer.js.map +0 -1
- package/renderer/Renderer.d.ts +0 -13
- package/renderer/Renderer.js +0 -11
- package/renderer/Renderer.js.map +0 -1
- package/renderer/ScatterChartRenderer.d.ts +0 -16
- package/renderer/ScatterChartRenderer.js +0 -147
- package/renderer/ScatterChartRenderer.js.map +0 -1
- package/renderer/XAxisRenderer.d.ts +0 -58
- package/renderer/XAxisRenderer.js +0 -458
- package/renderer/XAxisRenderer.js.map +0 -1
- package/renderer/XAxisRendererHorizontalBarChart.d.ts +0 -31
- package/renderer/XAxisRendererHorizontalBarChart.js +0 -271
- package/renderer/XAxisRendererHorizontalBarChart.js.map +0 -1
- package/renderer/XAxisRendererRadarChart.d.ts +0 -17
- package/renderer/XAxisRendererRadarChart.js +0 -51
- package/renderer/XAxisRendererRadarChart.js.map +0 -1
- package/renderer/YAxisRenderer.d.ts +0 -60
- package/renderer/YAxisRenderer.js +0 -379
- package/renderer/YAxisRenderer.js.map +0 -1
- package/renderer/YAxisRendererHorizontalBarChart.d.ts +0 -33
- package/renderer/YAxisRendererHorizontalBarChart.js +0 -250
- package/renderer/YAxisRendererHorizontalBarChart.js.map +0 -1
- package/renderer/YAxisRendererRadarChart.d.ts +0 -14
- package/renderer/YAxisRendererRadarChart.js +0 -180
- package/renderer/YAxisRendererRadarChart.js.map +0 -1
- package/renderer/scatter/ChevronDownShapeRenderer.d.ts +0 -11
- package/renderer/scatter/ChevronDownShapeRenderer.js +0 -15
- package/renderer/scatter/ChevronDownShapeRenderer.js.map +0 -1
- package/renderer/scatter/ChevronUpShapeRenderer.d.ts +0 -11
- package/renderer/scatter/ChevronUpShapeRenderer.js +0 -15
- package/renderer/scatter/ChevronUpShapeRenderer.js.map +0 -1
- package/renderer/scatter/CircleShapeRenderer.d.ts +0 -11
- package/renderer/scatter/CircleShapeRenderer.js +0 -31
- package/renderer/scatter/CircleShapeRenderer.js.map +0 -1
- package/renderer/scatter/CrossShapeRenderer.d.ts +0 -11
- package/renderer/scatter/CrossShapeRenderer.js +0 -15
- package/renderer/scatter/CrossShapeRenderer.js.map +0 -1
- package/renderer/scatter/IShapeRenderer.d.ts +0 -20
- package/renderer/scatter/IShapeRenderer.js +0 -2
- package/renderer/scatter/IShapeRenderer.js.map +0 -1
- package/renderer/scatter/SquareShapeRenderer.d.ts +0 -11
- package/renderer/scatter/SquareShapeRenderer.js +0 -31
- package/renderer/scatter/SquareShapeRenderer.js.map +0 -1
- package/renderer/scatter/TriangleShapeRenderer.d.ts +0 -12
- package/renderer/scatter/TriangleShapeRenderer.js +0 -43
- package/renderer/scatter/TriangleShapeRenderer.js.map +0 -1
- package/renderer/scatter/XShapeRenderer.d.ts +0 -11
- package/renderer/scatter/XShapeRenderer.js +0 -15
- package/renderer/scatter/XShapeRenderer.js.map +0 -1
- package/utils/ColorTemplate.d.ts +0 -34
- package/utils/ColorTemplate.js +0 -51
- package/utils/ColorTemplate.js.map +0 -1
- package/utils/HorizontalViewPortHandler.d.ts +0 -6
- package/utils/HorizontalViewPortHandler.js +0 -7
- package/utils/HorizontalViewPortHandler.js.map +0 -1
- package/utils/MPPointD.d.ts +0 -5
- package/utils/MPPointF.d.ts +0 -7
- package/utils/MPSize.d.ts +0 -7
- package/utils/ObjectPool.d.ts +0 -81
- package/utils/ObjectPool.js +0 -183
- package/utils/ObjectPool.js.map +0 -1
- package/utils/Transformer.d.ts +0 -175
- package/utils/Transformer.js +0 -356
- package/utils/Transformer.js.map +0 -1
- package/utils/TransformerHorizontalBarChart.d.ts +0 -14
- package/utils/TransformerHorizontalBarChart.js +0 -30
- package/utils/TransformerHorizontalBarChart.js.map +0 -1
- package/utils/Utils.d.ts +0 -203
- package/utils/Utils.js +0 -653
- package/utils/Utils.js.map +0 -1
- package/utils/ViewPortHandler.d.ts +0 -299
- package/utils/ViewPortHandler.js +0 -580
- package/utils/ViewPortHandler.js.map +0 -1
- package/utils/colors/colorful.d.ts +0 -1
- package/utils/colors/colorful.js +0 -2
- package/utils/colors/colorful.js.map +0 -1
- package/utils/colors/joyful.d.ts +0 -1
- package/utils/colors/joyful.js +0 -2
- package/utils/colors/joyful.js.map +0 -1
- package/utils/colors/liberty.d.ts +0 -1
- package/utils/colors/liberty.js +0 -2
- package/utils/colors/liberty.js.map +0 -1
- package/utils/colors/material.d.ts +0 -1
- package/utils/colors/material.js +0 -2
- package/utils/colors/material.js.map +0 -1
- package/utils/colors/pastel.d.ts +0 -1
- package/utils/colors/pastel.js +0 -2
- package/utils/colors/pastel.js.map +0 -1
- package/utils/colors/vordiplom.d.ts +0 -1
- package/utils/colors/vordiplom.js +0 -2
- package/utils/colors/vordiplom.js.map +0 -1
package/charts/PieChart.d.ts
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
import { Canvas, Paint, Path, RectF } from '@nativescript-community/ui-canvas';
|
|
2
|
-
import { Font } from '@nativescript/core/ui/styling/font';
|
|
3
|
-
import { Entry } from '../data/Entry';
|
|
4
|
-
import { PieData } from '../data/PieData';
|
|
5
|
-
import { PieDataSet } from '../data/PieDataSet';
|
|
6
|
-
import { Highlight } from '../highlight/Highlight';
|
|
7
|
-
import { BaseCustomRenderer } from '../renderer/DataRenderer';
|
|
8
|
-
import { PieChartRenderer } from '../renderer/PieChartRenderer';
|
|
9
|
-
import { MPPointF } from '../utils/MPPointF';
|
|
10
|
-
import { PieRadarChartBase } from './PieRadarChartBase';
|
|
11
|
-
export interface CustomRenderer extends BaseCustomRenderer {
|
|
12
|
-
drawSlice?: (c: Canvas, e: Entry, slice: Path, paint: Paint) => void;
|
|
13
|
-
drawHighlight?: (c: Canvas, e: Highlight, slice: Path, paint: Paint) => void;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* View that represents a pie chart. Draws cake like slices.
|
|
17
|
-
*
|
|
18
|
-
|
|
19
|
-
*/
|
|
20
|
-
export declare class PieChart extends PieRadarChartBase<Entry, PieDataSet, PieData> {
|
|
21
|
-
renderer: PieChartRenderer;
|
|
22
|
-
/**
|
|
23
|
-
* rect object that represents the bounds of the piechart, needed for
|
|
24
|
-
* drawing the circle
|
|
25
|
-
*/
|
|
26
|
-
readonly circleBox: RectF;
|
|
27
|
-
/**
|
|
28
|
-
* flag indicating if entry labels should be drawn or not
|
|
29
|
-
*/
|
|
30
|
-
drawEntryLabels: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* array that holds the width of each pie-slice in degrees
|
|
33
|
-
*/
|
|
34
|
-
private mDrawAngles;
|
|
35
|
-
/**
|
|
36
|
-
* array that holds the absolute angle in degrees of each slice
|
|
37
|
-
*/
|
|
38
|
-
private mAbsoluteAngles;
|
|
39
|
-
/**
|
|
40
|
-
* if true, the white hole inside the chart will be drawn
|
|
41
|
-
*/
|
|
42
|
-
drawHoleEnabled: boolean;
|
|
43
|
-
/**
|
|
44
|
-
* if true, the hole will see-through to the inner tips of the slices
|
|
45
|
-
*/
|
|
46
|
-
drawSlicesUnderHoleEnabled: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* if true, the values inside the piechart are drawn as percent values
|
|
49
|
-
*/
|
|
50
|
-
usePercentValues: boolean;
|
|
51
|
-
/**
|
|
52
|
-
* if true, the slices of the piechart are rounded
|
|
53
|
-
*/
|
|
54
|
-
drawRoundedSlices: boolean;
|
|
55
|
-
/**
|
|
56
|
-
* variable for the text that is drawn in the center of the pie-chart
|
|
57
|
-
*/
|
|
58
|
-
centerText: string;
|
|
59
|
-
private mCenterTextOffset;
|
|
60
|
-
/**
|
|
61
|
-
* indicates the size of the hole in the center of the piechart, default:
|
|
62
|
-
* radius / 2
|
|
63
|
-
*/
|
|
64
|
-
private mHoleRadiusPercent;
|
|
65
|
-
/**
|
|
66
|
-
* the radius of the transparent circle that is drawn next to the hole
|
|
67
|
-
* in the piechart in percent of the maximum radius (max = the radius of the
|
|
68
|
-
* whole chart), default 55% -> means 5% larger than the center-hole by
|
|
69
|
-
*/
|
|
70
|
-
transparentCircleRadiusPercent: number;
|
|
71
|
-
/**
|
|
72
|
-
* if enabled, centertext is drawn
|
|
73
|
-
*/
|
|
74
|
-
drawCenterText: boolean;
|
|
75
|
-
/**
|
|
76
|
-
* the rectangular radius of the bounding box for the center text, as a percentage of the pie
|
|
77
|
-
* hole
|
|
78
|
-
* default 1.f (100%)
|
|
79
|
-
*/
|
|
80
|
-
centerTextRadiusPercent: number;
|
|
81
|
-
protected mMaxAngle: number;
|
|
82
|
-
/**
|
|
83
|
-
* Minimum angle to draw slices, this only works if there is enough room for all slices to have
|
|
84
|
-
* the minimum angle, default 0.
|
|
85
|
-
*/
|
|
86
|
-
private mMinAngleForSlices;
|
|
87
|
-
protected init(): void;
|
|
88
|
-
private totalTime;
|
|
89
|
-
private drawCycles;
|
|
90
|
-
onDraw(canvas: Canvas): void;
|
|
91
|
-
calculateOffsets(): void;
|
|
92
|
-
protected calcMinMax(): void;
|
|
93
|
-
protected getMarkerPosition(highlight: Highlight): number[];
|
|
94
|
-
/**
|
|
95
|
-
* calculates the needed angles for the chart slices
|
|
96
|
-
*/
|
|
97
|
-
private calcAngles;
|
|
98
|
-
/**
|
|
99
|
-
* Checks if the given index is set to be highlighted.
|
|
100
|
-
*
|
|
101
|
-
* @param index
|
|
102
|
-
* @return
|
|
103
|
-
*/
|
|
104
|
-
needsHighlight(index: number): boolean;
|
|
105
|
-
/**
|
|
106
|
-
* Calculates the needed angle for a given value
|
|
107
|
-
*
|
|
108
|
-
* @param value
|
|
109
|
-
* @param yValueSum
|
|
110
|
-
* @return
|
|
111
|
-
*/
|
|
112
|
-
private calcAngle;
|
|
113
|
-
getIndexForAngle(angle: number): number;
|
|
114
|
-
/**
|
|
115
|
-
* Returns the index of the DataSet this x-index belongs to.
|
|
116
|
-
*
|
|
117
|
-
* @param xIndex
|
|
118
|
-
* @return
|
|
119
|
-
*/
|
|
120
|
-
getDataSetIndexForIndex(xIndex: number): number;
|
|
121
|
-
/**
|
|
122
|
-
* returns an integer array of all the different angles the chart slices
|
|
123
|
-
* have the angles in the returned array determine how much space (of 360°)
|
|
124
|
-
* each slice takes
|
|
125
|
-
*/
|
|
126
|
-
get drawAngles(): number[];
|
|
127
|
-
/**
|
|
128
|
-
* returns the absolute angles of the different chart slices (where the
|
|
129
|
-
* slices end)
|
|
130
|
-
*/
|
|
131
|
-
get absoluteAngles(): number[];
|
|
132
|
-
/**
|
|
133
|
-
* Sets the color for the hole that is drawn in the center of the PieChart
|
|
134
|
-
* (if enabled).
|
|
135
|
-
*
|
|
136
|
-
* @param color
|
|
137
|
-
*/
|
|
138
|
-
set holeColor(color: any);
|
|
139
|
-
get holeColor(): any;
|
|
140
|
-
protected get requiredLegendOffset(): number;
|
|
141
|
-
protected get requiredBaseOffset(): number;
|
|
142
|
-
get radius(): number;
|
|
143
|
-
/**
|
|
144
|
-
* Returns the center of the circlebox
|
|
145
|
-
*/
|
|
146
|
-
get centerCircleBox(): MPPointF;
|
|
147
|
-
/**
|
|
148
|
-
* Sets the typeface for the center-text paint
|
|
149
|
-
*
|
|
150
|
-
* @param t
|
|
151
|
-
*/
|
|
152
|
-
set centerTextTypeface(t: Font);
|
|
153
|
-
get centerTextTypeface(): Font;
|
|
154
|
-
/**
|
|
155
|
-
* Sets the size of the center text of the PieChart in dp.
|
|
156
|
-
*
|
|
157
|
-
* @param sizeDp
|
|
158
|
-
*/
|
|
159
|
-
set centerTextSize(sizeDp: number);
|
|
160
|
-
get centerTextSize(): number;
|
|
161
|
-
/**
|
|
162
|
-
* Sets the offset the center text should have from it's original position in dp. Default x = 0, y = 0
|
|
163
|
-
*
|
|
164
|
-
* @param x
|
|
165
|
-
* @param y
|
|
166
|
-
*/
|
|
167
|
-
set centerTextOffset({ x, y }: {
|
|
168
|
-
x: number;
|
|
169
|
-
y: number;
|
|
170
|
-
});
|
|
171
|
-
/**
|
|
172
|
-
* Returns the offset on the x- and y-axis the center text has in dp.
|
|
173
|
-
*/
|
|
174
|
-
get centerTextOffset(): MPPointF;
|
|
175
|
-
/**
|
|
176
|
-
* Sets the color of the center text of the PieChart.
|
|
177
|
-
*
|
|
178
|
-
* @param color
|
|
179
|
-
*/
|
|
180
|
-
set centerTextColor(color: any);
|
|
181
|
-
get centerTextColor(): any;
|
|
182
|
-
/**
|
|
183
|
-
* sets the radius of the hole in the center of the piechart in percent of
|
|
184
|
-
* the maximum radius (max = the radius of the whole chart), default 50%
|
|
185
|
-
*
|
|
186
|
-
* @param percent
|
|
187
|
-
*/
|
|
188
|
-
set holeRadius(percent: number);
|
|
189
|
-
/**
|
|
190
|
-
* Returns the size of the hole radius in percent of the total radius.
|
|
191
|
-
*/
|
|
192
|
-
get holeRadius(): number;
|
|
193
|
-
/**
|
|
194
|
-
* Sets the color the transparent-circle should have.
|
|
195
|
-
*
|
|
196
|
-
* @param color
|
|
197
|
-
*/
|
|
198
|
-
set transparentCircleColor(color: any);
|
|
199
|
-
/**
|
|
200
|
-
* Sets the amount of transparency the transparent circle should have 0 = fully transparent,
|
|
201
|
-
* 255 = fully opaque.
|
|
202
|
-
* Default value is 100.
|
|
203
|
-
*
|
|
204
|
-
* @param alpha 0-255
|
|
205
|
-
*/
|
|
206
|
-
set transparentCircleAlpha(alpha: any);
|
|
207
|
-
/**
|
|
208
|
-
* Sets the color the entry labels are drawn with.
|
|
209
|
-
*
|
|
210
|
-
* @param color
|
|
211
|
-
*/
|
|
212
|
-
set entryLabelColor(color: any);
|
|
213
|
-
/**
|
|
214
|
-
* Sets a custom font for the drawing of the entry labels.
|
|
215
|
-
*
|
|
216
|
-
* @param tf
|
|
217
|
-
*/
|
|
218
|
-
set entryLabelTypeface(tf: any);
|
|
219
|
-
/**
|
|
220
|
-
* Sets the size of the entry labels in dp. Default: 13dp
|
|
221
|
-
*
|
|
222
|
-
* @param size
|
|
223
|
-
*/
|
|
224
|
-
set entryLabelTextSize(size: any);
|
|
225
|
-
get maxAngle(): number;
|
|
226
|
-
/**
|
|
227
|
-
* Sets the max angle that is used for calculating the pie-circle. 360 means
|
|
228
|
-
* it's a full PieChart, 180 results in a half-pie-chart. Default: 360
|
|
229
|
-
*
|
|
230
|
-
* @param maxangle min 90, max 360
|
|
231
|
-
*/
|
|
232
|
-
set maxAngle(maxangle: number);
|
|
233
|
-
/**
|
|
234
|
-
* The minimum angle slices on the chart are rendered with, default is 0.
|
|
235
|
-
*
|
|
236
|
-
* @return minimum angle for slices
|
|
237
|
-
*/
|
|
238
|
-
get minAngleForSlices(): number;
|
|
239
|
-
/**
|
|
240
|
-
* Set the angle to set minimum size for slices, you must call {@link #notifyDataSetChanged()}
|
|
241
|
-
* and {@link #invalidate()} when changing this, only works if there is enough room for all
|
|
242
|
-
* slices to have the minimum angle.
|
|
243
|
-
*
|
|
244
|
-
* @param minAngle minimum 0, maximum is half of {@link #setMaxAngle}
|
|
245
|
-
*/
|
|
246
|
-
set minAngleForSlices(minAngle: number);
|
|
247
|
-
_onDetachedFromWindow(): void;
|
|
248
|
-
customRenderer: CustomRenderer;
|
|
249
|
-
}
|
package/charts/PieChart.js
DELETED
|
@@ -1,468 +0,0 @@
|
|
|
1
|
-
import { RectF } from '@nativescript-community/ui-canvas';
|
|
2
|
-
import { Trace } from '@nativescript/core';
|
|
3
|
-
import { PieHighlighter } from '../highlight/PieHighlighter';
|
|
4
|
-
import { PieChartRenderer } from '../renderer/PieChartRenderer';
|
|
5
|
-
import { CLog, CLogTypes, Utils } from '../utils/Utils';
|
|
6
|
-
import { PieRadarChartBase } from './PieRadarChartBase';
|
|
7
|
-
const LOG_TAG = 'PieChart';
|
|
8
|
-
/**
|
|
9
|
-
* View that represents a pie chart. Draws cake like slices.
|
|
10
|
-
*
|
|
11
|
-
|
|
12
|
-
*/
|
|
13
|
-
export class PieChart extends PieRadarChartBase {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
/**
|
|
17
|
-
* rect object that represents the bounds of the piechart, needed for
|
|
18
|
-
* drawing the circle
|
|
19
|
-
*/
|
|
20
|
-
this.circleBox = new RectF(0, 0, 0, 0);
|
|
21
|
-
/**
|
|
22
|
-
* flag indicating if entry labels should be drawn or not
|
|
23
|
-
*/
|
|
24
|
-
this.drawEntryLabels = true;
|
|
25
|
-
/**
|
|
26
|
-
* array that holds the width of each pie-slice in degrees
|
|
27
|
-
*/
|
|
28
|
-
this.mDrawAngles = [];
|
|
29
|
-
/**
|
|
30
|
-
* array that holds the absolute angle in degrees of each slice
|
|
31
|
-
*/
|
|
32
|
-
this.mAbsoluteAngles = [];
|
|
33
|
-
/**
|
|
34
|
-
* if true, the white hole inside the chart will be drawn
|
|
35
|
-
*/
|
|
36
|
-
this.drawHoleEnabled = true;
|
|
37
|
-
/**
|
|
38
|
-
* variable for the text that is drawn in the center of the pie-chart
|
|
39
|
-
*/
|
|
40
|
-
this.centerText = '';
|
|
41
|
-
this.mCenterTextOffset = { x: 0, y: 0 };
|
|
42
|
-
/**
|
|
43
|
-
* indicates the size of the hole in the center of the piechart, default:
|
|
44
|
-
* radius / 2
|
|
45
|
-
*/
|
|
46
|
-
this.mHoleRadiusPercent = 50;
|
|
47
|
-
/**
|
|
48
|
-
* the radius of the transparent circle that is drawn next to the hole
|
|
49
|
-
* in the piechart in percent of the maximum radius (max = the radius of the
|
|
50
|
-
* whole chart), default 55% -> means 5% larger than the center-hole by
|
|
51
|
-
*/
|
|
52
|
-
this.transparentCircleRadiusPercent = 55;
|
|
53
|
-
/**
|
|
54
|
-
* if enabled, centertext is drawn
|
|
55
|
-
*/
|
|
56
|
-
this.drawCenterText = true;
|
|
57
|
-
/**
|
|
58
|
-
* the rectangular radius of the bounding box for the center text, as a percentage of the pie
|
|
59
|
-
* hole
|
|
60
|
-
* default 1.f (100%)
|
|
61
|
-
*/
|
|
62
|
-
this.centerTextRadiusPercent = 100;
|
|
63
|
-
this.mMaxAngle = 360;
|
|
64
|
-
/**
|
|
65
|
-
* Minimum angle to draw slices, this only works if there is enough room for all slices to have
|
|
66
|
-
* the minimum angle, default 0.
|
|
67
|
-
*/
|
|
68
|
-
this.mMinAngleForSlices = 0;
|
|
69
|
-
// for performance tracking
|
|
70
|
-
this.totalTime = 0;
|
|
71
|
-
this.drawCycles = 0;
|
|
72
|
-
}
|
|
73
|
-
init() {
|
|
74
|
-
super.init();
|
|
75
|
-
this.renderer = new PieChartRenderer(this, this.animator, this.viewPortHandler);
|
|
76
|
-
this.xAxis = null;
|
|
77
|
-
this.highlighter = new PieHighlighter(this);
|
|
78
|
-
}
|
|
79
|
-
onDraw(canvas) {
|
|
80
|
-
const startTime = Date.now();
|
|
81
|
-
super.onDraw(canvas);
|
|
82
|
-
if (!this.mData) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
this.renderer.drawData(canvas);
|
|
86
|
-
if (this.hasValuesToHighlight && this.drawHighlight) {
|
|
87
|
-
this.renderer.drawHighlighted(canvas, this.indicesToHighlight);
|
|
88
|
-
}
|
|
89
|
-
this.renderer.drawExtras(canvas);
|
|
90
|
-
this.renderer.drawValues(canvas);
|
|
91
|
-
if (this.legendRenderer) {
|
|
92
|
-
this.legendRenderer.renderLegend(canvas);
|
|
93
|
-
}
|
|
94
|
-
this.drawDescription(canvas);
|
|
95
|
-
this.drawMarkers(canvas);
|
|
96
|
-
this.notify({ eventName: 'drawn', object: this });
|
|
97
|
-
if (Trace.isEnabled()) {
|
|
98
|
-
const drawtime = Date.now() - startTime;
|
|
99
|
-
this.totalTime += drawtime;
|
|
100
|
-
this.drawCycles += 1;
|
|
101
|
-
const average = this.totalTime / this.drawCycles;
|
|
102
|
-
CLog(CLogTypes.log, this.constructor.name, 'Drawtime: ' + drawtime + ' ms, average: ' + average + ' ms, cycles: ' + this.drawCycles);
|
|
103
|
-
}
|
|
104
|
-
this.notify({ eventName: 'postDraw', object: this, canvas });
|
|
105
|
-
}
|
|
106
|
-
calculateOffsets() {
|
|
107
|
-
super.calculateOffsets();
|
|
108
|
-
// prevent nullpointer when no data set
|
|
109
|
-
if (!this.mData) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
const diameter = this.diameter;
|
|
113
|
-
const radius = diameter / 2;
|
|
114
|
-
const c = this.centerOffsets;
|
|
115
|
-
const shift = this.mData.getDataSet().selectionShift;
|
|
116
|
-
// create the circle box that will contain the pie-chart (the bounds of the pie-chart)
|
|
117
|
-
this.circleBox.set(c.x - radius + shift, c.y - radius + shift, c.x + radius - shift, c.y + radius - shift);
|
|
118
|
-
}
|
|
119
|
-
calcMinMax() {
|
|
120
|
-
this.calcAngles();
|
|
121
|
-
}
|
|
122
|
-
getMarkerPosition(highlight) {
|
|
123
|
-
const center = this.centerCircleBox;
|
|
124
|
-
let r = this.radius;
|
|
125
|
-
let off = (r / 10) * 3.6;
|
|
126
|
-
if (this.drawHoleEnabled) {
|
|
127
|
-
off = (r - (r / 100) * this.holeRadius) / 2;
|
|
128
|
-
}
|
|
129
|
-
r -= off; // offset to keep things inside the chart
|
|
130
|
-
const rotationAngle = this.rotationAngle;
|
|
131
|
-
const entryIndex = highlight.x;
|
|
132
|
-
// offset needed to center the drawn text in the slice
|
|
133
|
-
const offset = this.mDrawAngles[entryIndex] / 2;
|
|
134
|
-
// calculate the text position
|
|
135
|
-
const x = r * Math.cos((rotationAngle + this.mAbsoluteAngles[entryIndex] - offset) * this.animator.phaseY * Utils.DEG2RAD) + center.x;
|
|
136
|
-
const y = r * Math.sin((rotationAngle + this.mAbsoluteAngles[entryIndex] - offset) * this.animator.phaseY * Utils.DEG2RAD) + center.y;
|
|
137
|
-
return [x, y];
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* calculates the needed angles for the chart slices
|
|
141
|
-
*/
|
|
142
|
-
calcAngles() {
|
|
143
|
-
const entryCount = this.mData.entryCount;
|
|
144
|
-
if (this.mDrawAngles.length !== entryCount) {
|
|
145
|
-
this.mDrawAngles = [];
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
for (let i = 0; i < entryCount; i++) {
|
|
149
|
-
this.mDrawAngles[i] = 0;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
if (this.mAbsoluteAngles.length !== entryCount) {
|
|
153
|
-
this.mAbsoluteAngles = [];
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
for (let i = 0; i < entryCount; i++) {
|
|
157
|
-
this.mAbsoluteAngles[i] = 0;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
const yValueSum = this.mData.getYValueSum();
|
|
161
|
-
const dataSets = this.mData.dataSets;
|
|
162
|
-
const hasMinAngle = this.mMinAngleForSlices !== 0 && entryCount * this.mMinAngleForSlices <= this.mMaxAngle;
|
|
163
|
-
const minAngles = [];
|
|
164
|
-
let cnt = 0;
|
|
165
|
-
let offset = 0;
|
|
166
|
-
let diff = 0;
|
|
167
|
-
for (let i = 0; i < this.mData.dataSetCount; i++) {
|
|
168
|
-
const set = dataSets[i];
|
|
169
|
-
const yKey = set.yProperty;
|
|
170
|
-
for (let j = 0; j < set.entryCount; j++) {
|
|
171
|
-
const drawAngle = this.calcAngle(Math.abs(set.getEntryForIndex(j)[yKey]), yValueSum);
|
|
172
|
-
if (hasMinAngle) {
|
|
173
|
-
const temp = drawAngle - this.mMinAngleForSlices;
|
|
174
|
-
if (temp <= 0) {
|
|
175
|
-
minAngles[cnt] = this.mMinAngleForSlices;
|
|
176
|
-
offset += -temp;
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
minAngles[cnt] = drawAngle;
|
|
180
|
-
diff += temp;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
this.mDrawAngles[cnt] = drawAngle;
|
|
184
|
-
if (cnt === 0) {
|
|
185
|
-
this.mAbsoluteAngles[cnt] = this.mDrawAngles[cnt];
|
|
186
|
-
}
|
|
187
|
-
else {
|
|
188
|
-
this.mAbsoluteAngles[cnt] = this.mAbsoluteAngles[cnt - 1] + this.mDrawAngles[cnt];
|
|
189
|
-
}
|
|
190
|
-
cnt++;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
if (hasMinAngle) {
|
|
194
|
-
// Correct bigger slices by relatively reducing their angles based on the total angle needed to subtract
|
|
195
|
-
// This requires that `entryCount * this.mMinAngleForSlices <= this.mMaxAngle` be true to properly work!
|
|
196
|
-
for (let i = 0; i < entryCount; i++) {
|
|
197
|
-
minAngles[i] -= ((minAngles[i] - this.mMinAngleForSlices) / diff) * offset;
|
|
198
|
-
if (i === 0) {
|
|
199
|
-
this.mAbsoluteAngles[0] = minAngles[0];
|
|
200
|
-
}
|
|
201
|
-
else {
|
|
202
|
-
this.mAbsoluteAngles[i] = this.mAbsoluteAngles[i - 1] + minAngles[i];
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
this.mDrawAngles = minAngles;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Checks if the given index is set to be highlighted.
|
|
210
|
-
*
|
|
211
|
-
* @param index
|
|
212
|
-
* @return
|
|
213
|
-
*/
|
|
214
|
-
needsHighlight(index) {
|
|
215
|
-
// no highlight
|
|
216
|
-
if (!this.hasValuesToHighlight) {
|
|
217
|
-
return false;
|
|
218
|
-
}
|
|
219
|
-
for (let i = 0; i < this.indicesToHighlight.length; i++) {
|
|
220
|
-
// check if the xvalue for the given dataset needs highlight
|
|
221
|
-
if (this.indicesToHighlight[i].x === index) {
|
|
222
|
-
return true;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
return false;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Calculates the needed angle for a given value
|
|
229
|
-
*
|
|
230
|
-
* @param value
|
|
231
|
-
* @param yValueSum
|
|
232
|
-
* @return
|
|
233
|
-
*/
|
|
234
|
-
calcAngle(value, yValueSum) {
|
|
235
|
-
return (value / yValueSum) * this.mMaxAngle;
|
|
236
|
-
}
|
|
237
|
-
getIndexForAngle(angle) {
|
|
238
|
-
// take the current angle of the chart into consideration
|
|
239
|
-
const a = Utils.getNormalizedAngle(angle - this.rotationAngle);
|
|
240
|
-
for (let i = 0; i < this.mAbsoluteAngles.length; i++) {
|
|
241
|
-
if (this.mAbsoluteAngles[i] > a) {
|
|
242
|
-
return i;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
return -1; // return -1 if no index found
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Returns the index of the DataSet this x-index belongs to.
|
|
249
|
-
*
|
|
250
|
-
* @param xIndex
|
|
251
|
-
* @return
|
|
252
|
-
*/
|
|
253
|
-
getDataSetIndexForIndex(xIndex) {
|
|
254
|
-
const dataSets = this.mData.dataSets;
|
|
255
|
-
for (let i = 0; i < dataSets.length; i++) {
|
|
256
|
-
if (dataSets[i].getEntryForXValue(xIndex, NaN)) {
|
|
257
|
-
return i;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
return -1;
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* returns an integer array of all the different angles the chart slices
|
|
264
|
-
* have the angles in the returned array determine how much space (of 360°)
|
|
265
|
-
* each slice takes
|
|
266
|
-
*/
|
|
267
|
-
get drawAngles() {
|
|
268
|
-
return this.mDrawAngles;
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* returns the absolute angles of the different chart slices (where the
|
|
272
|
-
* slices end)
|
|
273
|
-
*/
|
|
274
|
-
get absoluteAngles() {
|
|
275
|
-
return this.mAbsoluteAngles;
|
|
276
|
-
}
|
|
277
|
-
/**
|
|
278
|
-
* Sets the color for the hole that is drawn in the center of the PieChart
|
|
279
|
-
* (if enabled).
|
|
280
|
-
*
|
|
281
|
-
* @param color
|
|
282
|
-
*/
|
|
283
|
-
set holeColor(color) {
|
|
284
|
-
this.renderer.holePaint.setColor(color);
|
|
285
|
-
}
|
|
286
|
-
get holeColor() {
|
|
287
|
-
return this.renderer.holePaint.color;
|
|
288
|
-
}
|
|
289
|
-
get requiredLegendOffset() {
|
|
290
|
-
return this.legendRenderer.labelPaint.getTextSize() * 2;
|
|
291
|
-
}
|
|
292
|
-
get requiredBaseOffset() {
|
|
293
|
-
return 0;
|
|
294
|
-
}
|
|
295
|
-
get radius() {
|
|
296
|
-
if (!this.circleBox) {
|
|
297
|
-
return 0;
|
|
298
|
-
}
|
|
299
|
-
else {
|
|
300
|
-
return Math.min(this.circleBox.width() / 2, this.circleBox.height() / 2);
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* Returns the center of the circlebox
|
|
305
|
-
*/
|
|
306
|
-
get centerCircleBox() {
|
|
307
|
-
return { x: this.circleBox.centerX(), y: this.circleBox.centerY() };
|
|
308
|
-
}
|
|
309
|
-
/**
|
|
310
|
-
* Sets the typeface for the center-text paint
|
|
311
|
-
*
|
|
312
|
-
* @param t
|
|
313
|
-
*/
|
|
314
|
-
set centerTextTypeface(t) {
|
|
315
|
-
this.renderer.centerTextPaint.setTypeface(t);
|
|
316
|
-
}
|
|
317
|
-
get centerTextTypeface() {
|
|
318
|
-
return this.renderer.centerTextPaint.font;
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Sets the size of the center text of the PieChart in dp.
|
|
322
|
-
*
|
|
323
|
-
* @param sizeDp
|
|
324
|
-
*/
|
|
325
|
-
set centerTextSize(sizeDp) {
|
|
326
|
-
this.renderer.centerTextPaint.setTextSize(sizeDp);
|
|
327
|
-
}
|
|
328
|
-
get centerTextSize() {
|
|
329
|
-
return this.renderer.centerTextPaint.textSize;
|
|
330
|
-
}
|
|
331
|
-
/**
|
|
332
|
-
* Sets the offset the center text should have from it's original position in dp. Default x = 0, y = 0
|
|
333
|
-
*
|
|
334
|
-
* @param x
|
|
335
|
-
* @param y
|
|
336
|
-
*/
|
|
337
|
-
set centerTextOffset({ x, y }) {
|
|
338
|
-
this.mCenterTextOffset.x = x;
|
|
339
|
-
this.mCenterTextOffset.y = y;
|
|
340
|
-
}
|
|
341
|
-
/**
|
|
342
|
-
* Returns the offset on the x- and y-axis the center text has in dp.
|
|
343
|
-
*/
|
|
344
|
-
get centerTextOffset() {
|
|
345
|
-
return { x: this.mCenterTextOffset.x, y: this.mCenterTextOffset.y };
|
|
346
|
-
}
|
|
347
|
-
/**
|
|
348
|
-
* Sets the color of the center text of the PieChart.
|
|
349
|
-
*
|
|
350
|
-
* @param color
|
|
351
|
-
*/
|
|
352
|
-
set centerTextColor(color) {
|
|
353
|
-
this.renderer.centerTextPaint.setColor(color);
|
|
354
|
-
}
|
|
355
|
-
get centerTextColor() {
|
|
356
|
-
return this.renderer.centerTextPaint.color;
|
|
357
|
-
}
|
|
358
|
-
/**
|
|
359
|
-
* sets the radius of the hole in the center of the piechart in percent of
|
|
360
|
-
* the maximum radius (max = the radius of the whole chart), default 50%
|
|
361
|
-
*
|
|
362
|
-
* @param percent
|
|
363
|
-
*/
|
|
364
|
-
set holeRadius(percent) {
|
|
365
|
-
this.mHoleRadiusPercent = percent;
|
|
366
|
-
}
|
|
367
|
-
/**
|
|
368
|
-
* Returns the size of the hole radius in percent of the total radius.
|
|
369
|
-
*/
|
|
370
|
-
get holeRadius() {
|
|
371
|
-
return this.mHoleRadiusPercent;
|
|
372
|
-
}
|
|
373
|
-
/**
|
|
374
|
-
* Sets the color the transparent-circle should have.
|
|
375
|
-
*
|
|
376
|
-
* @param color
|
|
377
|
-
*/
|
|
378
|
-
set transparentCircleColor(color) {
|
|
379
|
-
const p = this.renderer.transparentCirclePaint;
|
|
380
|
-
const alpha = p.getAlpha();
|
|
381
|
-
p.setColor(color);
|
|
382
|
-
p.setAlpha(alpha);
|
|
383
|
-
}
|
|
384
|
-
/**
|
|
385
|
-
* Sets the amount of transparency the transparent circle should have 0 = fully transparent,
|
|
386
|
-
* 255 = fully opaque.
|
|
387
|
-
* Default value is 100.
|
|
388
|
-
*
|
|
389
|
-
* @param alpha 0-255
|
|
390
|
-
*/
|
|
391
|
-
set transparentCircleAlpha(alpha) {
|
|
392
|
-
this.renderer.transparentCirclePaint.setAlpha(alpha);
|
|
393
|
-
}
|
|
394
|
-
/**
|
|
395
|
-
* Sets the color the entry labels are drawn with.
|
|
396
|
-
*
|
|
397
|
-
* @param color
|
|
398
|
-
*/
|
|
399
|
-
set entryLabelColor(color) {
|
|
400
|
-
this.renderer.entryLabelsPaint.setColor(color);
|
|
401
|
-
}
|
|
402
|
-
/**
|
|
403
|
-
* Sets a custom font for the drawing of the entry labels.
|
|
404
|
-
*
|
|
405
|
-
* @param tf
|
|
406
|
-
*/
|
|
407
|
-
set entryLabelTypeface(tf) {
|
|
408
|
-
this.renderer.entryLabelsPaint.setTypeface(tf);
|
|
409
|
-
}
|
|
410
|
-
/**
|
|
411
|
-
* Sets the size of the entry labels in dp. Default: 13dp
|
|
412
|
-
*
|
|
413
|
-
* @param size
|
|
414
|
-
*/
|
|
415
|
-
set entryLabelTextSize(size) {
|
|
416
|
-
this.renderer.entryLabelsPaint.setTextSize(size);
|
|
417
|
-
}
|
|
418
|
-
get maxAngle() {
|
|
419
|
-
return this.mMaxAngle;
|
|
420
|
-
}
|
|
421
|
-
/**
|
|
422
|
-
* Sets the max angle that is used for calculating the pie-circle. 360 means
|
|
423
|
-
* it's a full PieChart, 180 results in a half-pie-chart. Default: 360
|
|
424
|
-
*
|
|
425
|
-
* @param maxangle min 90, max 360
|
|
426
|
-
*/
|
|
427
|
-
set maxAngle(maxangle) {
|
|
428
|
-
if (maxangle > 360) {
|
|
429
|
-
maxangle = 360;
|
|
430
|
-
}
|
|
431
|
-
if (maxangle < 90) {
|
|
432
|
-
maxangle = 90;
|
|
433
|
-
}
|
|
434
|
-
this.mMaxAngle = maxangle;
|
|
435
|
-
}
|
|
436
|
-
/**
|
|
437
|
-
* The minimum angle slices on the chart are rendered with, default is 0.
|
|
438
|
-
*
|
|
439
|
-
* @return minimum angle for slices
|
|
440
|
-
*/
|
|
441
|
-
get minAngleForSlices() {
|
|
442
|
-
return this.mMinAngleForSlices;
|
|
443
|
-
}
|
|
444
|
-
/**
|
|
445
|
-
* Set the angle to set minimum size for slices, you must call {@link #notifyDataSetChanged()}
|
|
446
|
-
* and {@link #invalidate()} when changing this, only works if there is enough room for all
|
|
447
|
-
* slices to have the minimum angle.
|
|
448
|
-
*
|
|
449
|
-
* @param minAngle minimum 0, maximum is half of {@link #setMaxAngle}
|
|
450
|
-
*/
|
|
451
|
-
set minAngleForSlices(minAngle) {
|
|
452
|
-
if (minAngle > this.mMaxAngle / 2) {
|
|
453
|
-
minAngle = this.mMaxAngle / 2;
|
|
454
|
-
}
|
|
455
|
-
else if (minAngle < 0) {
|
|
456
|
-
minAngle = 0;
|
|
457
|
-
}
|
|
458
|
-
this.mMinAngleForSlices = minAngle;
|
|
459
|
-
}
|
|
460
|
-
_onDetachedFromWindow() {
|
|
461
|
-
// releases the bitmap in the renderer to avoid oom error
|
|
462
|
-
if (this.renderer instanceof PieChartRenderer) {
|
|
463
|
-
this.renderer.releaseBitmap();
|
|
464
|
-
}
|
|
465
|
-
//super.onDetachedFromWindow();
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
//# sourceMappingURL=PieChart.js.map
|