@nativescript-community/ui-chart 2.0.7 → 2.0.10
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/animation/ChartAnimator.d.ts +61 -0
- package/animation/ChartAnimator.js +95 -0
- package/animation/ChartAnimator.js.map +1 -0
- package/animation/Tween.d.ts +4 -0
- package/animation/Tween.js +25 -0
- package/animation/Tween.js.map +1 -0
- package/buffer/AbstractBuffer.d.ts +40 -0
- package/buffer/AbstractBuffer.js +49 -0
- package/buffer/AbstractBuffer.js.map +1 -0
- package/buffer/BarBuffer.d.ts +15 -0
- package/buffer/BarBuffer.js +109 -0
- package/buffer/BarBuffer.js.map +1 -0
- package/buffer/HorizontalBarBuffer.d.ts +6 -0
- package/buffer/HorizontalBarBuffer.js +81 -0
- package/buffer/HorizontalBarBuffer.js.map +1 -0
- package/charts/BarChart.d.ts +96 -0
- package/charts/BarChart.js +143 -0
- package/charts/BarChart.js.map +1 -0
- package/charts/BarLineChartBase.d.ts +583 -0
- package/charts/BarLineChartBase.js +1231 -0
- package/charts/BarLineChartBase.js.map +1 -0
- package/charts/BubbleChart.d.ts +27 -0
- package/charts/BubbleChart.js +20 -0
- package/charts/BubbleChart.js.map +1 -0
- package/charts/CandleStickChart.d.ts +29 -0
- package/charts/CandleStickChart.js +19 -0
- package/charts/CandleStickChart.js.map +1 -0
- package/charts/Chart.d.ts +498 -0
- package/charts/Chart.js +799 -0
- package/charts/Chart.js.map +1 -0
- package/charts/CombinedChart.d.ts +78 -0
- package/charts/CombinedChart.js +119 -0
- package/charts/CombinedChart.js.map +1 -0
- package/charts/HorizontalBarChart.d.ts +54 -0
- package/charts/HorizontalBarChart.js +180 -0
- package/charts/HorizontalBarChart.js.map +1 -0
- package/charts/LineChart.d.ts +20 -0
- package/charts/LineChart.js +19 -0
- package/charts/LineChart.js.map +1 -0
- package/charts/PieChart.d.ts +247 -0
- package/charts/PieChart.js +453 -0
- package/charts/PieChart.js.map +1 -0
- package/charts/PieRadarChartBase.d.ts +130 -0
- package/charts/PieRadarChartBase.js +360 -0
- package/charts/PieRadarChartBase.js.map +1 -0
- package/charts/RadarChart.d.ts +101 -0
- package/charts/RadarChart.js +172 -0
- package/charts/RadarChart.js.map +1 -0
- package/charts/ScatterChart.d.ts +36 -0
- package/charts/ScatterChart.js +31 -0
- package/charts/ScatterChart.js.map +1 -0
- package/charts/index.d.ts +9 -0
- package/charts/index.js +10 -0
- package/charts/index.js.map +1 -0
- package/components/AxisBase.d.ts +299 -0
- package/components/AxisBase.js +352 -0
- package/components/AxisBase.js.map +1 -0
- package/components/ComponentBase.d.ts +60 -0
- package/components/ComponentBase.js +77 -0
- package/components/ComponentBase.js.map +1 -0
- package/components/Description.d.ts +22 -0
- package/components/Description.js +21 -0
- package/components/Description.js.map +1 -0
- package/components/IMarker.d.ts +39 -0
- package/components/IMarker.js +2 -0
- package/components/IMarker.js.map +1 -0
- package/components/Legend.d.ts +198 -0
- package/components/Legend.js +386 -0
- package/components/Legend.js.map +1 -0
- package/components/LegendEntry.d.ts +50 -0
- package/components/LegendEntry.js +51 -0
- package/components/LegendEntry.js.map +1 -0
- package/components/LimitLine.d.ts +55 -0
- package/components/LimitLine.js +62 -0
- package/components/LimitLine.js.map +1 -0
- package/components/MarkerImage.d.ts +1 -0
- package/components/MarkerImage.js +97 -0
- package/components/MarkerImage.js.map +1 -0
- package/components/XAxis.d.ts +55 -0
- package/components/XAxis.js +59 -0
- package/components/XAxis.js.map +1 -0
- package/components/YAxis.d.ts +135 -0
- package/components/YAxis.js +205 -0
- package/components/YAxis.js.map +1 -0
- package/data/BarData.d.ts +39 -0
- package/data/BarData.js +126 -0
- package/data/BarData.js.map +1 -0
- package/data/BarDataSet.d.ts +47 -0
- package/data/BarDataSet.js +109 -0
- package/data/BarDataSet.js.map +1 -0
- package/data/BarEntry.d.ts +11 -0
- package/data/BarEntry.js +2 -0
- package/data/BarEntry.js.map +1 -0
- package/data/BarLineScatterCandleBubbleData.d.ts +10 -0
- package/data/BarLineScatterCandleBubbleData.js +9 -0
- package/data/BarLineScatterCandleBubbleData.js.map +1 -0
- package/data/BarLineScatterCandleBubbleDataSet.d.ts +17 -0
- package/data/BarLineScatterCandleBubbleDataSet.js +18 -0
- package/data/BarLineScatterCandleBubbleDataSet.js.map +1 -0
- package/data/BaseDataSet.d.ts +180 -0
- package/data/BaseDataSet.js +220 -0
- package/data/BaseDataSet.js.map +1 -0
- package/data/BaseEntry.d.ts +10 -0
- package/data/BaseEntry.js +2 -0
- package/data/BaseEntry.js.map +1 -0
- package/data/BubbleData.d.ts +12 -0
- package/data/BubbleData.js +15 -0
- package/data/BubbleData.js.map +1 -0
- package/data/BubbleDataSet.d.ts +18 -0
- package/data/BubbleDataSet.js +36 -0
- package/data/BubbleDataSet.js.map +1 -0
- package/data/BubbleEntry.d.ts +5 -0
- package/data/BubbleEntry.js +2 -0
- package/data/BubbleEntry.js.map +1 -0
- package/data/CandleData.d.ts +5 -0
- package/data/CandleData.js +4 -0
- package/data/CandleData.js.map +1 -0
- package/data/CandleDataSet.d.ts +76 -0
- package/data/CandleDataSet.js +116 -0
- package/data/CandleDataSet.js.map +1 -0
- package/data/CandleEntry.d.ts +11 -0
- package/data/CandleEntry.js +2 -0
- package/data/CandleEntry.js.map +1 -0
- package/data/ChartData.d.ts +320 -0
- package/data/ChartData.js +702 -0
- package/data/ChartData.js.map +1 -0
- package/data/CombinedData.d.ts +61 -0
- package/data/CombinedData.js +153 -0
- package/data/CombinedData.js.map +1 -0
- package/data/DataSet.d.ts +98 -0
- package/data/DataSet.js +424 -0
- package/data/DataSet.js.map +1 -0
- package/data/Entry.d.ts +3 -0
- package/data/Entry.js +2 -0
- package/data/Entry.js.map +1 -0
- package/data/LineData.d.ts +10 -0
- package/data/LineData.js +9 -0
- package/data/LineData.js.map +1 -0
- package/data/LineDataSet.d.ts +106 -0
- package/data/LineDataSet.js +148 -0
- package/data/LineDataSet.js.map +1 -0
- package/data/LineRadarDataSet.d.ts +32 -0
- package/data/LineRadarDataSet.js +29 -0
- package/data/LineRadarDataSet.js.map +1 -0
- package/data/LineScatterCandleRadarDataSet.d.ts +36 -0
- package/data/LineScatterCandleRadarDataSet.js +44 -0
- package/data/LineScatterCandleRadarDataSet.js.map +1 -0
- package/data/PieData.d.ts +39 -0
- package/data/PieData.js +55 -0
- package/data/PieData.js.map +1 -0
- package/data/PieDataSet.d.ts +52 -0
- package/data/PieDataSet.js +54 -0
- package/data/PieDataSet.js.map +1 -0
- package/data/PieEntry.d.ts +7 -0
- package/data/PieEntry.js +2 -0
- package/data/PieEntry.js.map +1 -0
- package/data/RadarData.d.ts +17 -0
- package/data/RadarData.js +15 -0
- package/data/RadarData.js.map +1 -0
- package/data/RadarDataSet.d.ts +14 -0
- package/data/RadarDataSet.js +20 -0
- package/data/RadarDataSet.js.map +1 -0
- package/data/RadarEntry.d.ts +3 -0
- package/data/RadarEntry.js +2 -0
- package/data/RadarEntry.js.map +1 -0
- package/data/ScatterData.d.ts +9 -0
- package/data/ScatterData.js +17 -0
- package/data/ScatterData.js.map +1 -0
- package/data/ScatterDataSet.d.ts +40 -0
- package/data/ScatterDataSet.js +61 -0
- package/data/ScatterDataSet.js.map +1 -0
- package/formatter/DefaultAxisValueFormatter.d.ts +23 -0
- package/formatter/DefaultAxisValueFormatter.js +30 -0
- package/formatter/DefaultAxisValueFormatter.js.map +1 -0
- package/formatter/DefaultFillFormatter.d.ts +6 -0
- package/formatter/DefaultFillFormatter.js +29 -0
- package/formatter/DefaultFillFormatter.js.map +1 -0
- package/formatter/DefaultValueFormatter.d.ts +3 -0
- package/formatter/DefaultValueFormatter.js +4 -0
- package/formatter/DefaultValueFormatter.js.map +1 -0
- package/formatter/IAxisValueFormatter.d.ts +23 -0
- package/formatter/IAxisValueFormatter.js +2 -0
- package/formatter/IAxisValueFormatter.js.map +1 -0
- package/formatter/IFillFormatter.d.ts +30 -0
- package/formatter/IFillFormatter.js +2 -0
- package/formatter/IFillFormatter.js.map +1 -0
- package/formatter/IValueFormatter.d.ts +25 -0
- package/formatter/IValueFormatter.js +2 -0
- package/formatter/IValueFormatter.js.map +1 -0
- package/formatter/ValueFormatter.d.ts +81 -0
- package/formatter/ValueFormatter.js +90 -0
- package/formatter/ValueFormatter.js.map +1 -0
- package/highlight/BarHighlighter.d.ts +33 -0
- package/highlight/BarHighlighter.js +89 -0
- package/highlight/BarHighlighter.js.map +1 -0
- package/highlight/ChartHighlighter.d.ts +102 -0
- package/highlight/ChartHighlighter.js +220 -0
- package/highlight/ChartHighlighter.js.map +1 -0
- package/highlight/CombinedHighlighter.d.ts +17 -0
- package/highlight/CombinedHighlighter.js +59 -0
- package/highlight/CombinedHighlighter.js.map +1 -0
- package/highlight/Highlight.d.ts +69 -0
- package/highlight/Highlight.js +8 -0
- package/highlight/Highlight.js.map +1 -0
- package/highlight/HorizontalBarHighlighter.d.ts +10 -0
- package/highlight/HorizontalBarHighlighter.js +54 -0
- package/highlight/HorizontalBarHighlighter.js.map +1 -0
- package/highlight/IHighlighter.d.ts +15 -0
- package/highlight/IHighlighter.js +2 -0
- package/highlight/IHighlighter.js.map +1 -0
- package/highlight/PieHighlighter.d.ts +9 -0
- package/highlight/PieHighlighter.js +21 -0
- package/highlight/PieHighlighter.js.map +1 -0
- package/highlight/PieRadarHighlighter.d.ts +25 -0
- package/highlight/PieRadarHighlighter.js +33 -0
- package/highlight/PieRadarHighlighter.js.map +1 -0
- package/highlight/RadarHighlighter.d.ts +20 -0
- package/highlight/RadarHighlighter.js +59 -0
- package/highlight/RadarHighlighter.js.map +1 -0
- package/index.d.ts +11 -0
- package/index.js +15 -0
- package/index.js.map +1 -0
- package/interfaces/dataprovider/BarDataProvider.d.ts +9 -0
- package/interfaces/dataprovider/BarLineScatterCandleBubbleDataProvider.d.ts +19 -0
- package/interfaces/dataprovider/BubbleDataProvider.d.ts +6 -0
- package/interfaces/dataprovider/CandleDataProvider.d.ts +6 -0
- package/interfaces/dataprovider/ChartInterface.d.ts +60 -0
- package/interfaces/dataprovider/CombinedDataProvider.d.ts +13 -0
- package/interfaces/dataprovider/LineDataProvider.d.ts +9 -0
- package/interfaces/dataprovider/ScatterDataProvider.d.ts +6 -0
- package/interfaces/datasets/IBarDataSet.d.ts +47 -0
- package/interfaces/datasets/IBarLineScatterCandleBubbleDataSet.d.ts +12 -0
- package/interfaces/datasets/IBubbleDataSet.d.ts +19 -0
- package/interfaces/datasets/ICandleDataSet.d.ts +81 -0
- package/interfaces/datasets/IDataSet.d.ts +385 -0
- package/interfaces/datasets/ILineDataSet.d.ts +67 -0
- package/interfaces/datasets/ILineRadarDataSet.d.ts +35 -0
- package/interfaces/datasets/ILineScatterCandleRadarDataSet.d.ts +32 -0
- package/interfaces/datasets/IPieDataSet.d.ts +49 -0
- package/interfaces/datasets/IRadarDataSet.d.ts +21 -0
- package/interfaces/datasets/IScatterDataSet.d.ts +37 -0
- package/jobs/AnimatedMoveViewJob.d.ts +15 -0
- package/jobs/AnimatedMoveViewJob.js +42 -0
- package/jobs/AnimatedMoveViewJob.js.map +1 -0
- package/jobs/AnimatedViewPortJob.d.ts +31 -0
- package/jobs/AnimatedViewPortJob.js +52 -0
- package/jobs/AnimatedViewPortJob.js.map +1 -0
- package/jobs/AnimatedZoomJob.d.ts +23 -0
- package/jobs/AnimatedZoomJob.js +63 -0
- package/jobs/AnimatedZoomJob.js.map +1 -0
- package/jobs/MoveViewJob.d.ts +14 -0
- package/jobs/MoveViewJob.js +36 -0
- package/jobs/MoveViewJob.js.map +1 -0
- package/jobs/ViewPortJob.d.ts +13 -0
- package/jobs/ViewPortJob.js +14 -0
- package/jobs/ViewPortJob.js.map +1 -0
- package/jobs/ZoomJob.d.ts +15 -0
- package/jobs/ZoomJob.js +48 -0
- package/jobs/ZoomJob.js.map +1 -0
- package/listener/BarLineChartTouchListener.d.ts +187 -0
- package/listener/BarLineChartTouchListener.js +544 -0
- package/listener/BarLineChartTouchListener.js.map +1 -0
- package/listener/ChartTouchListener.d.ts +69 -0
- package/listener/ChartTouchListener.js +81 -0
- package/listener/ChartTouchListener.js.map +1 -0
- package/listener/PieRadarChartTouchListener.d.ts +100 -0
- package/listener/PieRadarChartTouchListener.js +282 -0
- package/listener/PieRadarChartTouchListener.js.map +1 -0
- package/model/GradientColor.d.ts +9 -0
- package/model/GradientColor.js +19 -0
- package/model/GradientColor.js.map +1 -0
- package/package.json +2 -2
- package/renderer/AxisRenderer.d.ts +103 -0
- package/renderer/AxisRenderer.js +215 -0
- package/renderer/AxisRenderer.js.map +1 -0
- package/renderer/BarChartRenderer.d.ts +40 -0
- package/renderer/BarChartRenderer.js +362 -0
- package/renderer/BarChartRenderer.js.map +1 -0
- package/renderer/BarLineScatterCandleBubbleRenderer.d.ts +57 -0
- package/renderer/BarLineScatterCandleBubbleRenderer.js +63 -0
- package/renderer/BarLineScatterCandleBubbleRenderer.js.map +1 -0
- package/renderer/BubbleChartRenderer.d.ts +22 -0
- package/renderer/BubbleChartRenderer.js +204 -0
- package/renderer/BubbleChartRenderer.js.map +1 -0
- package/renderer/CandleStickChartRenderer.d.ts +18 -0
- package/renderer/CandleStickChartRenderer.js +268 -0
- package/renderer/CandleStickChartRenderer.js.map +1 -0
- package/renderer/CombinedChartRenderer.d.ts +40 -0
- package/renderer/CombinedChartRenderer.js +133 -0
- package/renderer/CombinedChartRenderer.js.map +1 -0
- package/renderer/DataRenderer.d.ts +103 -0
- package/renderer/DataRenderer.js +110 -0
- package/renderer/DataRenderer.js.map +1 -0
- package/renderer/HorizontalBarChartRenderer.d.ts +20 -0
- package/renderer/HorizontalBarChartRenderer.js +303 -0
- package/renderer/HorizontalBarChartRenderer.js.map +1 -0
- package/renderer/LegendRenderer.d.ts +54 -0
- package/renderer/LegendRenderer.js +336 -0
- package/renderer/LegendRenderer.js.map +1 -0
- package/renderer/LineChartRenderer.d.ts +100 -0
- package/renderer/LineChartRenderer.js +745 -0
- package/renderer/LineChartRenderer.js.map +1 -0
- package/renderer/LineRadarRenderer.d.ts +30 -0
- package/renderer/LineRadarRenderer.js +76 -0
- package/renderer/LineRadarRenderer.js.map +1 -0
- package/renderer/LineScatterCandleRadarRenderer.d.ts +20 -0
- package/renderer/LineScatterCandleRadarRenderer.js +45 -0
- package/renderer/LineScatterCandleRadarRenderer.js.map +1 -0
- package/renderer/PieChartRenderer.d.ts +86 -0
- package/renderer/PieChartRenderer.js +714 -0
- package/renderer/PieChartRenderer.js.map +1 -0
- package/renderer/RadarChartRenderer.d.ts +33 -0
- package/renderer/RadarChartRenderer.js +290 -0
- package/renderer/RadarChartRenderer.js.map +1 -0
- package/renderer/Renderer.d.ts +13 -0
- package/renderer/Renderer.js +11 -0
- package/renderer/Renderer.js.map +1 -0
- package/renderer/ScatterChartRenderer.d.ts +16 -0
- package/renderer/ScatterChartRenderer.js +147 -0
- package/renderer/ScatterChartRenderer.js.map +1 -0
- package/renderer/XAxisRenderer.d.ts +58 -0
- package/renderer/XAxisRenderer.js +458 -0
- package/renderer/XAxisRenderer.js.map +1 -0
- package/renderer/XAxisRendererHorizontalBarChart.d.ts +31 -0
- package/renderer/XAxisRendererHorizontalBarChart.js +264 -0
- package/renderer/XAxisRendererHorizontalBarChart.js.map +1 -0
- package/renderer/XAxisRendererRadarChart.d.ts +17 -0
- package/renderer/XAxisRendererRadarChart.js +51 -0
- package/renderer/XAxisRendererRadarChart.js.map +1 -0
- package/renderer/YAxisRenderer.d.ts +60 -0
- package/renderer/YAxisRenderer.js +379 -0
- package/renderer/YAxisRenderer.js.map +1 -0
- package/renderer/YAxisRendererHorizontalBarChart.d.ts +33 -0
- package/renderer/YAxisRendererHorizontalBarChart.js +258 -0
- package/renderer/YAxisRendererHorizontalBarChart.js.map +1 -0
- package/renderer/YAxisRendererRadarChart.d.ts +14 -0
- package/renderer/YAxisRendererRadarChart.js +180 -0
- package/renderer/YAxisRendererRadarChart.js.map +1 -0
- package/renderer/scatter/ChevronDownShapeRenderer.d.ts +11 -0
- package/renderer/scatter/ChevronDownShapeRenderer.js +15 -0
- package/renderer/scatter/ChevronDownShapeRenderer.js.map +1 -0
- package/renderer/scatter/ChevronUpShapeRenderer.d.ts +11 -0
- package/renderer/scatter/ChevronUpShapeRenderer.js +15 -0
- package/renderer/scatter/ChevronUpShapeRenderer.js.map +1 -0
- package/renderer/scatter/CircleShapeRenderer.d.ts +11 -0
- package/renderer/scatter/CircleShapeRenderer.js +31 -0
- package/renderer/scatter/CircleShapeRenderer.js.map +1 -0
- package/renderer/scatter/CrossShapeRenderer.d.ts +11 -0
- package/renderer/scatter/CrossShapeRenderer.js +15 -0
- package/renderer/scatter/CrossShapeRenderer.js.map +1 -0
- package/renderer/scatter/IShapeRenderer.d.ts +20 -0
- package/renderer/scatter/IShapeRenderer.js +2 -0
- package/renderer/scatter/IShapeRenderer.js.map +1 -0
- package/renderer/scatter/SquareShapeRenderer.d.ts +11 -0
- package/renderer/scatter/SquareShapeRenderer.js +31 -0
- package/renderer/scatter/SquareShapeRenderer.js.map +1 -0
- package/renderer/scatter/TriangleShapeRenderer.d.ts +12 -0
- package/renderer/scatter/TriangleShapeRenderer.js +43 -0
- package/renderer/scatter/TriangleShapeRenderer.js.map +1 -0
- package/renderer/scatter/XShapeRenderer.d.ts +11 -0
- package/renderer/scatter/XShapeRenderer.js +15 -0
- package/renderer/scatter/XShapeRenderer.js.map +1 -0
- package/utils/ColorTemplate.d.ts +34 -0
- package/utils/ColorTemplate.js +51 -0
- package/utils/ColorTemplate.js.map +1 -0
- package/utils/HorizontalViewPortHandler.d.ts +6 -0
- package/utils/HorizontalViewPortHandler.js +7 -0
- package/utils/HorizontalViewPortHandler.js.map +1 -0
- package/utils/MPPointD.d.ts +5 -0
- package/utils/MPPointF.d.ts +7 -0
- package/utils/MPSize.d.ts +7 -0
- package/utils/ObjectPool.d.ts +81 -0
- package/utils/ObjectPool.js +183 -0
- package/utils/ObjectPool.js.map +1 -0
- package/utils/Transformer.d.ts +175 -0
- package/utils/Transformer.js +356 -0
- package/utils/Transformer.js.map +1 -0
- package/utils/TransformerHorizontalBarChart.d.ts +14 -0
- package/utils/TransformerHorizontalBarChart.js +30 -0
- package/utils/TransformerHorizontalBarChart.js.map +1 -0
- package/utils/Utils.d.ts +203 -0
- package/utils/Utils.js +653 -0
- package/utils/Utils.js.map +1 -0
- package/utils/ViewPortHandler.d.ts +299 -0
- package/utils/ViewPortHandler.js +585 -0
- package/utils/ViewPortHandler.js.map +1 -0
- package/utils/colors/colorful.d.ts +1 -0
- package/utils/colors/colorful.js +2 -0
- package/utils/colors/colorful.js.map +1 -0
- package/utils/colors/joyful.d.ts +1 -0
- package/utils/colors/joyful.js +2 -0
- package/utils/colors/joyful.js.map +1 -0
- package/utils/colors/liberty.d.ts +1 -0
- package/utils/colors/liberty.js +2 -0
- package/utils/colors/liberty.js.map +1 -0
- package/utils/colors/material.d.ts +1 -0
- package/utils/colors/material.js +2 -0
- package/utils/colors/material.js.map +1 -0
- package/utils/colors/pastel.d.ts +1 -0
- package/utils/colors/pastel.js +2 -0
- package/utils/colors/pastel.js.map +1 -0
- package/utils/colors/vordiplom.d.ts +1 -0
- package/utils/colors/vordiplom.js +2 -0
- package/utils/colors/vordiplom.js.map +1 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { TypedArray } from '@nativescript-community/arraybuffers';
|
|
2
|
+
import { Canvas, Paint, RectF } from '@nativescript-community/ui-canvas';
|
|
3
|
+
import { LimitLine } from '../components/LimitLine';
|
|
4
|
+
import { XAxis } from '../components/XAxis';
|
|
5
|
+
import { MPPointF } from '../utils/MPPointF';
|
|
6
|
+
import { Transformer } from '../utils/Transformer';
|
|
7
|
+
import { ViewPortHandler } from '../utils/ViewPortHandler';
|
|
8
|
+
import { AxisRenderer, CustomRendererGridLineFunction, CustomRendererLabelFunction, CustomRendererLimitLineFunction } from './AxisRenderer';
|
|
9
|
+
export declare class XAxisRenderer extends AxisRenderer {
|
|
10
|
+
protected xAxis: XAxis;
|
|
11
|
+
protected mForceLongestLabelComputation: boolean;
|
|
12
|
+
protected mLabelsPositionsBuffer: TypedArray;
|
|
13
|
+
protected mRenderGridLinesBuffer: TypedArray;
|
|
14
|
+
constructor(viewPortHandler: ViewPortHandler, xAxis: XAxis, trans: Transformer);
|
|
15
|
+
protected createAxisLabelsPaint(): Paint;
|
|
16
|
+
getCurrentMinMax(min?: any, max?: any, inverted?: any): {
|
|
17
|
+
min: any;
|
|
18
|
+
max: any;
|
|
19
|
+
};
|
|
20
|
+
protected computeAxisValues(min: any, max: any): void;
|
|
21
|
+
protected computeSize(): void;
|
|
22
|
+
renderAxisLabels(c: Canvas): void;
|
|
23
|
+
renderAxisLine(c: Canvas): void;
|
|
24
|
+
/**
|
|
25
|
+
* draws the x-labels on the specified y-position
|
|
26
|
+
*
|
|
27
|
+
* @param pos
|
|
28
|
+
*/
|
|
29
|
+
protected drawLabels(c: Canvas, pos: any, anchor: MPPointF): void;
|
|
30
|
+
protected drawLabel(c: Canvas, formattedLabel: string, x: number, y: number, anchor: MPPointF, angleDegrees: number, paint: Paint, customRenderFunction?: CustomRendererLabelFunction): void;
|
|
31
|
+
/**
|
|
32
|
+
* Draw the mark tickets on the specified y-position
|
|
33
|
+
* @param c
|
|
34
|
+
* @param pos
|
|
35
|
+
* @param length
|
|
36
|
+
*/
|
|
37
|
+
protected drawMarkTick(c: Canvas, pos: any, ticklength: any): void;
|
|
38
|
+
renderGridLines(c: Canvas): void;
|
|
39
|
+
getGridClippingRect(): RectF;
|
|
40
|
+
/**
|
|
41
|
+
* Draws the grid line at the specified position using the provided path.
|
|
42
|
+
*
|
|
43
|
+
* @param c
|
|
44
|
+
* @param rect
|
|
45
|
+
* @param x
|
|
46
|
+
* @param y
|
|
47
|
+
* @param axisValue
|
|
48
|
+
*/
|
|
49
|
+
protected drawGridLine(c: Canvas, rect: RectF, x: any, y: any, axisValue: any, paint: Paint, customRendererFunc: CustomRendererGridLineFunction): void;
|
|
50
|
+
/**
|
|
51
|
+
* Draws the LimitLines associated with this axis to the screen.
|
|
52
|
+
*
|
|
53
|
+
* @param c
|
|
54
|
+
*/
|
|
55
|
+
renderLimitLines(c: Canvas): void;
|
|
56
|
+
renderLimitLineLine(c: Canvas, limitLine: LimitLine, rect: RectF, x: number, customRendererFunc?: CustomRendererLimitLineFunction): void;
|
|
57
|
+
renderLimitLineLabel(c: Canvas, limitLine: LimitLine, position: any, yOffset: any): void;
|
|
58
|
+
}
|
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
import { Align } from '@nativescript-community/ui-canvas';
|
|
2
|
+
import { LimitLabelPosition } from '../components/LimitLine';
|
|
3
|
+
import { XAxisPosition } from '../components/XAxis';
|
|
4
|
+
import { Utils } from '../utils/Utils';
|
|
5
|
+
import { AxisRenderer } from './AxisRenderer';
|
|
6
|
+
export class XAxisRenderer extends AxisRenderer {
|
|
7
|
+
constructor(viewPortHandler, xAxis, trans) {
|
|
8
|
+
super(viewPortHandler, trans, xAxis);
|
|
9
|
+
this.mForceLongestLabelComputation = true;
|
|
10
|
+
this.xAxis = xAxis;
|
|
11
|
+
}
|
|
12
|
+
createAxisLabelsPaint() {
|
|
13
|
+
const paint = super.createAxisLabelsPaint();
|
|
14
|
+
paint.setTextAlign(Align.CENTER);
|
|
15
|
+
return paint;
|
|
16
|
+
}
|
|
17
|
+
getCurrentMinMax(min, max, inverted) {
|
|
18
|
+
if (min === undefined || max === undefined || inverted === undefined) {
|
|
19
|
+
const axis = this.mAxis;
|
|
20
|
+
if (min === undefined) {
|
|
21
|
+
min = axis.axisMinimum;
|
|
22
|
+
}
|
|
23
|
+
if (max === undefined) {
|
|
24
|
+
max = axis.axisMaximum;
|
|
25
|
+
}
|
|
26
|
+
if (inverted === undefined) {
|
|
27
|
+
inverted = axis['isInverted'] ? axis['isInverted']() : false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const rect = this.mAxis.ignoreOffsets ? this.mViewPortHandler.chartRect : this.mViewPortHandler.contentRect;
|
|
31
|
+
if (rect.width() > 10 && !this.mViewPortHandler.isFullyZoomedOutX()) {
|
|
32
|
+
const p1 = this.transformer.getValuesByTouchPoint(rect.left, rect.top);
|
|
33
|
+
const p2 = this.transformer.getValuesByTouchPoint(rect.right, rect.top);
|
|
34
|
+
if (inverted) {
|
|
35
|
+
min = p2.x;
|
|
36
|
+
max = p1.x;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
min = p1.x;
|
|
40
|
+
max = p2.x;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return { min, max };
|
|
44
|
+
}
|
|
45
|
+
computeAxisValues(min, max) {
|
|
46
|
+
super.computeAxisValues(min, max);
|
|
47
|
+
this.computeSize();
|
|
48
|
+
}
|
|
49
|
+
computeSize() {
|
|
50
|
+
const axis = this.xAxis;
|
|
51
|
+
const rotation = axis.labelRotationAngle;
|
|
52
|
+
if (this.mForceLongestLabelComputation || rotation % 360 !== 0) {
|
|
53
|
+
const paint = this.axisLabelsPaint;
|
|
54
|
+
paint.setFont(axis.typeface);
|
|
55
|
+
const longest = axis.longestLabel;
|
|
56
|
+
const labelSize = Utils.calcTextSize(paint, longest);
|
|
57
|
+
const labelWidth = labelSize.width;
|
|
58
|
+
const labelHeight = Utils.calcTextHeight(paint, 'Q') + 2;
|
|
59
|
+
const labelRotatedSize = Utils.getSizeOfRotatedRectangleByDegrees(labelWidth, labelHeight, axis.labelRotationAngle);
|
|
60
|
+
axis.mLabelWidth = Math.round(labelWidth);
|
|
61
|
+
axis.mLabelHeight = Math.round(labelHeight);
|
|
62
|
+
axis.mLabelRotatedWidth = Math.round(labelRotatedSize.width);
|
|
63
|
+
axis.mLabelRotatedHeight = Math.round(labelRotatedSize.height);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
axis.mLabelWidth = 1;
|
|
67
|
+
axis.mLabelHeight = 1;
|
|
68
|
+
axis.mLabelRotatedWidth = 1;
|
|
69
|
+
axis.mLabelRotatedHeight = 1;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
renderAxisLabels(c) {
|
|
73
|
+
const axis = this.xAxis;
|
|
74
|
+
if (!axis.enabled || !axis.drawLabels)
|
|
75
|
+
return;
|
|
76
|
+
const yoffset = axis.yOffset;
|
|
77
|
+
const paint = this.axisLabelsPaint;
|
|
78
|
+
// we cant remove that line right now of the ascent wont be computed...
|
|
79
|
+
// TODO: refactor this
|
|
80
|
+
const labelLineHeight = Utils.getLineHeight(paint);
|
|
81
|
+
paint.setFont(axis.typeface);
|
|
82
|
+
paint.setTextAlign(axis.labelTextAlign);
|
|
83
|
+
paint.setColor(axis.textColor);
|
|
84
|
+
// const align = this.mAxisLabelPaint.getTextAlign();
|
|
85
|
+
// this.mAxisLabelPaint.setTextAlign(Align.CENTER);
|
|
86
|
+
// TODO: fix this the right way.
|
|
87
|
+
// for now Utils.drawXAxisValue needs the font ascent
|
|
88
|
+
// but it is not calculated all the time (in the lightest of cases)
|
|
89
|
+
// we call this next line to ensure it is
|
|
90
|
+
const rect = this.mAxis.ignoreOffsets ? this.mViewPortHandler.chartRect : this.mViewPortHandler.contentRect;
|
|
91
|
+
const pointF = { x: 0, y: 0 };
|
|
92
|
+
if (axis.position === XAxisPosition.TOP) {
|
|
93
|
+
pointF.x = 0.5;
|
|
94
|
+
pointF.y = 1.0;
|
|
95
|
+
this.drawLabels(c, rect.top - yoffset, pointF);
|
|
96
|
+
this.drawMarkTick(c, rect.top, -yoffset / 2);
|
|
97
|
+
}
|
|
98
|
+
else if (axis.position === XAxisPosition.TOP_INSIDE) {
|
|
99
|
+
pointF.x = 0.5;
|
|
100
|
+
pointF.y = 1.0;
|
|
101
|
+
this.drawLabels(c, rect.top + yoffset + axis.mLabelRotatedHeight, pointF);
|
|
102
|
+
this.drawMarkTick(c, rect.top, -yoffset / 2);
|
|
103
|
+
}
|
|
104
|
+
else if (axis.position === XAxisPosition.BOTTOM) {
|
|
105
|
+
pointF.x = 0.5;
|
|
106
|
+
pointF.y = 0.0;
|
|
107
|
+
this.drawLabels(c, rect.bottom + yoffset, pointF);
|
|
108
|
+
this.drawMarkTick(c, rect.bottom, +yoffset / 2);
|
|
109
|
+
}
|
|
110
|
+
else if (axis.position === XAxisPosition.BOTTOM_INSIDE) {
|
|
111
|
+
pointF.x = 0.5;
|
|
112
|
+
pointF.y = 0.0;
|
|
113
|
+
this.drawLabels(c, rect.bottom - yoffset - axis.mLabelRotatedHeight, pointF);
|
|
114
|
+
this.drawMarkTick(c, rect.bottom, +yoffset / 2);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// BOTH SIDED
|
|
118
|
+
pointF.x = 0.5;
|
|
119
|
+
pointF.y = 1.0;
|
|
120
|
+
this.drawLabels(c, rect.top - yoffset, pointF);
|
|
121
|
+
this.drawMarkTick(c, rect.top, -yoffset / 2);
|
|
122
|
+
pointF.x = 0.5;
|
|
123
|
+
pointF.y = 0.0;
|
|
124
|
+
this.drawLabels(c, rect.bottom + yoffset, pointF);
|
|
125
|
+
this.drawMarkTick(c, rect.bottom, +yoffset / 2);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
renderAxisLine(c) {
|
|
129
|
+
const axis = this.xAxis;
|
|
130
|
+
if (!axis.drawAxisLine || !axis.enabled || axis.axisLineWidth === 0 || axis.mEntryCount === 0)
|
|
131
|
+
return;
|
|
132
|
+
const paint = this.axisLinePaint;
|
|
133
|
+
paint.setColor(axis.axisLineColor);
|
|
134
|
+
paint.setStrokeWidth(axis.axisLineWidth);
|
|
135
|
+
paint.setPathEffect(axis.axisLineDashPathEffect);
|
|
136
|
+
const rect = this.mAxis.ignoreOffsets ? this.mViewPortHandler.chartRect : this.mViewPortHandler.contentRect;
|
|
137
|
+
if (axis.position === XAxisPosition.TOP || axis.position === XAxisPosition.TOP_INSIDE || axis.position === XAxisPosition.BOTH_SIDED) {
|
|
138
|
+
c.drawLine(rect.left, rect.top, rect.right, rect.top, paint);
|
|
139
|
+
}
|
|
140
|
+
if (axis.position === XAxisPosition.BOTTOM || axis.position === XAxisPosition.BOTTOM_INSIDE || axis.position === XAxisPosition.BOTH_SIDED) {
|
|
141
|
+
c.drawLine(rect.left, rect.bottom, rect.right, rect.bottom, paint);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* draws the x-labels on the specified y-position
|
|
146
|
+
*
|
|
147
|
+
* @param pos
|
|
148
|
+
*/
|
|
149
|
+
drawLabels(c, pos, anchor) {
|
|
150
|
+
const axis = this.xAxis;
|
|
151
|
+
const labelRotationAngleDegrees = axis.labelRotationAngle;
|
|
152
|
+
const centeringEnabled = axis.centerAxisLabels;
|
|
153
|
+
const entryCount = axis.mEntryCount;
|
|
154
|
+
if (entryCount <= 0) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
const customRender = axis.customRenderer;
|
|
158
|
+
const customRenderFunction = customRender && customRender.drawLabel;
|
|
159
|
+
const length = entryCount * 2;
|
|
160
|
+
if (!this.mLabelsPositionsBuffer || this.mLabelsPositionsBuffer.length !== length) {
|
|
161
|
+
this.mLabelsPositionsBuffer = Utils.createArrayBuffer(length);
|
|
162
|
+
}
|
|
163
|
+
const positionsBuffer = this.mLabelsPositionsBuffer;
|
|
164
|
+
for (let i = 0; i < length; i += 2) {
|
|
165
|
+
// only fill x values
|
|
166
|
+
if (centeringEnabled) {
|
|
167
|
+
positionsBuffer[i] = axis.mCenteredEntries[i / 2];
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
positionsBuffer[i] = axis.mEntries[i / 2];
|
|
171
|
+
}
|
|
172
|
+
if (i + 1 < length) {
|
|
173
|
+
positionsBuffer[i + 1] = 0;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
const positions = Utils.pointsFromBuffer(positionsBuffer);
|
|
177
|
+
this.transformer.pointValuesToPixel(positions);
|
|
178
|
+
const chartWidth = this.mViewPortHandler.chartWidth;
|
|
179
|
+
let offsetRight = 0;
|
|
180
|
+
let offsetLeft = 0;
|
|
181
|
+
if (this.mAxis.ignoreOffsets) {
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
offsetRight = this.mViewPortHandler.offsetRight;
|
|
185
|
+
offsetLeft = this.mViewPortHandler.offsetLeft;
|
|
186
|
+
}
|
|
187
|
+
const labels = axis.mLabels;
|
|
188
|
+
const paint = this.axisLabelsPaint;
|
|
189
|
+
for (let i = 0; i < length; i += 2) {
|
|
190
|
+
let x = positions[i];
|
|
191
|
+
if (this.mViewPortHandler.isInBoundsX(x)) {
|
|
192
|
+
const label = labels[i / 2];
|
|
193
|
+
if (!label) {
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
if (axis.avoidFirstLastClipping || axis.ensureVisible) {
|
|
197
|
+
// avoid clipping of the last
|
|
198
|
+
if (i / 2 === entryCount - 1 && entryCount > 1) {
|
|
199
|
+
const width = Utils.calcTextWidth(paint, label);
|
|
200
|
+
if (paint.getTextAlign() === Align.CENTER && width / 2 > offsetRight && x + width / 2 > chartWidth) {
|
|
201
|
+
x += chartWidth - x - width / 2;
|
|
202
|
+
}
|
|
203
|
+
else if (paint.getTextAlign() === Align.LEFT && width > offsetRight && x + width > chartWidth) {
|
|
204
|
+
x += chartWidth - x - width;
|
|
205
|
+
}
|
|
206
|
+
// avoid clipping of the first
|
|
207
|
+
}
|
|
208
|
+
else if (i === 0) {
|
|
209
|
+
const width = Utils.calcTextWidth(paint, label);
|
|
210
|
+
if (paint.getTextAlign() === Align.CENTER && width / 2 > offsetLeft && x < width / 2) {
|
|
211
|
+
x += x - width / 2;
|
|
212
|
+
}
|
|
213
|
+
else if (paint.getTextAlign() === Align.RIGHT && width > offsetLeft && x < width) {
|
|
214
|
+
x += x - width;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
this.drawLabel(c, label, x, pos, anchor, labelRotationAngleDegrees, paint, customRenderFunction);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
drawLabel(c, formattedLabel, x, y, anchor, angleDegrees, paint, customRenderFunction) {
|
|
223
|
+
if (customRenderFunction) {
|
|
224
|
+
customRenderFunction(c, this.xAxis, formattedLabel, x, y, paint, anchor, angleDegrees);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
Utils.drawXAxisValue(c, formattedLabel, x, y, paint, anchor, angleDegrees);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Draw the mark tickets on the specified y-position
|
|
232
|
+
* @param c
|
|
233
|
+
* @param pos
|
|
234
|
+
* @param length
|
|
235
|
+
*/
|
|
236
|
+
drawMarkTick(c, pos, ticklength) {
|
|
237
|
+
const axis = this.xAxis;
|
|
238
|
+
if (!axis.drawMarkTicks)
|
|
239
|
+
return;
|
|
240
|
+
const customRender = axis.customRenderer;
|
|
241
|
+
const customRenderFunction = customRender && customRender.drawMarkTick;
|
|
242
|
+
const length = this.mAxis.mEntryCount * 2;
|
|
243
|
+
if (!this.mRenderGridLinesBuffer || this.mRenderGridLinesBuffer.length !== length) {
|
|
244
|
+
this.mRenderGridLinesBuffer = Utils.createArrayBuffer(length);
|
|
245
|
+
}
|
|
246
|
+
const positionsBuffer = this.mRenderGridLinesBuffer;
|
|
247
|
+
for (let i = 0; i < length; i += 2) {
|
|
248
|
+
positionsBuffer[i] = axis.mEntries[i / 2];
|
|
249
|
+
if (i + 1 < length) {
|
|
250
|
+
positionsBuffer[i + 1] = 0;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
const points = Utils.pointsFromBuffer(positionsBuffer);
|
|
254
|
+
this.transformer.pointValuesToPixel(points);
|
|
255
|
+
const paint = this.axisLinePaint;
|
|
256
|
+
for (let i = 0; i < length; i += 2) {
|
|
257
|
+
const x = points[i];
|
|
258
|
+
if (customRenderFunction) {
|
|
259
|
+
customRenderFunction(c, this, x, pos, x, pos + ticklength, paint);
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
c.drawLine(x, pos, x, pos + ticklength, paint);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
renderGridLines(c) {
|
|
267
|
+
const axis = this.xAxis;
|
|
268
|
+
if (!axis.drawGridLines || !axis.enabled)
|
|
269
|
+
return;
|
|
270
|
+
const clipRestoreCount = c.save();
|
|
271
|
+
c.clipRect(this.getGridClippingRect());
|
|
272
|
+
const length = this.mAxis.mEntryCount * 2;
|
|
273
|
+
if (!this.mRenderGridLinesBuffer || this.mRenderGridLinesBuffer.length !== length) {
|
|
274
|
+
this.mRenderGridLinesBuffer = Utils.createArrayBuffer(length);
|
|
275
|
+
}
|
|
276
|
+
const positionsBuffer = this.mRenderGridLinesBuffer;
|
|
277
|
+
for (let i = 0; i < length; i += 2) {
|
|
278
|
+
positionsBuffer[i] = axis.mEntries[i / 2];
|
|
279
|
+
positionsBuffer[i + 1] = axis.mEntries[i / 2];
|
|
280
|
+
}
|
|
281
|
+
const positions = Utils.pointsFromBuffer(positionsBuffer);
|
|
282
|
+
this.transformer.pointValuesToPixel(positions);
|
|
283
|
+
const paint = this.gridPaint;
|
|
284
|
+
paint.setColor(this.xAxis.gridColor);
|
|
285
|
+
paint.setStrokeWidth(this.xAxis.gridLineWidth);
|
|
286
|
+
paint.setPathEffect(this.xAxis.gridDashPathEffect);
|
|
287
|
+
// const gridLinePath = this.mRenderGridLinesPath;
|
|
288
|
+
// gridLinePath.reset();
|
|
289
|
+
const customRender = axis.customRenderer;
|
|
290
|
+
const customRenderFunction = customRender && customRender.drawGridLine;
|
|
291
|
+
const rect = this.mAxis.ignoreOffsets ? this.mViewPortHandler.chartRect : this.mViewPortHandler.contentRect;
|
|
292
|
+
for (let i = 0; i < positions.length; i += 2) {
|
|
293
|
+
this.drawGridLine(c, rect, positions[i], positions[i + 1], axis.mEntries[i / 2], paint, customRenderFunction);
|
|
294
|
+
}
|
|
295
|
+
c.restoreToCount(clipRestoreCount);
|
|
296
|
+
}
|
|
297
|
+
getGridClippingRect() {
|
|
298
|
+
const rect = this.mAxis.ignoreOffsets ? this.mViewPortHandler.chartRect : this.mViewPortHandler.contentRect;
|
|
299
|
+
const gridClippingRect = Utils.getTempRectF();
|
|
300
|
+
gridClippingRect.set(rect);
|
|
301
|
+
gridClippingRect.inset(-this.mAxis.gridLineWidth, 0);
|
|
302
|
+
return gridClippingRect;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Draws the grid line at the specified position using the provided path.
|
|
306
|
+
*
|
|
307
|
+
* @param c
|
|
308
|
+
* @param rect
|
|
309
|
+
* @param x
|
|
310
|
+
* @param y
|
|
311
|
+
* @param axisValue
|
|
312
|
+
*/
|
|
313
|
+
drawGridLine(c, rect, x, y, axisValue, paint, customRendererFunc) {
|
|
314
|
+
if (customRendererFunc) {
|
|
315
|
+
customRendererFunc(c, this.mAxis, rect, x, y, axisValue, paint);
|
|
316
|
+
}
|
|
317
|
+
else {
|
|
318
|
+
c.drawLine(x, rect.bottom, x, rect.top, paint);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Draws the LimitLines associated with this axis to the screen.
|
|
323
|
+
*
|
|
324
|
+
* @param c
|
|
325
|
+
*/
|
|
326
|
+
renderLimitLines(c) {
|
|
327
|
+
const axis = this.xAxis;
|
|
328
|
+
if (!axis.drawLimitLines || !axis.enabled) {
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
const limitLines = axis.limitLines;
|
|
332
|
+
if (!limitLines || limitLines.length <= 0)
|
|
333
|
+
return;
|
|
334
|
+
const position = Utils.getTempArray(2);
|
|
335
|
+
position[0] = 0;
|
|
336
|
+
position[1] = 0;
|
|
337
|
+
const rect = axis.ignoreOffsets ? this.mViewPortHandler.chartRect : this.mViewPortHandler.contentRect;
|
|
338
|
+
const clipToContent = axis.clipLimitLinesToContent;
|
|
339
|
+
const customRender = axis.customRenderer;
|
|
340
|
+
const customRenderFunction = customRender && customRender.drawLimitLine;
|
|
341
|
+
for (let i = 0; i < limitLines.length; i++) {
|
|
342
|
+
const l = limitLines[i];
|
|
343
|
+
if (!l.enabled)
|
|
344
|
+
continue;
|
|
345
|
+
const lineWidth = l.lineWidth;
|
|
346
|
+
if (clipToContent) {
|
|
347
|
+
c.save();
|
|
348
|
+
const clipRect = Utils.getTempRectF();
|
|
349
|
+
clipRect.set(rect);
|
|
350
|
+
clipRect.inset(0, -lineWidth);
|
|
351
|
+
c.clipRect(clipRect);
|
|
352
|
+
}
|
|
353
|
+
position[0] = l.limit;
|
|
354
|
+
position[1] = 0;
|
|
355
|
+
this.transformer.pointValuesToPixel(position);
|
|
356
|
+
if (lineWidth > 0) {
|
|
357
|
+
this.renderLimitLineLine(c, l, rect, position[0], customRenderFunction);
|
|
358
|
+
}
|
|
359
|
+
this.renderLimitLineLabel(c, l, position, l.yOffset);
|
|
360
|
+
if (clipToContent) {
|
|
361
|
+
c.restore();
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
renderLimitLineLine(c, limitLine, rect, x, customRendererFunc) {
|
|
366
|
+
const paint = this.limitLinePaint;
|
|
367
|
+
paint.setColor(limitLine.lineColor);
|
|
368
|
+
paint.setStrokeWidth(limitLine.lineWidth);
|
|
369
|
+
paint.setPathEffect(limitLine.dashPathEffect);
|
|
370
|
+
if (customRendererFunc) {
|
|
371
|
+
customRendererFunc(c, this.mAxis, limitLine, rect, x, paint);
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
c.drawLine(x, rect.bottom, x, rect.top, paint);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
renderLimitLineLabel(c, limitLine, position, yOffset) {
|
|
378
|
+
const label = limitLine.label;
|
|
379
|
+
// if drawing the limit-value label is enabled
|
|
380
|
+
if (label && label !== '') {
|
|
381
|
+
const rect = this.mAxis.ignoreOffsets ? this.mViewPortHandler.chartRect : this.mViewPortHandler.contentRect;
|
|
382
|
+
const paint = this.limitLinePaint;
|
|
383
|
+
paint.setFont(limitLine.typeface);
|
|
384
|
+
paint.setStyle(limitLine.textStyle);
|
|
385
|
+
paint.setPathEffect(null);
|
|
386
|
+
paint.setColor(limitLine.textColor);
|
|
387
|
+
paint.setStrokeWidth(0.5);
|
|
388
|
+
const xOffset = limitLine.lineWidth + limitLine.xOffset;
|
|
389
|
+
const labelPosition = limitLine.labelPosition;
|
|
390
|
+
const needsSize = limitLine.ensureVisible || labelPosition === LimitLabelPosition.CENTER_TOP || labelPosition === LimitLabelPosition.RIGHT_TOP || labelPosition === LimitLabelPosition.LEFT_TOP;
|
|
391
|
+
let size;
|
|
392
|
+
if (needsSize) {
|
|
393
|
+
size = Utils.calcTextSize(paint, label);
|
|
394
|
+
}
|
|
395
|
+
switch (labelPosition) {
|
|
396
|
+
case LimitLabelPosition.CENTER_TOP: {
|
|
397
|
+
paint.setTextAlign(Align.CENTER);
|
|
398
|
+
let x = position[0];
|
|
399
|
+
if (limitLine.ensureVisible) {
|
|
400
|
+
x = Math.max(size.width / 2, Math.min(rect.right - size.width / 2, x));
|
|
401
|
+
}
|
|
402
|
+
c.drawText(label, x, rect.top + yOffset + size.height, paint);
|
|
403
|
+
break;
|
|
404
|
+
}
|
|
405
|
+
case LimitLabelPosition.CENTER_BOTTOM: {
|
|
406
|
+
paint.setTextAlign(Align.CENTER);
|
|
407
|
+
let x = position[0];
|
|
408
|
+
if (limitLine.ensureVisible) {
|
|
409
|
+
x = Math.max(size.width / 2, Math.min(rect.right - size.width / 2, x));
|
|
410
|
+
}
|
|
411
|
+
c.drawText(label, x, rect.bottom - yOffset, paint);
|
|
412
|
+
break;
|
|
413
|
+
}
|
|
414
|
+
case LimitLabelPosition.RIGHT_TOP: {
|
|
415
|
+
paint.setTextAlign(Align.LEFT);
|
|
416
|
+
let x = position[0] + xOffset;
|
|
417
|
+
if (limitLine.ensureVisible && x > rect.right - size.width) {
|
|
418
|
+
x = position[0] - xOffset;
|
|
419
|
+
paint.setTextAlign(Align.RIGHT);
|
|
420
|
+
}
|
|
421
|
+
c.drawText(label, x, rect.top + yOffset + size.height, paint);
|
|
422
|
+
break;
|
|
423
|
+
}
|
|
424
|
+
case LimitLabelPosition.RIGHT_BOTTOM: {
|
|
425
|
+
paint.setTextAlign(Align.LEFT);
|
|
426
|
+
let x = position[0] + xOffset;
|
|
427
|
+
if (limitLine.ensureVisible && x > rect.right - size.width) {
|
|
428
|
+
x = position[0] - xOffset;
|
|
429
|
+
paint.setTextAlign(Align.RIGHT);
|
|
430
|
+
}
|
|
431
|
+
c.drawText(label, x, rect.bottom - yOffset, paint);
|
|
432
|
+
break;
|
|
433
|
+
}
|
|
434
|
+
case LimitLabelPosition.LEFT_TOP: {
|
|
435
|
+
paint.setTextAlign(Align.RIGHT);
|
|
436
|
+
let x = position[0] - xOffset;
|
|
437
|
+
if (limitLine.ensureVisible && x < size.width) {
|
|
438
|
+
x = position[0] + xOffset;
|
|
439
|
+
paint.setTextAlign(Align.LEFT);
|
|
440
|
+
}
|
|
441
|
+
c.drawText(label, x, rect.top + yOffset + size.height, paint);
|
|
442
|
+
break;
|
|
443
|
+
}
|
|
444
|
+
case LimitLabelPosition.LEFT_BOTTOM: {
|
|
445
|
+
paint.setTextAlign(Align.RIGHT);
|
|
446
|
+
let x = position[0] - xOffset;
|
|
447
|
+
if (limitLine.ensureVisible && x < size.width) {
|
|
448
|
+
x = position[0] + xOffset;
|
|
449
|
+
paint.setTextAlign(Align.LEFT);
|
|
450
|
+
}
|
|
451
|
+
c.drawText(label, x, rect.bottom - yOffset, paint);
|
|
452
|
+
break;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
//# sourceMappingURL=XAxisRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XAxisRenderer.js","sourceRoot":"","sources":["../../../src/ui-chart/renderer/XAxisRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Canvas, Paint, RectF } from '@nativescript-community/ui-canvas';
|
|
2
|
+
import { BarChart } from '../charts/BarChart';
|
|
3
|
+
import { XAxis } from '../components/XAxis';
|
|
4
|
+
import { MPPointF } from '../utils/MPPointF';
|
|
5
|
+
import { Transformer } from '../utils/Transformer';
|
|
6
|
+
import { ViewPortHandler } from '../utils/ViewPortHandler';
|
|
7
|
+
import { CustomRendererGridLineFunction } from './AxisRenderer';
|
|
8
|
+
import { XAxisRenderer } from './XAxisRenderer';
|
|
9
|
+
export declare class XAxisRendererHorizontalBarChart extends XAxisRenderer {
|
|
10
|
+
protected mChart: BarChart;
|
|
11
|
+
mForceLongestLabelComputation: boolean;
|
|
12
|
+
constructor(viewPortHandler: ViewPortHandler, xAxis: XAxis, trans: Transformer, chart: BarChart);
|
|
13
|
+
computeAxis(min: any, max: any, inverted: any): void;
|
|
14
|
+
protected computeSize(): void;
|
|
15
|
+
renderAxisLabels(c: Canvas): void;
|
|
16
|
+
/**
|
|
17
|
+
* Draws the x-labels on the specified y-position.
|
|
18
|
+
*
|
|
19
|
+
* @param pos
|
|
20
|
+
*/
|
|
21
|
+
protected drawLabels(c: Canvas, pos: any, anchor: MPPointF): void;
|
|
22
|
+
protected drawGridLine(c: Canvas, rect: RectF, x: any, y: any, axisValue: any, paint: Paint, customRendererFunc: CustomRendererGridLineFunction): void;
|
|
23
|
+
renderAxisLine(c: Canvas): void;
|
|
24
|
+
/**
|
|
25
|
+
* Draws the LimitLines associated with this axis to the screen.
|
|
26
|
+
* This is the standard YAxis renderer using the XAxis limit lines.
|
|
27
|
+
*
|
|
28
|
+
* @param c
|
|
29
|
+
*/
|
|
30
|
+
renderLimitLines(c: Canvas): void;
|
|
31
|
+
}
|