@nativescript-community/ui-chart 2.0.4 → 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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PieChartRenderer.js","sourceRoot":"","sources":["../../../src/ui-chart/renderer/PieChartRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Canvas, Paint } from '@nativescript-community/ui-canvas';
|
|
2
|
-
import { ChartAnimator } from '../animation/ChartAnimator';
|
|
3
|
-
import { RadarChart } from '../charts/RadarChart';
|
|
4
|
-
import { Highlight } from '../highlight/Highlight';
|
|
5
|
-
import { IRadarDataSet } from '../interfaces/datasets/IRadarDataSet';
|
|
6
|
-
import { MPPointF } from '../utils/MPPointF';
|
|
7
|
-
import { ViewPortHandler } from '../utils/ViewPortHandler';
|
|
8
|
-
import { LineRadarRenderer } from './LineRadarRenderer';
|
|
9
|
-
export declare class RadarChartRenderer extends LineRadarRenderer {
|
|
10
|
-
protected mChart: RadarChart;
|
|
11
|
-
/**
|
|
12
|
-
* palet for drawing the web
|
|
13
|
-
*/
|
|
14
|
-
protected mWebPaint: Paint;
|
|
15
|
-
private mLineBuffer;
|
|
16
|
-
constructor(chart: RadarChart, animator: ChartAnimator, viewPortHandler: ViewPortHandler);
|
|
17
|
-
get highlightPaint(): Paint;
|
|
18
|
-
get webPaint(): Paint;
|
|
19
|
-
drawData(c: Canvas): void;
|
|
20
|
-
/**
|
|
21
|
-
* Draws the RadarDataSetF
|
|
22
|
-
*
|
|
23
|
-
* @param c
|
|
24
|
-
* @param dataSet
|
|
25
|
-
* @param mostEntries the entry count of the dataset with the most entries
|
|
26
|
-
*/
|
|
27
|
-
protected drawDataSet(c: Canvas, dataSet: IRadarDataSet, mostEntries: any): void;
|
|
28
|
-
drawValues(c: Canvas): void;
|
|
29
|
-
drawExtras(c: Canvas): void;
|
|
30
|
-
protected drawWeb(c: Canvas): void;
|
|
31
|
-
drawHighlighted(c: Canvas, indices: Highlight[]): void;
|
|
32
|
-
drawHighlightCircle(c: Canvas, point: MPPointF, innerRadius: any, outerRadius: any, fillColor: any, strokeColor: any, strokeWidth: any): void;
|
|
33
|
-
}
|
|
@@ -1,290 +0,0 @@
|
|
|
1
|
-
import { Direction, Style } from '@nativescript-community/ui-canvas';
|
|
2
|
-
import { Color } from '@nativescript/core';
|
|
3
|
-
import { ColorTemplate } from '../utils/ColorTemplate';
|
|
4
|
-
import { Utils } from '../utils/Utils';
|
|
5
|
-
import { LineRadarRenderer } from './LineRadarRenderer';
|
|
6
|
-
export class RadarChartRenderer extends LineRadarRenderer {
|
|
7
|
-
constructor(chart, animator, viewPortHandler) {
|
|
8
|
-
super(animator, viewPortHandler);
|
|
9
|
-
this.mChart = chart;
|
|
10
|
-
}
|
|
11
|
-
get highlightPaint() {
|
|
12
|
-
if (!this.mHighlightPaint) {
|
|
13
|
-
this.mHighlightPaint = Utils.getTemplatePaint('black-stroke');
|
|
14
|
-
this.mHighlightPaint.setStrokeWidth(2);
|
|
15
|
-
this.mHighlightPaint.setColor(new Color(255, 255, 187, 115));
|
|
16
|
-
}
|
|
17
|
-
return this.mHighlightPaint;
|
|
18
|
-
}
|
|
19
|
-
get webPaint() {
|
|
20
|
-
if (!this.mWebPaint) {
|
|
21
|
-
this.mWebPaint = Utils.getTemplatePaint('black-stroke');
|
|
22
|
-
}
|
|
23
|
-
return this.mWebPaint;
|
|
24
|
-
}
|
|
25
|
-
drawData(c) {
|
|
26
|
-
const radarData = this.mChart.data;
|
|
27
|
-
const mostEntries = radarData.maxEntryCountSet.entryCount;
|
|
28
|
-
for (const set of radarData.dataSets) {
|
|
29
|
-
if (set.visible) {
|
|
30
|
-
this.drawDataSet(c, set, mostEntries);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Draws the RadarDataSetF
|
|
36
|
-
*
|
|
37
|
-
* @param c
|
|
38
|
-
* @param dataSet
|
|
39
|
-
* @param mostEntries the entry count of the dataset with the most entries
|
|
40
|
-
*/
|
|
41
|
-
drawDataSet(c, dataSet, mostEntries) {
|
|
42
|
-
const phaseX = this.animator.phaseX;
|
|
43
|
-
const phaseY = this.animator.phaseY;
|
|
44
|
-
const sliceangle = this.mChart.sliceAngle;
|
|
45
|
-
// calculate the factor that is needed for transforming the value to
|
|
46
|
-
// pixels
|
|
47
|
-
const factor = this.mChart.factor;
|
|
48
|
-
const center = this.mChart.centerOffsets;
|
|
49
|
-
const pOut = { x: 0, y: 0 };
|
|
50
|
-
const surface = Utils.getTempPath();
|
|
51
|
-
surface.reset();
|
|
52
|
-
let hasMovedToPoint = false;
|
|
53
|
-
const minVal = this.mChart.yChartMin;
|
|
54
|
-
const angle = this.mChart.rotationAngle;
|
|
55
|
-
const entryCount = dataSet.entryCount;
|
|
56
|
-
if (!this.mLineBuffer || this.mLineBuffer.length < Math.max(entryCount * 2, 2) * 2) {
|
|
57
|
-
this.mLineBuffer = Utils.createArrayBuffer(Math.max(entryCount * 2, 2) * 2);
|
|
58
|
-
}
|
|
59
|
-
const float32arr = this.mLineBuffer;
|
|
60
|
-
let index = 0;
|
|
61
|
-
const yProperty = dataSet.yProperty;
|
|
62
|
-
for (let j = 0; j < dataSet.entryCount; j++) {
|
|
63
|
-
const e = dataSet.getEntryForIndex(j);
|
|
64
|
-
const yVal = e[yProperty];
|
|
65
|
-
if (yVal === undefined || yVal === null) {
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
Utils.getPosition(center, (yVal - minVal) * factor * phaseY, sliceangle * j * phaseX + angle, pOut);
|
|
69
|
-
if (isNaN(pOut.x))
|
|
70
|
-
continue;
|
|
71
|
-
if (!hasMovedToPoint) {
|
|
72
|
-
float32arr[index++] = pOut.x;
|
|
73
|
-
float32arr[index++] = pOut.y;
|
|
74
|
-
hasMovedToPoint = true;
|
|
75
|
-
}
|
|
76
|
-
float32arr[index++] = pOut.x;
|
|
77
|
-
float32arr[index++] = pOut.y;
|
|
78
|
-
}
|
|
79
|
-
if (dataSet.entryCount > mostEntries) {
|
|
80
|
-
// if this is not the largest set, draw a line to the center before closing
|
|
81
|
-
float32arr[index++] = center.x;
|
|
82
|
-
float32arr[index++] = center.y;
|
|
83
|
-
}
|
|
84
|
-
float32arr[index++] = float32arr[0];
|
|
85
|
-
float32arr[index++] = float32arr[1];
|
|
86
|
-
const points = Utils.pointsFromBuffer(float32arr);
|
|
87
|
-
if (__ANDROID__ && Utils.supportsDirectArrayBuffers()) {
|
|
88
|
-
surface['setLinesBuffer'](points, 0, index);
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
surface.setLines(points, 0, index);
|
|
92
|
-
}
|
|
93
|
-
// surface.close();
|
|
94
|
-
if (dataSet.drawFilledEnabled) {
|
|
95
|
-
const renderPaint = this.renderPaint;
|
|
96
|
-
const previousShader = renderPaint.getShader();
|
|
97
|
-
const shader = dataSet.fillShader;
|
|
98
|
-
if (shader) {
|
|
99
|
-
renderPaint.setShader(shader);
|
|
100
|
-
}
|
|
101
|
-
const drawable = dataSet.fillDrawable;
|
|
102
|
-
if (drawable) {
|
|
103
|
-
this.drawFilledPathBitmap(c, surface, drawable, dataSet.fillShader);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
this.drawFilledPath(c, surface, dataSet.fillColor, dataSet.fillAlpha);
|
|
107
|
-
}
|
|
108
|
-
renderPaint.setShader(previousShader);
|
|
109
|
-
}
|
|
110
|
-
// draw the line (only if filled is disabled or alpha is below 255)
|
|
111
|
-
const lineWidth = dataSet.lineWidth;
|
|
112
|
-
if ((!dataSet.drawFilledEnabled || dataSet.fillAlpha < 255) && lineWidth > 0) {
|
|
113
|
-
const renderPaint = this.renderPaint;
|
|
114
|
-
renderPaint.setColor(dataSet.getColor());
|
|
115
|
-
renderPaint.setStrokeWidth(lineWidth);
|
|
116
|
-
renderPaint.setStyle(Style.STROKE);
|
|
117
|
-
c.drawPath(surface, renderPaint);
|
|
118
|
-
}
|
|
119
|
-
// MPPointF.recycleInstance(center);
|
|
120
|
-
// MPPointF.recycleInstance(pOut);
|
|
121
|
-
}
|
|
122
|
-
drawValues(c) {
|
|
123
|
-
const chart = this.mChart;
|
|
124
|
-
const data = chart.data;
|
|
125
|
-
const dataSets = data.dataSets;
|
|
126
|
-
if (dataSets.some((d) => d.drawValuesEnabled || d.drawIconsEnabled) === false) {
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
const phaseX = this.animator.phaseX;
|
|
130
|
-
const phaseY = this.animator.phaseY;
|
|
131
|
-
const sliceangle = chart.sliceAngle;
|
|
132
|
-
// calculate the factor that is needed for transforming the value to
|
|
133
|
-
// pixels
|
|
134
|
-
const factor = chart.factor;
|
|
135
|
-
const center = chart.centerOffsets;
|
|
136
|
-
const pOut = { x: 0, y: 0 };
|
|
137
|
-
const pIcon = { x: 0, y: 0 };
|
|
138
|
-
const yoffset = 5;
|
|
139
|
-
const customRender = chart.customRenderer;
|
|
140
|
-
for (let i = 0; i < data.dataSetCount; i++) {
|
|
141
|
-
const dataSet = data.getDataSetByIndex(i);
|
|
142
|
-
if (!this.shouldDrawValues(dataSet) || dataSet.entryCount < 1)
|
|
143
|
-
continue;
|
|
144
|
-
const drawValues = dataSet.drawValuesEnabled;
|
|
145
|
-
const drawIcons = dataSet.drawIconsEnabled;
|
|
146
|
-
if (!drawValues && !drawIcons) {
|
|
147
|
-
continue;
|
|
148
|
-
}
|
|
149
|
-
const yProperty = dataSet.yProperty;
|
|
150
|
-
if (!this.shouldDrawValues(dataSet))
|
|
151
|
-
continue;
|
|
152
|
-
// apply the text-styling defined by the DataSet
|
|
153
|
-
this.applyValueTextStyle(dataSet);
|
|
154
|
-
const formatter = dataSet.valueFormatter;
|
|
155
|
-
const iconsOffset = dataSet.iconsOffset;
|
|
156
|
-
const valuesOffset = dataSet.valuesOffset;
|
|
157
|
-
const paint = this.valuePaint;
|
|
158
|
-
for (let j = 0; j < dataSet.entryCount; j++) {
|
|
159
|
-
const entry = dataSet.getEntryForIndex(j);
|
|
160
|
-
const yVal = entry[yProperty];
|
|
161
|
-
if (yVal === undefined || yVal === null) {
|
|
162
|
-
continue;
|
|
163
|
-
}
|
|
164
|
-
Utils.getPosition(center, (yVal - chart.yChartMin) * factor * phaseY, sliceangle * j * phaseX + chart.rotationAngle, pOut);
|
|
165
|
-
if (drawValues) {
|
|
166
|
-
this.drawValue(c, chart, dataSet, i, entry, j, (formatter.getRadarLabel || formatter.getFormattedValue).call(formatter, yVal, entry), pOut.x + valuesOffset.x, pOut.y + valuesOffset.y - yoffset, dataSet.getValueTextColor(j), paint, customRender);
|
|
167
|
-
}
|
|
168
|
-
if (drawIcons) {
|
|
169
|
-
Utils.getPosition(center, yVal * factor * phaseY + iconsOffset.y, sliceangle * j * phaseX + chart.rotationAngle, pIcon);
|
|
170
|
-
//noinspection SuspiciousNameCombination
|
|
171
|
-
pIcon.y += iconsOffset.x;
|
|
172
|
-
this.drawIcon(c, chart, dataSet, i, entry, j, dataSet.getEntryIcon(entry), pIcon.x, pIcon.y, customRender);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
// MPPointF.recycleInstance(iconsOffset);
|
|
176
|
-
}
|
|
177
|
-
// MPPointF.recycleInstance(center);
|
|
178
|
-
// MPPointF.recycleInstance(pOut);
|
|
179
|
-
// MPPointF.recycleInstance(pIcon);
|
|
180
|
-
}
|
|
181
|
-
drawExtras(c) {
|
|
182
|
-
this.drawWeb(c);
|
|
183
|
-
}
|
|
184
|
-
drawWeb(c) {
|
|
185
|
-
const sliceangle = this.mChart.sliceAngle;
|
|
186
|
-
// calculate the factor that is needed for transforming the value to
|
|
187
|
-
// pixels
|
|
188
|
-
const factor = this.mChart.factor;
|
|
189
|
-
const rotationangle = this.mChart.rotationAngle;
|
|
190
|
-
const center = this.mChart.centerOffsets;
|
|
191
|
-
// draw the web lines that come from the center
|
|
192
|
-
const lineWidth = this.mChart.webLineWidth;
|
|
193
|
-
if (lineWidth > 0) {
|
|
194
|
-
const paint = this.webPaint;
|
|
195
|
-
paint.setStrokeWidth(this.mChart.webLineWidth);
|
|
196
|
-
paint.setColor(this.mChart.webColor);
|
|
197
|
-
paint.setAlpha(this.mChart.webAlpha);
|
|
198
|
-
const xIncrements = 1 + this.mChart.skipWebLineCount;
|
|
199
|
-
const maxEntryCount = this.mChart.data.maxEntryCountSet.entryCount;
|
|
200
|
-
const p = { x: 0, y: 0 };
|
|
201
|
-
for (let i = 0; i < maxEntryCount; i += xIncrements) {
|
|
202
|
-
Utils.getPosition(center, this.mChart.yRange * factor, sliceangle * i + rotationangle, p);
|
|
203
|
-
c.drawLine(center.x, center.y, p.x, p.y, paint);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
// MPPointF.recycleInstance(p);
|
|
207
|
-
// draw the inner-web
|
|
208
|
-
const innerWidth = this.mChart.webLineWidthInner;
|
|
209
|
-
if (innerWidth > 0) {
|
|
210
|
-
const paint = this.webPaint;
|
|
211
|
-
paint.setStrokeWidth(this.mChart.webLineWidthInner);
|
|
212
|
-
paint.setColor(this.mChart.webColorInner);
|
|
213
|
-
paint.setAlpha(this.mChart.webAlpha);
|
|
214
|
-
const labelCount = this.mChart.yAxis.mEntryCount;
|
|
215
|
-
const p1out = { x: 0, y: 0 };
|
|
216
|
-
const p2out = { x: 0, y: 0 };
|
|
217
|
-
for (let j = 0; j < labelCount; j++) {
|
|
218
|
-
for (let i = 0; i < this.mChart.data.entryCount; i++) {
|
|
219
|
-
const r = (this.mChart.yAxis.mEntries[j] - this.mChart.yChartMin) * factor;
|
|
220
|
-
Utils.getPosition(center, r, sliceangle * i + rotationangle, p1out);
|
|
221
|
-
Utils.getPosition(center, r, sliceangle * (i + 1) + rotationangle, p2out);
|
|
222
|
-
c.drawLine(p1out.x, p1out.y, p2out.x, p2out.y, this.mWebPaint);
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
// MPPointF.recycleInstance(p1out);
|
|
227
|
-
// MPPointF.recycleInstance(p2out);
|
|
228
|
-
}
|
|
229
|
-
drawHighlighted(c, indices) {
|
|
230
|
-
const sliceangle = this.mChart.sliceAngle;
|
|
231
|
-
// calculate the factor that is needed for transforming the value to
|
|
232
|
-
// pixels
|
|
233
|
-
const factor = this.mChart.factor;
|
|
234
|
-
const center = this.mChart.centerOffsets;
|
|
235
|
-
const pOut = { x: 0, y: 0 };
|
|
236
|
-
const radarData = this.mChart.data;
|
|
237
|
-
for (const high of indices) {
|
|
238
|
-
const set = radarData.getDataSetByIndex(high.dataSetIndex);
|
|
239
|
-
const yProperty = set.yProperty;
|
|
240
|
-
if (!set || !set.highlightEnabled)
|
|
241
|
-
continue;
|
|
242
|
-
const e = set.getEntryForIndex(high.x);
|
|
243
|
-
if (!this.isInBoundsX(e, set))
|
|
244
|
-
continue;
|
|
245
|
-
const y = e[yProperty] - this.mChart.yChartMin;
|
|
246
|
-
Utils.getPosition(center, y * factor * this.animator.phaseY, sliceangle * high.x * this.animator.phaseX + this.mChart.rotationAngle, pOut);
|
|
247
|
-
high.drawX = pOut.x;
|
|
248
|
-
high.drawY = pOut.y;
|
|
249
|
-
// draw the lines
|
|
250
|
-
this.drawHighlightLines(c, pOut.x, pOut.y, set);
|
|
251
|
-
if (set.drawHighlightCircleEnabled) {
|
|
252
|
-
if (!isNaN(pOut.x) && !isNaN(pOut.y)) {
|
|
253
|
-
let strokeColor = set.highlightCircleStrokeColor;
|
|
254
|
-
if (strokeColor === ColorTemplate.COLOR_NONE) {
|
|
255
|
-
strokeColor = set.getColor(0);
|
|
256
|
-
}
|
|
257
|
-
if (set.highlightCircleStrokeAlpha < 255) {
|
|
258
|
-
strokeColor = ColorTemplate.colorWithAlpha(strokeColor instanceof Color ? strokeColor : new Color(strokeColor), set.highlightCircleStrokeAlpha);
|
|
259
|
-
}
|
|
260
|
-
this.drawHighlightCircle(c, pOut, set.highlightCircleInnerRadius, set.highlightCircleOuterRadius, set.highlightCircleFillColor, strokeColor, set.highlightCircleStrokeWidth);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
// MPPointF.recycleInstance(center);
|
|
265
|
-
// MPPointF.recycleInstance(pOut);
|
|
266
|
-
}
|
|
267
|
-
drawHighlightCircle(c, point, innerRadius, outerRadius, fillColor, strokeColor, strokeWidth) {
|
|
268
|
-
c.save();
|
|
269
|
-
const paint = Utils.getTempPaint();
|
|
270
|
-
if (fillColor && fillColor !== ColorTemplate.COLOR_NONE) {
|
|
271
|
-
const p = Utils.getTempPath();
|
|
272
|
-
p.reset();
|
|
273
|
-
p.addCircle(point.x, point.y, outerRadius, Direction.CW);
|
|
274
|
-
if (innerRadius > 0) {
|
|
275
|
-
p.addCircle(point.x, point.y, innerRadius, Direction.CCW);
|
|
276
|
-
}
|
|
277
|
-
paint.setColor(fillColor);
|
|
278
|
-
paint.setStyle(Style.FILL);
|
|
279
|
-
c.drawPath(p, paint);
|
|
280
|
-
}
|
|
281
|
-
if (strokeColor && strokeColor !== ColorTemplate.COLOR_NONE) {
|
|
282
|
-
paint.setColor(strokeColor);
|
|
283
|
-
paint.setStyle(Style.STROKE);
|
|
284
|
-
paint.setStrokeWidth(strokeWidth);
|
|
285
|
-
c.drawCircle(point.x, point.y, outerRadius, paint);
|
|
286
|
-
}
|
|
287
|
-
c.restore();
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
//# sourceMappingURL=RadarChartRenderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RadarChartRenderer.js","sourceRoot":"","sources":["../../../src/ui-chart/renderer/RadarChartRenderer.ts"],"names":[],"mappings":"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"}
|
package/renderer/Renderer.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ViewPortHandler } from '../utils/ViewPortHandler';
|
|
2
|
-
/**
|
|
3
|
-
* Abstract baseclass of all Renderers.
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
-
*/
|
|
7
|
-
export declare abstract class Renderer {
|
|
8
|
-
/**
|
|
9
|
-
* the component that handles the drawing area of the chart and it's offsets
|
|
10
|
-
*/
|
|
11
|
-
protected mViewPortHandler: ViewPortHandler;
|
|
12
|
-
constructor(viewPortHandler: ViewPortHandler);
|
|
13
|
-
}
|
package/renderer/Renderer.js
DELETED
package/renderer/Renderer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/ui-chart/renderer/Renderer.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,MAAM,OAAgB,QAAQ;IAM1B,YAAY,eAAgC;QACxC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC5C,CAAC;CACJ"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Canvas } from '@nativescript-community/ui-canvas';
|
|
2
|
-
import { ScatterChart } from '..';
|
|
3
|
-
import { ChartAnimator } from '../animation/ChartAnimator';
|
|
4
|
-
import { Highlight } from '../highlight/Highlight';
|
|
5
|
-
import { IScatterDataSet } from '../interfaces/datasets/IScatterDataSet';
|
|
6
|
-
import { ViewPortHandler } from '../utils/ViewPortHandler';
|
|
7
|
-
import { LineScatterCandleRadarRenderer } from './LineScatterCandleRadarRenderer';
|
|
8
|
-
export declare class ScatterChartRenderer extends LineScatterCandleRadarRenderer {
|
|
9
|
-
mChart: ScatterChart;
|
|
10
|
-
constructor(chart: ScatterChart, animator: ChartAnimator, viewPortHandler: ViewPortHandler);
|
|
11
|
-
drawData(c: Canvas): void;
|
|
12
|
-
protected drawDataSet(c: Canvas, dataSet: IScatterDataSet): void;
|
|
13
|
-
drawValues(c: Canvas): void;
|
|
14
|
-
drawExtras(c: Canvas): void;
|
|
15
|
-
drawHighlighted(c: Canvas, indices: Highlight[]): void;
|
|
16
|
-
}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { Trace } from '@nativescript/core';
|
|
2
|
-
import { CLog, CLogTypes, Utils } from '../utils/Utils';
|
|
3
|
-
import { LineScatterCandleRadarRenderer } from './LineScatterCandleRadarRenderer';
|
|
4
|
-
export class ScatterChartRenderer extends LineScatterCandleRadarRenderer {
|
|
5
|
-
constructor(chart, animator, viewPortHandler) {
|
|
6
|
-
super(animator, viewPortHandler);
|
|
7
|
-
this.mChart = chart;
|
|
8
|
-
}
|
|
9
|
-
drawData(c) {
|
|
10
|
-
const scatterData = this.mChart.scatterData;
|
|
11
|
-
for (const set of scatterData.dataSets) {
|
|
12
|
-
if (set.visible) {
|
|
13
|
-
this.drawDataSet(c, set);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
drawDataSet(c, dataSet) {
|
|
18
|
-
if (dataSet.entryCount < 1)
|
|
19
|
-
return;
|
|
20
|
-
const viewPortHandler = this.mViewPortHandler;
|
|
21
|
-
const trans = this.mChart.getTransformer(dataSet.axisDependency);
|
|
22
|
-
const phaseY = this.animator.phaseY;
|
|
23
|
-
const renderer = dataSet.shapeRenderer;
|
|
24
|
-
if (!renderer) {
|
|
25
|
-
if (Trace.isEnabled()) {
|
|
26
|
-
CLog(CLogTypes.warning, "There's no IShapeRenderer specified for ScatterDataSet");
|
|
27
|
-
}
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
const max = Math.min(Math.ceil(dataSet.entryCount * this.animator.phaseX), dataSet.entryCount);
|
|
31
|
-
const yKey = dataSet.yProperty;
|
|
32
|
-
const customRender = this.mChart.customRenderer;
|
|
33
|
-
const renderPaint = this.renderPaint;
|
|
34
|
-
const pixelBuffer = Utils.getTempArray(2);
|
|
35
|
-
const previousShader = renderPaint.getShader();
|
|
36
|
-
const shader = dataSet.fillShader;
|
|
37
|
-
if (shader) {
|
|
38
|
-
renderPaint.setShader(shader);
|
|
39
|
-
}
|
|
40
|
-
for (let i = 0; i < max; i++) {
|
|
41
|
-
const e = dataSet.getEntryForIndex(i);
|
|
42
|
-
const yVal = e[yKey];
|
|
43
|
-
if (yVal === undefined || yVal === null) {
|
|
44
|
-
continue;
|
|
45
|
-
}
|
|
46
|
-
pixelBuffer[0] = dataSet.getEntryXValue(e, i);
|
|
47
|
-
pixelBuffer[1] = e[yKey] * phaseY;
|
|
48
|
-
trans.pointValuesToPixel(pixelBuffer);
|
|
49
|
-
if (!viewPortHandler.isInBoundsRight(pixelBuffer[0]))
|
|
50
|
-
break;
|
|
51
|
-
if (!viewPortHandler.isInBoundsLeft(pixelBuffer[0]) || !viewPortHandler.isInBoundsY(pixelBuffer[1]))
|
|
52
|
-
continue;
|
|
53
|
-
renderPaint.setColor(dataSet.getColor(i / 2));
|
|
54
|
-
if (customRender && customRender.drawShape) {
|
|
55
|
-
customRender.drawShape(c, e, dataSet, this.mViewPortHandler, pixelBuffer[0], pixelBuffer[1], renderPaint);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
renderer.renderShape(c, dataSet, this.mViewPortHandler, pixelBuffer[0], pixelBuffer[1], renderPaint);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
renderPaint.setShader(previousShader);
|
|
62
|
-
}
|
|
63
|
-
drawValues(c) {
|
|
64
|
-
const chart = this.mChart;
|
|
65
|
-
const data = chart.scatterData;
|
|
66
|
-
const dataSets = data.dataSets;
|
|
67
|
-
if (!this.isDrawingValuesAllowed(chart) || dataSets.some((d) => d.drawValuesEnabled || d.drawIconsEnabled) === false) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
// if values are drawn
|
|
71
|
-
const customRender = chart.customRenderer;
|
|
72
|
-
for (let i = 0; i < chart.scatterData.dataSetCount; i++) {
|
|
73
|
-
const dataSet = dataSets[i];
|
|
74
|
-
const yKey = dataSet.yProperty;
|
|
75
|
-
if (!this.shouldDrawValues(dataSet) || dataSet.entryCount < 1)
|
|
76
|
-
continue;
|
|
77
|
-
// apply the text-styling defined by the DataSet
|
|
78
|
-
this.applyValueTextStyle(dataSet);
|
|
79
|
-
this.mXBounds.set(chart, dataSet, this.animator);
|
|
80
|
-
const { points, count } = chart
|
|
81
|
-
.getTransformer(dataSet.axisDependency)
|
|
82
|
-
.generateTransformedValuesScatter(dataSet, this.animator.phaseX, this.animator.phaseY, this.mXBounds.min, this.mXBounds.max);
|
|
83
|
-
const shapeSize = dataSet.scatterShapeSize;
|
|
84
|
-
const formatter = dataSet.valueFormatter;
|
|
85
|
-
const iconsOffset = dataSet.iconsOffset;
|
|
86
|
-
const valuesOffset = dataSet.valuesOffset;
|
|
87
|
-
const drawValues = dataSet.drawValuesEnabled;
|
|
88
|
-
const drawIcons = dataSet.drawIconsEnabled;
|
|
89
|
-
const paint = this.valuePaint;
|
|
90
|
-
for (let j = 0; j < count; j += 2) {
|
|
91
|
-
if (!this.mViewPortHandler.isInBoundsRight(points[j]))
|
|
92
|
-
break;
|
|
93
|
-
// make sure the lines don't do shitty things outside bounds
|
|
94
|
-
if (!this.mViewPortHandler.isInBoundsLeft(points[j]) || !this.mViewPortHandler.isInBoundsY(points[j + 1]))
|
|
95
|
-
continue;
|
|
96
|
-
const index = j / 2 + this.mXBounds.min;
|
|
97
|
-
const entry = dataSet.getEntryForIndex(index);
|
|
98
|
-
const yVal = entry[yKey];
|
|
99
|
-
if (yVal === undefined || yVal === null) {
|
|
100
|
-
continue;
|
|
101
|
-
}
|
|
102
|
-
if (drawValues) {
|
|
103
|
-
this.drawValue(c, chart, dataSet, i, entry, index, (formatter.getPointLabel || formatter.getFormattedValue).call(formatter, yVal, entry), points[j] + valuesOffset.x, points[j + 1] + valuesOffset.y - shapeSize, dataSet.getValueTextColor(j / 2 + this.mXBounds.min), paint, customRender);
|
|
104
|
-
}
|
|
105
|
-
if (drawIcons) {
|
|
106
|
-
this.drawIcon(c, chart, dataSet, i, entry, index, dataSet.getEntryIcon(entry), points[j] + iconsOffset.x, points[j + 1] + iconsOffset.y, customRender);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
drawExtras(c) { }
|
|
112
|
-
drawHighlighted(c, indices) {
|
|
113
|
-
const scatterData = this.mChart.scatterData;
|
|
114
|
-
let entry, index;
|
|
115
|
-
const customRender = this.mChart.customRenderer;
|
|
116
|
-
const paint = this.highlightPaint;
|
|
117
|
-
for (const high of indices) {
|
|
118
|
-
const set = scatterData.getDataSetByIndex(high.dataSetIndex);
|
|
119
|
-
const yKey = set.yProperty;
|
|
120
|
-
if (!set || !set.highlightEnabled)
|
|
121
|
-
continue;
|
|
122
|
-
if (high.entry) {
|
|
123
|
-
entry = high.entry;
|
|
124
|
-
index = high.entryIndex;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
const r = set.getEntryAndIndexForXValue(high.x, high.y);
|
|
128
|
-
entry = r.entry;
|
|
129
|
-
index = r.index;
|
|
130
|
-
}
|
|
131
|
-
if (!this.isInBoundsX(entry, set))
|
|
132
|
-
continue;
|
|
133
|
-
const pix = this.mChart.getTransformer(set.axisDependency).getPixelForValues(set.getEntryXValue(entry, index), entry[yKey] * this.animator.phaseY);
|
|
134
|
-
high.x = pix.x;
|
|
135
|
-
high.y = pix.y;
|
|
136
|
-
if (customRender && customRender.drawHighlight) {
|
|
137
|
-
customRender.drawHighlight(c, high, set, paint);
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
this.drawHighlightLines(c, pix.x, pix.y, set);
|
|
141
|
-
}
|
|
142
|
-
// draw the lines
|
|
143
|
-
this.drawHighlightLines(c, pix.x, pix.y, set);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=ScatterChartRenderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterChartRenderer.js","sourceRoot":"","sources":["../../../src/ui-chart/renderer/ScatterChartRenderer.ts"],"names":[],"mappings":"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"}
|