@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
package/utils/Utils.js
DELETED
|
@@ -1,653 +0,0 @@
|
|
|
1
|
-
import { arrayToNativeArray as arrayToNativeArrayFn, createArrayBuffer as createArrayBufferFn, createArrayBufferOrNativeArray as createArrayBufferOrNativeArrayFn, createNativeArray as createNativeArrayFn, nativeArrayToArray as nativeArrayToArrayFn, pointsFromBuffer as pointsFromBufferFn, supportsDirectArrayBuffers as supportsDirectArrayBuffersFn } from '@nativescript-community/arraybuffers';
|
|
2
|
-
import { Align, FontMetrics, LayoutAlignment, Matrix, Paint, Path, Rect, RectF, StaticLayout, Style } from '@nativescript-community/ui-canvas';
|
|
3
|
-
import { ObservableArray, Trace } from '@nativescript/core';
|
|
4
|
-
import { Screen } from '@nativescript/core/platform';
|
|
5
|
-
import { DefaultValueFormatter } from '../formatter/DefaultValueFormatter';
|
|
6
|
-
export const ChartTraceCategory = 'NativescriptChart';
|
|
7
|
-
export var CLogTypes;
|
|
8
|
-
(function (CLogTypes) {
|
|
9
|
-
CLogTypes[CLogTypes["log"] = 0] = "log";
|
|
10
|
-
CLogTypes[CLogTypes["info"] = 1] = "info";
|
|
11
|
-
CLogTypes[CLogTypes["warning"] = 2] = "warning";
|
|
12
|
-
CLogTypes[CLogTypes["error"] = 3] = "error";
|
|
13
|
-
})(CLogTypes || (CLogTypes = {}));
|
|
14
|
-
export const CLog = (type, ...args) => {
|
|
15
|
-
Trace.write(args.map((a) => (a && typeof a === 'object' ? JSON.stringify(a) : a)).join(' '), ChartTraceCategory, type);
|
|
16
|
-
};
|
|
17
|
-
let SDK_INT = -1;
|
|
18
|
-
function getSDK() {
|
|
19
|
-
if (SDK_INT === -1) {
|
|
20
|
-
SDK_INT = android.os.Build.VERSION.SDK_INT;
|
|
21
|
-
}
|
|
22
|
-
return SDK_INT;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Utilities class that has some helper methods. Needs to be initialized by
|
|
26
|
-
* calling Utils.init(...) before usage. Inside the Chart.init() method, this is
|
|
27
|
-
* done, if the Utils are used before that, Utils.init(...) needs to be called
|
|
28
|
-
* manually.
|
|
29
|
-
*
|
|
30
|
-
|
|
31
|
-
*/
|
|
32
|
-
export var Utils;
|
|
33
|
-
(function (Utils) {
|
|
34
|
-
// const mainScreen = screen.mainScreen;
|
|
35
|
-
Utils.density = Screen.mainScreen.scale;
|
|
36
|
-
// const mMetrics;
|
|
37
|
-
// const mMinimumFlingVelocity = 50;
|
|
38
|
-
// const mMaximumFlingVelocity = 8000;
|
|
39
|
-
// const DOUBLE_EPSILON = Number.EPSILON;
|
|
40
|
-
Utils.DEG2RAD = Math.PI / 180.0;
|
|
41
|
-
Utils.RAD2DEG = 180.0 / Math.PI;
|
|
42
|
-
Utils.NUMBER_EPSILON = Number.EPSILON;
|
|
43
|
-
const mDrawTextRectBuffer = new Rect(0, 0, 0, 0);
|
|
44
|
-
const mCalcTextHeightRect = new Rect(0, 0, 0, 0);
|
|
45
|
-
const mFontMetricsBuffer = new FontMetrics();
|
|
46
|
-
const mCalcTextSizeRect = new Rect(0, 0, 0, 0);
|
|
47
|
-
const mDefaultValueFormatter = generateDefaultValueFormatter();
|
|
48
|
-
/**
|
|
49
|
-
* Math.pow(...) is very expensive, so avoid calling it and create it
|
|
50
|
-
* yourself.
|
|
51
|
-
*/
|
|
52
|
-
const POW_10 = [1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000];
|
|
53
|
-
const EPSILON = Math.pow(2, -52);
|
|
54
|
-
const MAX_VALUE = (2 - EPSILON) * Math.pow(2, 1023);
|
|
55
|
-
const MIN_VALUE = Math.pow(2, -1022);
|
|
56
|
-
/**
|
|
57
|
-
* initialize method, called inside the Chart.init() method.
|
|
58
|
-
*
|
|
59
|
-
* @param context
|
|
60
|
-
*/
|
|
61
|
-
function init() { }
|
|
62
|
-
Utils.init = init;
|
|
63
|
-
/**
|
|
64
|
-
* This method converts dp unit to equivalent pixels, depending on device
|
|
65
|
-
* density. NEEDS UTILS TO BE INITIALIZED BEFORE USAGE.
|
|
66
|
-
*
|
|
67
|
-
* @param dp A value in dp (density independent pixels) unit. Which we need
|
|
68
|
-
* to convert into pixels
|
|
69
|
-
* @return A let value to represent px equivalent to dp depending on
|
|
70
|
-
* device density
|
|
71
|
-
*/
|
|
72
|
-
function convertDpToPixel(dp) {
|
|
73
|
-
return dp * Utils.density;
|
|
74
|
-
// return dp;
|
|
75
|
-
}
|
|
76
|
-
Utils.convertDpToPixel = convertDpToPixel;
|
|
77
|
-
/**
|
|
78
|
-
* This method converts device specific pixels to density independent
|
|
79
|
-
* pixels. NEEDS UTILS TO BE INITIALIZED BEFORE USAGE.
|
|
80
|
-
*
|
|
81
|
-
* @param px A value in px (pixels) unit. Which we need to convert into db
|
|
82
|
-
* @return A let value to represent dp equivalent to px value
|
|
83
|
-
*/
|
|
84
|
-
function convertPixelsToDp(px) {
|
|
85
|
-
return px;
|
|
86
|
-
// return px / density;
|
|
87
|
-
}
|
|
88
|
-
Utils.convertPixelsToDp = convertPixelsToDp;
|
|
89
|
-
/**
|
|
90
|
-
* calculates the approximate width of a text, depending on a demo text
|
|
91
|
-
* avoid repeated calls (e.g. inside drawing methods)
|
|
92
|
-
*
|
|
93
|
-
* @param paint
|
|
94
|
-
* @param demoText
|
|
95
|
-
* @return
|
|
96
|
-
*/
|
|
97
|
-
function calcTextWidth(paint, demoText) {
|
|
98
|
-
return paint.measureText(demoText);
|
|
99
|
-
}
|
|
100
|
-
Utils.calcTextWidth = calcTextWidth;
|
|
101
|
-
/**
|
|
102
|
-
* calculates the approximate height of a text, depending on a demo text
|
|
103
|
-
* avoid repeated calls (e.g. inside drawing methods)
|
|
104
|
-
*
|
|
105
|
-
* @param paint
|
|
106
|
-
* @param demoText
|
|
107
|
-
* @return
|
|
108
|
-
*/
|
|
109
|
-
function calcTextHeight(paint, demoText) {
|
|
110
|
-
mCalcTextHeightRect.set(0, 0, 0, 0);
|
|
111
|
-
paint.getTextBounds(demoText, 0, demoText.length, mCalcTextHeightRect);
|
|
112
|
-
return mCalcTextHeightRect.height();
|
|
113
|
-
}
|
|
114
|
-
Utils.calcTextHeight = calcTextHeight;
|
|
115
|
-
function getLineHeightFromMetrics(fontMetrics) {
|
|
116
|
-
return fontMetrics.descent - fontMetrics.ascent;
|
|
117
|
-
}
|
|
118
|
-
Utils.getLineHeightFromMetrics = getLineHeightFromMetrics;
|
|
119
|
-
function getLineHeight(paint, fontMetrics = mFontMetricsBuffer) {
|
|
120
|
-
paint.getFontMetrics(fontMetrics);
|
|
121
|
-
return getLineHeightFromMetrics(fontMetrics);
|
|
122
|
-
}
|
|
123
|
-
Utils.getLineHeight = getLineHeight;
|
|
124
|
-
function getLineSpacingFromMetrics(fontMetrics) {
|
|
125
|
-
return fontMetrics.ascent - fontMetrics.top + fontMetrics.bottom;
|
|
126
|
-
}
|
|
127
|
-
Utils.getLineSpacingFromMetrics = getLineSpacingFromMetrics;
|
|
128
|
-
function getLineSpacing(paint, fontMetrics = mFontMetricsBuffer) {
|
|
129
|
-
paint.getFontMetrics(fontMetrics);
|
|
130
|
-
return getLineSpacingFromMetrics(fontMetrics);
|
|
131
|
-
}
|
|
132
|
-
Utils.getLineSpacing = getLineSpacing;
|
|
133
|
-
/**
|
|
134
|
-
* calculates the approximate size of a text, depending on a demo text
|
|
135
|
-
* avoid repeated calls (e.g. inside drawing methods)
|
|
136
|
-
*
|
|
137
|
-
* @param paint
|
|
138
|
-
* @param demoText
|
|
139
|
-
* @param outputFSize An output variable, modified by the function.
|
|
140
|
-
*/
|
|
141
|
-
function calcTextSize(paint, demoText) {
|
|
142
|
-
const r = mCalcTextSizeRect;
|
|
143
|
-
r.set(0, 0, 0, 0);
|
|
144
|
-
paint.getTextBounds(demoText, 0, demoText.length, r);
|
|
145
|
-
return {
|
|
146
|
-
width: r.width(),
|
|
147
|
-
height: r.height()
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
Utils.calcTextSize = calcTextSize;
|
|
151
|
-
function generateDefaultValueFormatter() {
|
|
152
|
-
return new DefaultValueFormatter(1);
|
|
153
|
-
}
|
|
154
|
-
Utils.generateDefaultValueFormatter = generateDefaultValueFormatter;
|
|
155
|
-
/// - returns: The default value formatter used for all chart components that needs a default
|
|
156
|
-
function getDefaultValueFormatter() {
|
|
157
|
-
return mDefaultValueFormatter;
|
|
158
|
-
}
|
|
159
|
-
Utils.getDefaultValueFormatter = getDefaultValueFormatter;
|
|
160
|
-
/**
|
|
161
|
-
* Formats the given number to the given number of decimals, and returns the
|
|
162
|
-
* number as a string, maximum 35 characters.
|
|
163
|
-
*
|
|
164
|
-
* @param number
|
|
165
|
-
* @param digitCount
|
|
166
|
-
* @param separateThousands set this to true to separate thousands values
|
|
167
|
-
* @param separateChar a caracter to be paced between the "thousands"
|
|
168
|
-
* @return
|
|
169
|
-
*/
|
|
170
|
-
function formatNumber(number, digitCount, separateThousands, separateChar = '.') {
|
|
171
|
-
const out = [];
|
|
172
|
-
let neg = false;
|
|
173
|
-
if (number === 0) {
|
|
174
|
-
return '0';
|
|
175
|
-
}
|
|
176
|
-
let zero = false;
|
|
177
|
-
if (number < 1 && number > -1) {
|
|
178
|
-
zero = true;
|
|
179
|
-
}
|
|
180
|
-
if (number < 0) {
|
|
181
|
-
neg = true;
|
|
182
|
-
number = -number;
|
|
183
|
-
}
|
|
184
|
-
if (digitCount > POW_10.length) {
|
|
185
|
-
digitCount = POW_10.length - 1;
|
|
186
|
-
}
|
|
187
|
-
number *= POW_10[digitCount];
|
|
188
|
-
let lval = Math.round(number);
|
|
189
|
-
let ind = out.length - 1;
|
|
190
|
-
let charCount = 0;
|
|
191
|
-
let decimalPointAdded = false;
|
|
192
|
-
while (lval !== 0 || charCount < digitCount + 1) {
|
|
193
|
-
const digit = lval % 10;
|
|
194
|
-
lval = lval / 10;
|
|
195
|
-
out[ind--] = digit + '0';
|
|
196
|
-
charCount++;
|
|
197
|
-
// add decimal point
|
|
198
|
-
if (charCount === digitCount) {
|
|
199
|
-
out[ind--] = ',';
|
|
200
|
-
charCount++;
|
|
201
|
-
decimalPointAdded = true;
|
|
202
|
-
// add thousand separators
|
|
203
|
-
}
|
|
204
|
-
else if (separateThousands && lval !== 0 && charCount > digitCount) {
|
|
205
|
-
if (decimalPointAdded) {
|
|
206
|
-
if ((charCount - digitCount) % 4 === 0) {
|
|
207
|
-
out[ind--] = separateChar;
|
|
208
|
-
charCount++;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
else {
|
|
212
|
-
if ((charCount - digitCount) % 4 === 3) {
|
|
213
|
-
out[ind--] = separateChar;
|
|
214
|
-
charCount++;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
// if number around zero (between 1 and -1)
|
|
220
|
-
if (zero) {
|
|
221
|
-
out[ind--] = '0';
|
|
222
|
-
charCount += 1;
|
|
223
|
-
}
|
|
224
|
-
// if the number is negative
|
|
225
|
-
if (neg) {
|
|
226
|
-
out[ind--] = '-';
|
|
227
|
-
charCount += 1;
|
|
228
|
-
}
|
|
229
|
-
const start = out.length - charCount;
|
|
230
|
-
return out.slice(out.length - start).join('');
|
|
231
|
-
}
|
|
232
|
-
Utils.formatNumber = formatNumber;
|
|
233
|
-
/**
|
|
234
|
-
* rounds the given number to the next significant number
|
|
235
|
-
*
|
|
236
|
-
* @param number
|
|
237
|
-
* @return
|
|
238
|
-
*/
|
|
239
|
-
function roundToNextSignificant(number) {
|
|
240
|
-
if (!Number.isFinite(number) || isNaN(number) || number === 0.0)
|
|
241
|
-
return 0;
|
|
242
|
-
const d = Math.ceil(Math.log10(number < 0 ? -number : number));
|
|
243
|
-
const pw = 1 - d;
|
|
244
|
-
const magnitude = Math.pow(10, pw);
|
|
245
|
-
const shifted = Math.round(number * magnitude);
|
|
246
|
-
return shifted / magnitude;
|
|
247
|
-
}
|
|
248
|
-
Utils.roundToNextSignificant = roundToNextSignificant;
|
|
249
|
-
/**
|
|
250
|
-
* Returns the appropriate number of decimals to be used for the provided
|
|
251
|
-
* number.
|
|
252
|
-
*
|
|
253
|
-
* @param number
|
|
254
|
-
* @return
|
|
255
|
-
*/
|
|
256
|
-
function getDecimals(number) {
|
|
257
|
-
const i = roundToNextSignificant(number);
|
|
258
|
-
if (!Number.isFinite(i) || i === 0)
|
|
259
|
-
return 0;
|
|
260
|
-
return Math.ceil(-Math.log10(i)) + 2;
|
|
261
|
-
}
|
|
262
|
-
Utils.getDecimals = getDecimals;
|
|
263
|
-
/**
|
|
264
|
-
* Replacement for the Math.nextUp(...) method that is only available in
|
|
265
|
-
* HONEYCOMB and higher. Dat's some seeeeek sheeet.
|
|
266
|
-
*
|
|
267
|
-
* @param d
|
|
268
|
-
* @return
|
|
269
|
-
*/
|
|
270
|
-
function nextUp(x) {
|
|
271
|
-
if (x !== x) {
|
|
272
|
-
return x;
|
|
273
|
-
}
|
|
274
|
-
if (x === -1 / 0) {
|
|
275
|
-
return -MAX_VALUE;
|
|
276
|
-
}
|
|
277
|
-
if (x === +1 / 0) {
|
|
278
|
-
return +1 / 0;
|
|
279
|
-
}
|
|
280
|
-
if (x === +MAX_VALUE) {
|
|
281
|
-
return +1 / 0;
|
|
282
|
-
}
|
|
283
|
-
let y = x * (x < 0 ? 1 - EPSILON / 2 : 1 + EPSILON);
|
|
284
|
-
if (y === x) {
|
|
285
|
-
y = MIN_VALUE * EPSILON > 0 ? x + MIN_VALUE * EPSILON : x + MIN_VALUE;
|
|
286
|
-
}
|
|
287
|
-
if (y === +1 / 0) {
|
|
288
|
-
y = +MAX_VALUE;
|
|
289
|
-
}
|
|
290
|
-
const b = x + (y - x) / 2;
|
|
291
|
-
if (x < b && b < y) {
|
|
292
|
-
y = b;
|
|
293
|
-
}
|
|
294
|
-
const c = (y + x) / 2;
|
|
295
|
-
if (x < c && c < y) {
|
|
296
|
-
y = c;
|
|
297
|
-
}
|
|
298
|
-
return y === 0 ? -0 : y;
|
|
299
|
-
}
|
|
300
|
-
Utils.nextUp = nextUp;
|
|
301
|
-
function toRadians(degrees) {
|
|
302
|
-
const pi = Math.PI;
|
|
303
|
-
return degrees * (pi / 180);
|
|
304
|
-
}
|
|
305
|
-
Utils.toRadians = toRadians;
|
|
306
|
-
/**
|
|
307
|
-
* Returns a recyclable MPPointF instance.
|
|
308
|
-
* Calculates the position around a center point, depending on the distance
|
|
309
|
-
* from the center, and the angle of the position around the center.
|
|
310
|
-
*
|
|
311
|
-
* @param center
|
|
312
|
-
* @param dist
|
|
313
|
-
* @param angle in degrees, converted to radians internally
|
|
314
|
-
* @return
|
|
315
|
-
*/
|
|
316
|
-
function getPosition(center, dist, angle, outputPoint) {
|
|
317
|
-
if (outputPoint) {
|
|
318
|
-
outputPoint.x = center.x + dist * Math.cos(toRadians(angle));
|
|
319
|
-
outputPoint.y = center.y + dist * Math.sin(toRadians(angle));
|
|
320
|
-
return outputPoint;
|
|
321
|
-
}
|
|
322
|
-
return {
|
|
323
|
-
x: center.x + dist * Math.cos(toRadians(angle)),
|
|
324
|
-
y: center.y + dist * Math.sin(toRadians(angle))
|
|
325
|
-
};
|
|
326
|
-
}
|
|
327
|
-
Utils.getPosition = getPosition;
|
|
328
|
-
/**
|
|
329
|
-
* returns an angle between 0 < 360 (not less than zero, less than 360)
|
|
330
|
-
*/
|
|
331
|
-
function getNormalizedAngle(angle) {
|
|
332
|
-
while (angle < 0)
|
|
333
|
-
angle += 360;
|
|
334
|
-
return angle % 360;
|
|
335
|
-
}
|
|
336
|
-
Utils.getNormalizedAngle = getNormalizedAngle;
|
|
337
|
-
// const mDrawableBoundsCache = new Rect(0, 0, 0, 0);
|
|
338
|
-
// export function drawImage(canvas: Canvas, drawable: ImageSource, x, y, width, height) {
|
|
339
|
-
// const drawOffsetx = x - width / 2;
|
|
340
|
-
// const drawOffsety = y - height / 2;
|
|
341
|
-
// drawable.copyBounds(mDrawableBoundsCache);
|
|
342
|
-
// drawable.setBounds(this.mDrawableBoundsCache.left, this.mDrawableBoundsCache.top, this.mDrawableBoundsCache.left + width, this.mDrawableBoundsCache.top + width);
|
|
343
|
-
// canvas.save();
|
|
344
|
-
// // translate to the correct position and draw
|
|
345
|
-
// canvas.translate(drawOffsetx, drawOffsety);
|
|
346
|
-
// drawable.draw(canvas);
|
|
347
|
-
// canvas.restore();
|
|
348
|
-
// }
|
|
349
|
-
function drawXAxisValue(c, text, x, y, paint, anchor, angleDegrees) {
|
|
350
|
-
let drawOffsetX = 0;
|
|
351
|
-
let drawOffsetY = 0;
|
|
352
|
-
// Android does not snap the bounds to line boundaries,
|
|
353
|
-
// and draws from bottom to top.
|
|
354
|
-
// And we want to normalize it.
|
|
355
|
-
drawOffsetY += -mFontMetricsBuffer.ascent;
|
|
356
|
-
if (angleDegrees !== 0) {
|
|
357
|
-
const lineHeight = getLineHeightFromMetrics(mFontMetricsBuffer);
|
|
358
|
-
paint.getTextBounds(text, 0, text.length, mDrawTextRectBuffer);
|
|
359
|
-
// Move the text drawing rect in a way that it always rotates around its center
|
|
360
|
-
drawOffsetX -= mDrawTextRectBuffer.width() * 0.5;
|
|
361
|
-
drawOffsetY -= lineHeight * 0.5;
|
|
362
|
-
let translateX = x;
|
|
363
|
-
let translateY = y;
|
|
364
|
-
// Move the "outer" rect relative to the anchor, assuming its centered
|
|
365
|
-
if (anchor.x !== 0.5 || anchor.y !== 0.5) {
|
|
366
|
-
const rotatedSize = getSizeOfRotatedRectangleByDegrees(mDrawTextRectBuffer.width(), lineHeight, angleDegrees);
|
|
367
|
-
translateX -= rotatedSize.width * (anchor.x - 0.5);
|
|
368
|
-
translateY -= rotatedSize.height * (anchor.y - 0.5);
|
|
369
|
-
}
|
|
370
|
-
c.save();
|
|
371
|
-
c.translate(translateX, translateY);
|
|
372
|
-
c.rotate(angleDegrees);
|
|
373
|
-
c.drawText(text, drawOffsetX, drawOffsetY, paint);
|
|
374
|
-
c.restore();
|
|
375
|
-
}
|
|
376
|
-
else {
|
|
377
|
-
if (anchor.y !== 0) {
|
|
378
|
-
const lineHeight = getLineHeightFromMetrics(mFontMetricsBuffer);
|
|
379
|
-
drawOffsetY -= lineHeight * anchor.y;
|
|
380
|
-
}
|
|
381
|
-
drawOffsetX += x;
|
|
382
|
-
drawOffsetY += y;
|
|
383
|
-
c.drawText(text, drawOffsetX, drawOffsetY, paint);
|
|
384
|
-
}
|
|
385
|
-
// paint.setTextAlign(originalTextAlign);
|
|
386
|
-
}
|
|
387
|
-
Utils.drawXAxisValue = drawXAxisValue;
|
|
388
|
-
function drawMultilineText(c, textLayout, x, y, anchor, angleDegrees, lineHeight) {
|
|
389
|
-
let drawOffsetX = 0;
|
|
390
|
-
let drawOffsetY = 0;
|
|
391
|
-
const drawWidth = textLayout.getWidth();
|
|
392
|
-
const drawHeight = textLayout.getLineCount() * lineHeight;
|
|
393
|
-
// Android sometimes has pre-padding
|
|
394
|
-
drawOffsetX -= mDrawTextRectBuffer.left;
|
|
395
|
-
// Android does not snap the bounds to line boundaries,
|
|
396
|
-
// and draws from bottom to top.
|
|
397
|
-
// And we want to normalize it.
|
|
398
|
-
drawOffsetY += drawHeight;
|
|
399
|
-
// To have a consistent point of reference, we always draw left-aligned
|
|
400
|
-
// Paint.Align originalTextAlign = paint.getTextAlign();
|
|
401
|
-
// paint.setTextAlign(Paint.Align.LEFT);
|
|
402
|
-
if (angleDegrees !== 0) {
|
|
403
|
-
// Move the text drawing rect in a way that it always rotates around its center
|
|
404
|
-
drawOffsetX -= drawWidth * 0.5;
|
|
405
|
-
drawOffsetY -= drawHeight * 0.5;
|
|
406
|
-
let translateX = x;
|
|
407
|
-
let translateY = y;
|
|
408
|
-
// Move the "outer" rect relative to the anchor, assuming its centered
|
|
409
|
-
if (anchor.x !== 0.5 || anchor.y !== 0.5) {
|
|
410
|
-
const rotatedSize = getSizeOfRotatedRectangleByDegrees(drawWidth, drawHeight, angleDegrees);
|
|
411
|
-
translateX -= rotatedSize.width * (anchor.x - 0.5);
|
|
412
|
-
translateY -= rotatedSize.height * (anchor.y - 0.5);
|
|
413
|
-
// FSize.recycleInstance(rotatedSize);
|
|
414
|
-
}
|
|
415
|
-
c.save();
|
|
416
|
-
c.translate(translateX, translateY);
|
|
417
|
-
c.rotate(angleDegrees);
|
|
418
|
-
c.translate(drawOffsetX, drawOffsetY);
|
|
419
|
-
textLayout.draw(c);
|
|
420
|
-
c.restore();
|
|
421
|
-
}
|
|
422
|
-
else {
|
|
423
|
-
if (anchor.x !== 0 || anchor.y !== 0) {
|
|
424
|
-
drawOffsetX -= drawWidth * anchor.x;
|
|
425
|
-
drawOffsetY -= drawHeight * anchor.y;
|
|
426
|
-
}
|
|
427
|
-
drawOffsetX += x;
|
|
428
|
-
drawOffsetY += y;
|
|
429
|
-
c.save();
|
|
430
|
-
c.translate(drawOffsetX, drawOffsetY);
|
|
431
|
-
textLayout.draw(c);
|
|
432
|
-
c.restore();
|
|
433
|
-
}
|
|
434
|
-
// paint.setTextAlign(originalTextAlign);
|
|
435
|
-
}
|
|
436
|
-
Utils.drawMultilineText = drawMultilineText;
|
|
437
|
-
function drawMultilineTextConstrained(c, text, x, y, paint, constrainedToSize, anchor, angleDegrees, lineHeight) {
|
|
438
|
-
const textLayout = new StaticLayout(text, paint, Math.max(Math.ceil(constrainedToSize.width), 1), LayoutAlignment.ALIGN_NORMAL, 1, 0, false);
|
|
439
|
-
drawMultilineText(c, textLayout, x, y, anchor, angleDegrees, lineHeight);
|
|
440
|
-
}
|
|
441
|
-
Utils.drawMultilineTextConstrained = drawMultilineTextConstrained;
|
|
442
|
-
/**
|
|
443
|
-
* Returns a recyclable FSize instance.
|
|
444
|
-
* Represents size of a rotated rectangle by degrees.
|
|
445
|
-
*
|
|
446
|
-
* @param rectangleWidth
|
|
447
|
-
* @param rectangleHeight
|
|
448
|
-
* @param degrees
|
|
449
|
-
* @return A Recyclable FSize instance
|
|
450
|
-
*/
|
|
451
|
-
function getSizeOfRotatedRectangleByDegrees(rectangleWidth, rectangleHeight, degrees) {
|
|
452
|
-
const radians = degrees * Utils.DEG2RAD;
|
|
453
|
-
return getSizeOfRotatedRectangleByRadians(rectangleWidth, rectangleHeight, radians);
|
|
454
|
-
}
|
|
455
|
-
Utils.getSizeOfRotatedRectangleByDegrees = getSizeOfRotatedRectangleByDegrees;
|
|
456
|
-
/**
|
|
457
|
-
* Returns a recyclable FSize instance.
|
|
458
|
-
* Represents size of a rotated rectangle by radians.
|
|
459
|
-
*
|
|
460
|
-
* @param rectangleWidth
|
|
461
|
-
* @param rectangleHeight
|
|
462
|
-
* @param radians
|
|
463
|
-
* @return A Recyclable FSize instance
|
|
464
|
-
*/
|
|
465
|
-
function getSizeOfRotatedRectangleByRadians(rectangleWidth, rectangleHeight, radians) {
|
|
466
|
-
return {
|
|
467
|
-
width: Math.abs(rectangleWidth * Math.cos(radians)) + Math.abs(rectangleHeight * Math.sin(radians)),
|
|
468
|
-
height: Math.abs(rectangleWidth * Math.sin(radians)) + Math.abs(rectangleHeight * Math.cos(radians))
|
|
469
|
-
};
|
|
470
|
-
}
|
|
471
|
-
Utils.getSizeOfRotatedRectangleByRadians = getSizeOfRotatedRectangleByRadians;
|
|
472
|
-
Utils.supportsDirectArrayBuffers = supportsDirectArrayBuffersFn;
|
|
473
|
-
Utils.createArrayBuffer = createArrayBufferFn;
|
|
474
|
-
Utils.pointsFromBuffer = pointsFromBufferFn;
|
|
475
|
-
Utils.createArrayBufferOrNativeArray = createArrayBufferOrNativeArrayFn;
|
|
476
|
-
Utils.createNativeArray = createNativeArrayFn;
|
|
477
|
-
Utils.nativeArrayToArray = nativeArrayToArrayFn;
|
|
478
|
-
Utils.arrayToNativeArray = arrayToNativeArrayFn;
|
|
479
|
-
const mTempArrays = {};
|
|
480
|
-
function getTempArray(length, useInts = false, canReturnBuffer = true, optKey) {
|
|
481
|
-
let key = length + '' + useInts + '' + canReturnBuffer;
|
|
482
|
-
if (optKey) {
|
|
483
|
-
key += optKey;
|
|
484
|
-
}
|
|
485
|
-
if (mTempArrays[key]) {
|
|
486
|
-
return mTempArrays[key];
|
|
487
|
-
}
|
|
488
|
-
const buf = (mTempArrays[key] = Utils.createArrayBuffer(length, useInts, canReturnBuffer));
|
|
489
|
-
return buf;
|
|
490
|
-
}
|
|
491
|
-
Utils.getTempArray = getTempArray;
|
|
492
|
-
let mTempRectF;
|
|
493
|
-
function getTempRectF() {
|
|
494
|
-
if (!mTempRectF) {
|
|
495
|
-
mTempRectF = new RectF(0, 0, 0, 0);
|
|
496
|
-
}
|
|
497
|
-
return mTempRectF;
|
|
498
|
-
}
|
|
499
|
-
Utils.getTempRectF = getTempRectF;
|
|
500
|
-
let mTempRect;
|
|
501
|
-
function getTempRect() {
|
|
502
|
-
if (!mTempRect) {
|
|
503
|
-
mTempRect = new Rect(0, 0, 0, 0);
|
|
504
|
-
}
|
|
505
|
-
return mTempRect;
|
|
506
|
-
}
|
|
507
|
-
Utils.getTempRect = getTempRect;
|
|
508
|
-
let mTempPath;
|
|
509
|
-
function getTempPath() {
|
|
510
|
-
if (!mTempPath) {
|
|
511
|
-
mTempPath = new Path();
|
|
512
|
-
}
|
|
513
|
-
return mTempPath;
|
|
514
|
-
}
|
|
515
|
-
Utils.getTempPath = getTempPath;
|
|
516
|
-
let mTempMatrix;
|
|
517
|
-
function getTempMatrix() {
|
|
518
|
-
if (!mTempMatrix) {
|
|
519
|
-
mTempMatrix = new Matrix();
|
|
520
|
-
}
|
|
521
|
-
return mTempMatrix;
|
|
522
|
-
}
|
|
523
|
-
Utils.getTempMatrix = getTempMatrix;
|
|
524
|
-
let mTempPaint;
|
|
525
|
-
function getTempPaint() {
|
|
526
|
-
if (!mTempPaint) {
|
|
527
|
-
mTempPaint = new Paint();
|
|
528
|
-
}
|
|
529
|
-
return mTempPaint;
|
|
530
|
-
}
|
|
531
|
-
Utils.getTempPaint = getTempPaint;
|
|
532
|
-
const mTemplatePaints = {};
|
|
533
|
-
function getTemplatePaint(template) {
|
|
534
|
-
const cached = mTemplatePaints[template];
|
|
535
|
-
if (cached) {
|
|
536
|
-
return new Paint(cached);
|
|
537
|
-
}
|
|
538
|
-
let paint;
|
|
539
|
-
switch (template) {
|
|
540
|
-
case 'black-stroke': {
|
|
541
|
-
paint = new Paint();
|
|
542
|
-
paint.setStyle(Style.STROKE);
|
|
543
|
-
paint.setColor('black');
|
|
544
|
-
paint.setStrokeWidth(1);
|
|
545
|
-
break;
|
|
546
|
-
}
|
|
547
|
-
case 'gray-stroke': {
|
|
548
|
-
paint = getTemplatePaint('black-stroke');
|
|
549
|
-
paint.setColor('gray');
|
|
550
|
-
break;
|
|
551
|
-
}
|
|
552
|
-
case 'white-stroke': {
|
|
553
|
-
paint = getTemplatePaint('black-stroke');
|
|
554
|
-
paint.setColor('white');
|
|
555
|
-
break;
|
|
556
|
-
}
|
|
557
|
-
case 'black-fill': {
|
|
558
|
-
paint = new Paint();
|
|
559
|
-
paint.setColor('black');
|
|
560
|
-
paint.setStyle(Style.FILL);
|
|
561
|
-
break;
|
|
562
|
-
}
|
|
563
|
-
case 'white-fill': {
|
|
564
|
-
paint = getTemplatePaint('black-fill');
|
|
565
|
-
paint.setColor('white');
|
|
566
|
-
break;
|
|
567
|
-
}
|
|
568
|
-
case 'grid': {
|
|
569
|
-
paint = getTemplatePaint('black-stroke');
|
|
570
|
-
this.mGridPaint = new Paint();
|
|
571
|
-
paint.setColor('gray');
|
|
572
|
-
paint.setAlpha(90);
|
|
573
|
-
break;
|
|
574
|
-
}
|
|
575
|
-
case 'value': {
|
|
576
|
-
paint = new Paint();
|
|
577
|
-
paint.setColor('#3F3F3F');
|
|
578
|
-
paint.setTextAlign(Align.CENTER);
|
|
579
|
-
paint.setTextSize(9);
|
|
580
|
-
break;
|
|
581
|
-
}
|
|
582
|
-
}
|
|
583
|
-
mTemplatePaints[template] = paint;
|
|
584
|
-
return new Paint(paint);
|
|
585
|
-
}
|
|
586
|
-
Utils.getTemplatePaint = getTemplatePaint;
|
|
587
|
-
function clipPathSupported() {
|
|
588
|
-
if (__ANDROID__) {
|
|
589
|
-
return getSDK() >= 18;
|
|
590
|
-
}
|
|
591
|
-
return true;
|
|
592
|
-
}
|
|
593
|
-
Utils.clipPathSupported = clipPathSupported;
|
|
594
|
-
/**
|
|
595
|
-
* Calculates the sum across all values of the given array.
|
|
596
|
-
*
|
|
597
|
-
* @param values
|
|
598
|
-
* @return
|
|
599
|
-
*/
|
|
600
|
-
function calcSum(values) {
|
|
601
|
-
let sum = 0;
|
|
602
|
-
if (!values) {
|
|
603
|
-
return sum;
|
|
604
|
-
}
|
|
605
|
-
for (const f of values) {
|
|
606
|
-
sum += f;
|
|
607
|
-
}
|
|
608
|
-
return sum;
|
|
609
|
-
}
|
|
610
|
-
Utils.calcSum = calcSum;
|
|
611
|
-
/**
|
|
612
|
-
* Calculates the sum of positive numbers and negative numbers separately,
|
|
613
|
-
* across all values of the given array.
|
|
614
|
-
*
|
|
615
|
-
* @param values
|
|
616
|
-
* @return
|
|
617
|
-
*/
|
|
618
|
-
function calcPosNegSum(values) {
|
|
619
|
-
const sums = { pos: 0, neg: 0 };
|
|
620
|
-
if (!values) {
|
|
621
|
-
return sums;
|
|
622
|
-
}
|
|
623
|
-
const sumNeg = 0;
|
|
624
|
-
const sumPos = 0;
|
|
625
|
-
for (const f of values) {
|
|
626
|
-
if (f <= 0) {
|
|
627
|
-
sums.neg += Math.abs(f);
|
|
628
|
-
}
|
|
629
|
-
else {
|
|
630
|
-
sums.pos += f;
|
|
631
|
-
}
|
|
632
|
-
}
|
|
633
|
-
return sums;
|
|
634
|
-
}
|
|
635
|
-
Utils.calcPosNegSum = calcPosNegSum;
|
|
636
|
-
function calcSumToIndex(index, values, desc) {
|
|
637
|
-
if (!values)
|
|
638
|
-
return 0;
|
|
639
|
-
let remainder = 0;
|
|
640
|
-
let lastIndex = values.length - 1;
|
|
641
|
-
while (lastIndex > index && lastIndex >= 0) {
|
|
642
|
-
remainder += values[index];
|
|
643
|
-
lastIndex--;
|
|
644
|
-
}
|
|
645
|
-
return remainder;
|
|
646
|
-
}
|
|
647
|
-
Utils.calcSumToIndex = calcSumToIndex;
|
|
648
|
-
function getArrayItem(array, index) {
|
|
649
|
-
return array instanceof ObservableArray ? array.getItem(index) : array[index];
|
|
650
|
-
}
|
|
651
|
-
Utils.getArrayItem = getArrayItem;
|
|
652
|
-
})(Utils || (Utils = {}));
|
|
653
|
-
//# sourceMappingURL=Utils.js.map
|
package/utils/Utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/ui-chart/utils/Utils.ts"],"names":[],"mappings":"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"}
|