@nativescript-community/ui-chart 1.2.22 → 1.2.24

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.
Files changed (76) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/animation/ChartAnimator.js +2 -2
  3. package/animation/ChartAnimator.js.map +1 -1
  4. package/animation/ChartAnimator2.d.ts +18 -0
  5. package/animation/ChartAnimator2.js +69 -0
  6. package/animation/ChartAnimator2.js.map +1 -0
  7. package/charts/BarLineChartBase.d.ts +1 -0
  8. package/charts/BarLineChartBase.js +4 -0
  9. package/charts/BarLineChartBase.js.map +1 -1
  10. package/charts/Chart.js +3 -3
  11. package/charts/Chart.js.map +1 -1
  12. package/charts/CombinedChart.js +5 -10
  13. package/charts/CombinedChart.js.map +1 -1
  14. package/components/XAxis.js +1 -1
  15. package/components/XAxis.js.map +1 -1
  16. package/data/ChartData.js +1 -2
  17. package/data/ChartData.js.map +1 -1
  18. package/data/PieData.js +1 -2
  19. package/data/PieData.js.map +1 -1
  20. package/highlight/ChartHighlighter.js +8 -7
  21. package/highlight/ChartHighlighter.js.map +1 -1
  22. package/highlight/PieHighlighter.js +1 -1
  23. package/interfaces/dataprovider/BarDataProvider.d.ts +9 -0
  24. package/interfaces/dataprovider/BarLineScatterCandleBubbleDataProvider.d.ts +14 -0
  25. package/interfaces/dataprovider/BubbleDataProvider.d.ts +6 -0
  26. package/interfaces/dataprovider/CandleDataProvider.d.ts +6 -0
  27. package/interfaces/dataprovider/ChartInterface.d.ts +65 -0
  28. package/interfaces/dataprovider/CombinedDataProvider.d.ts +13 -0
  29. package/interfaces/dataprovider/LineDataProvider.d.ts +9 -0
  30. package/interfaces/dataprovider/ScatterDataProvider.d.ts +6 -0
  31. package/interfaces/datasets/IBarDataSet.d.ts +61 -0
  32. package/interfaces/datasets/IBarLineScatterCandleBubbleDataSet.d.ts +14 -0
  33. package/interfaces/datasets/IBubbleDataSet.d.ts +25 -0
  34. package/interfaces/datasets/ICandleDataSet.d.ts +78 -0
  35. package/interfaces/datasets/IDataSet.d.ts +501 -0
  36. package/interfaces/datasets/ILineDataSet.d.ts +106 -0
  37. package/interfaces/datasets/ILineRadarDataSet.d.ts +56 -0
  38. package/interfaces/datasets/ILineScatterCandleRadarDataSet.d.ts +31 -0
  39. package/interfaces/datasets/IPieDataSet.d.ts +67 -0
  40. package/interfaces/datasets/IRadarDataSet.d.ts +27 -0
  41. package/interfaces/datasets/IScatterDataSet.d.ts +36 -0
  42. package/listener/BarLineChartTouchListener.d.ts +0 -4
  43. package/listener/BarLineChartTouchListener.js +32 -16
  44. package/listener/BarLineChartTouchListener.js.map +1 -1
  45. package/listener/ChartTouchListener.js.map +1 -1
  46. package/package.json +2 -2
  47. package/renderer/AxisRenderer.d.ts +8 -0
  48. package/renderer/AxisRenderer.js +23 -7
  49. package/renderer/AxisRenderer.js.map +1 -1
  50. package/renderer/CandleStickChartRenderer.js +2 -2
  51. package/renderer/CandleStickChartRenderer.js.map +1 -1
  52. package/renderer/LegendRenderer.js +3 -2
  53. package/renderer/LegendRenderer.js.map +1 -1
  54. package/renderer/LineChartRenderer.js +4 -4
  55. package/renderer/LineChartRenderer.js.map +1 -1
  56. package/renderer/PieChartRenderer.js +1 -1
  57. package/renderer/PieChartRenderer.js.map +1 -1
  58. package/renderer/RadarChartRenderer.js +1 -1
  59. package/renderer/RadarChartRenderer.js.map +1 -1
  60. package/renderer/XAxisRenderer.d.ts +6 -3
  61. package/renderer/XAxisRenderer.js +46 -15
  62. package/renderer/XAxisRenderer.js.map +1 -1
  63. package/utils/Curve.d.ts +12 -0
  64. package/utils/Curve.js +156 -0
  65. package/utils/Curve.js.map +1 -0
  66. package/utils/MPPointD.d.ts +5 -0
  67. package/utils/MPPointD.js +1 -0
  68. package/utils/MPPointD.js.map +1 -0
  69. package/utils/MPPointF.d.ts +7 -0
  70. package/utils/MPPointF.js +1 -0
  71. package/utils/MPPointF.js.map +1 -0
  72. package/utils/Transformer.js +2 -2
  73. package/utils/Transformer.js.map +1 -1
  74. package/utils/Utils.d.ts +2 -0
  75. package/utils/Utils.js +14 -6
  76. package/utils/Utils.js.map +1 -1
@@ -15,7 +15,19 @@ export class XAxisRenderer extends AxisRenderer {
15
15
  paint.setTextAlign(Align.CENTER);
16
16
  return paint;
17
17
  }
18
- computeAxis(min, max, inverted) {
18
+ getCurrentMinMax(min, max, inverted) {
19
+ if (min === undefined || max === undefined || inverted === undefined) {
20
+ const axis = this.mAxis;
21
+ if (min === undefined) {
22
+ min = axis.mAxisMinimum;
23
+ }
24
+ if (max === undefined) {
25
+ max = axis.mAxisMaximum;
26
+ }
27
+ if (inverted === undefined) {
28
+ inverted = axis['isInverted'] ? axis['isInverted']() : false;
29
+ }
30
+ }
19
31
  const rect = this.mAxis.isIgnoringOffsets() ? this.mViewPortHandler.getChartRect() : this.mViewPortHandler.getContentRect();
20
32
  if (rect.width() > 10 && !this.mViewPortHandler.isFullyZoomedOutX()) {
21
33
  const p1 = this.mTrans.getValuesByTouchPoint(rect.left, rect.top);
@@ -29,7 +41,7 @@ export class XAxisRenderer extends AxisRenderer {
29
41
  max = p2.x;
30
42
  }
31
43
  }
32
- this.computeAxisValues(min, max);
44
+ return { min, max };
33
45
  }
34
46
  computeAxisValues(min, max) {
35
47
  super.computeAxisValues(min, max);
@@ -129,6 +141,8 @@ export class XAxisRenderer extends AxisRenderer {
129
141
  if (entryCount === 0) {
130
142
  return;
131
143
  }
144
+ const customRender = axis.getCustomRenderer();
145
+ const customRenderFunction = customRender && customRender.drawLabel;
132
146
  const length = entryCount * 2;
133
147
  if (!this.mLabelsPositionsBuffer || this.mLabelsPositionsBuffer.length !== length) {
134
148
  this.mLabelsPositionsBuffer = Utils.createArrayBuffer(length);
@@ -149,10 +163,12 @@ export class XAxisRenderer extends AxisRenderer {
149
163
  this.mTrans.pointValuesToPixel(positions);
150
164
  const chartWidth = this.mViewPortHandler.getChartWidth();
151
165
  let offsetRight = 0;
166
+ let offsetLeft = 0;
152
167
  if (this.mAxis.isIgnoringOffsets()) {
153
168
  }
154
169
  else {
155
170
  offsetRight = this.mViewPortHandler.offsetRight();
171
+ offsetLeft = this.mViewPortHandler.offsetLeft();
156
172
  }
157
173
  const labels = axis.mLabels;
158
174
  const paint = this.axisLabelsPaint;
@@ -166,37 +182,48 @@ export class XAxisRenderer extends AxisRenderer {
166
182
  if (axis.isAvoidFirstLastClippingEnabled() || axis.ensureVisible) {
167
183
  if (i / 2 === entryCount - 1 && entryCount > 1) {
168
184
  const width = Utils.calcTextWidth(paint, label);
169
- if (width > offsetRight * 2 && x + width > chartWidth) {
170
- x -= width / 2;
185
+ if (paint.getTextAlign() === Align.CENTER && width / 2 > offsetRight && x + width / 2 > chartWidth) {
186
+ x += chartWidth - x - width / 2;
187
+ }
188
+ else if (paint.getTextAlign() === Align.LEFT && width > offsetRight && x + width > chartWidth) {
189
+ x += chartWidth - x - width;
171
190
  }
172
191
  }
173
192
  else if (i === 0) {
174
193
  const width = Utils.calcTextWidth(paint, label);
175
- if (paint.getTextAlign() === Align.CENTER) {
176
- x += width / 2;
194
+ if (paint.getTextAlign() === Align.CENTER && width / 2 > offsetLeft && x < width / 2) {
195
+ x += x - width / 2;
177
196
  }
178
- else if (paint.getTextAlign() === Align.RIGHT) {
179
- x += width;
197
+ else if (paint.getTextAlign() === Align.RIGHT && width > offsetLeft && x < width) {
198
+ x += x - width;
180
199
  }
181
200
  }
182
201
  }
183
- this.drawLabel(c, label, x, pos, anchor, labelRotationAngleDegrees, paint);
202
+ this.drawLabel(c, label, x, pos, anchor, labelRotationAngleDegrees, paint, customRenderFunction);
184
203
  }
185
204
  }
186
205
  }
187
- drawLabel(c, formattedLabel, x, y, anchor, angleDegrees, paint) {
188
- Utils.drawXAxisValue(c, formattedLabel, x, y, paint, anchor, angleDegrees);
206
+ drawLabel(c, formattedLabel, x, y, anchor, angleDegrees, paint, customRenderFunction) {
207
+ if (customRenderFunction) {
208
+ customRenderFunction(c, this, formattedLabel, x, y, paint, anchor, angleDegrees);
209
+ }
210
+ else {
211
+ Utils.drawXAxisValue(c, formattedLabel, x, y, paint, anchor, angleDegrees);
212
+ }
189
213
  }
190
214
  drawMarkTicket(c, pos, ticklength) {
191
- if (!this.mXAxis.isDrawMarkTicksEnabled())
215
+ const axis = this.mXAxis;
216
+ if (!axis.isDrawMarkTicksEnabled())
192
217
  return;
218
+ const customRender = axis.getCustomRenderer();
219
+ const customRenderFunction = customRender && customRender.drawMarkTicket;
193
220
  const length = this.mAxis.mEntryCount * 2;
194
221
  if (!this.mRenderGridLinesBuffer || this.mRenderGridLinesBuffer.length !== length) {
195
222
  this.mRenderGridLinesBuffer = Utils.createArrayBuffer(length);
196
223
  }
197
224
  const positionsBuffer = this.mRenderGridLinesBuffer;
198
225
  for (let i = 0; i < length; i += 2) {
199
- positionsBuffer[i] = this.mXAxis.mEntries[i / 2];
226
+ positionsBuffer[i] = axis.mEntries[i / 2];
200
227
  if (i + 1 < length) {
201
228
  positionsBuffer[i + 1] = 0;
202
229
  }
@@ -206,7 +233,12 @@ export class XAxisRenderer extends AxisRenderer {
206
233
  const paint = this.axisLinePaint;
207
234
  for (let i = 0; i < length; i += 2) {
208
235
  const x = points[i];
209
- c.drawLine(x, pos, x, pos + ticklength, paint);
236
+ if (customRenderFunction) {
237
+ customRenderFunction(c, this, x, pos, x, pos + ticklength, paint);
238
+ }
239
+ else {
240
+ c.drawLine(x, pos, x, pos + ticklength, paint);
241
+ }
210
242
  }
211
243
  }
212
244
  renderGridLines(c) {
@@ -234,7 +266,6 @@ export class XAxisRenderer extends AxisRenderer {
234
266
  const customRenderFunction = customRender && customRender.drawGridLine;
235
267
  const rect = this.mAxis.isIgnoringOffsets() ? this.mViewPortHandler.getChartRect() : this.mViewPortHandler.getContentRect();
236
268
  for (let i = 0; i < positions.length; i += 2) {
237
- const x = positions[i];
238
269
  this.drawGridLine(c, rect, positions[i], positions[i + 1], axis.mEntries[i / 2], paint, customRenderFunction);
239
270
  }
240
271
  c.restoreToCount(clipRestoreCount);
@@ -1 +1 @@
1
- {"version":3,"file":"XAxisRenderer.js","sourceRoot":"../src/","sources":["renderer/XAxisRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XAxisRenderer.js","sourceRoot":"../src/","sources":["renderer/XAxisRenderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare function splineCurve(firstPoint: any, middlePoint: any, afterPoint: any, t: any): {
2
+ previous: {
3
+ x: number;
4
+ y: number;
5
+ };
6
+ next: {
7
+ x: any;
8
+ y: any;
9
+ };
10
+ };
11
+ export declare function splineCurveMonotone(points: any, indexAxis?: string): void;
12
+ export declare function _updateBezierControlPoints(points: any, options: any, area: any, loop: any, indexAxis: any): void;
package/utils/Curve.js ADDED
@@ -0,0 +1,156 @@
1
+ const EPSILON = Number.EPSILON || 1e-14;
2
+ const getPoint = (points, i) => i < points.length && !points[i].skip && points[i];
3
+ const getValueAxis = (indexAxis) => (indexAxis === 'x' ? 'y' : 'x');
4
+ function distanceBetweenPoints(pt1, pt2) {
5
+ return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));
6
+ }
7
+ function almostEquals(x, y, epsilon) {
8
+ return Math.abs(x - y) < epsilon;
9
+ }
10
+ function _isPointInArea(point, area, margin = 0.5) {
11
+ return point && point.x > area.left - margin && point.x < area.right + margin && point.y > area.top - margin && point.y < area.bottom + margin;
12
+ }
13
+ const sign = Math.sign;
14
+ export function splineCurve(firstPoint, middlePoint, afterPoint, t) {
15
+ const previous = firstPoint;
16
+ const current = middlePoint;
17
+ const next = afterPoint;
18
+ const d01 = distanceBetweenPoints(current, previous);
19
+ const d12 = distanceBetweenPoints(next, current);
20
+ let s01 = d01 / (d01 + d12);
21
+ let s12 = d12 / (d01 + d12);
22
+ s01 = isNaN(s01) ? 0 : s01;
23
+ s12 = isNaN(s12) ? 0 : s12;
24
+ const fa = t * s01;
25
+ const fb = t * s12;
26
+ return {
27
+ previous: {
28
+ x: current.x - fa * (next.x - previous.x),
29
+ y: current.y - fa * (next.y - previous.y)
30
+ },
31
+ next: {
32
+ x: current.x + fb * (next.x - previous.x),
33
+ y: current.y + fb * (next.y - previous.y)
34
+ }
35
+ };
36
+ }
37
+ function monotoneAdjust(points, deltaK, mK) {
38
+ const pointsLen = points.length;
39
+ let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;
40
+ let pointAfter = getPoint(points, 0);
41
+ for (let i = 0; i < pointsLen - 1; ++i) {
42
+ pointCurrent = pointAfter;
43
+ pointAfter = getPoint(points, i + 1);
44
+ if (!pointCurrent || !pointAfter) {
45
+ continue;
46
+ }
47
+ if (almostEquals(deltaK[i], 0, EPSILON)) {
48
+ mK[i] = mK[i + 1] = 0;
49
+ continue;
50
+ }
51
+ alphaK = mK[i] / deltaK[i];
52
+ betaK = mK[i + 1] / deltaK[i];
53
+ squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);
54
+ if (squaredMagnitude <= 9) {
55
+ continue;
56
+ }
57
+ tauK = 3 / Math.sqrt(squaredMagnitude);
58
+ mK[i] = alphaK * tauK * deltaK[i];
59
+ mK[i + 1] = betaK * tauK * deltaK[i];
60
+ }
61
+ }
62
+ function monotoneCompute(points, mK, indexAxis = 'x') {
63
+ const valueAxis = getValueAxis(indexAxis);
64
+ const pointsLen = points.length;
65
+ let delta, pointBefore, pointCurrent;
66
+ let pointAfter = getPoint(points, 0);
67
+ for (let i = 0; i < pointsLen; ++i) {
68
+ pointBefore = pointCurrent;
69
+ pointCurrent = pointAfter;
70
+ pointAfter = getPoint(points, i + 1);
71
+ if (!pointCurrent) {
72
+ continue;
73
+ }
74
+ const iPixel = pointCurrent[indexAxis];
75
+ const vPixel = pointCurrent[valueAxis];
76
+ if (pointBefore) {
77
+ delta = (iPixel - pointBefore[indexAxis]) / 3;
78
+ pointCurrent[`cp1${indexAxis}`] = iPixel - delta;
79
+ pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];
80
+ }
81
+ if (pointAfter) {
82
+ delta = (pointAfter[indexAxis] - iPixel) / 3;
83
+ pointCurrent[`cp2${indexAxis}`] = iPixel + delta;
84
+ pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];
85
+ }
86
+ }
87
+ }
88
+ export function splineCurveMonotone(points, indexAxis = 'x') {
89
+ const valueAxis = getValueAxis(indexAxis);
90
+ const pointsLen = points.length;
91
+ const deltaK = Array(pointsLen).fill(0);
92
+ const mK = Array(pointsLen);
93
+ let i, pointBefore, pointCurrent;
94
+ let pointAfter = getPoint(points, 0);
95
+ for (i = 0; i < pointsLen; ++i) {
96
+ pointBefore = pointCurrent;
97
+ pointCurrent = pointAfter;
98
+ pointAfter = getPoint(points, i + 1);
99
+ if (!pointCurrent) {
100
+ continue;
101
+ }
102
+ if (pointAfter) {
103
+ const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];
104
+ deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;
105
+ }
106
+ mK[i] = !pointBefore ? deltaK[i] : !pointAfter ? deltaK[i - 1] : sign(deltaK[i - 1]) !== sign(deltaK[i]) ? 0 : (deltaK[i - 1] + deltaK[i]) / 2;
107
+ }
108
+ monotoneAdjust(points, deltaK, mK);
109
+ monotoneCompute(points, mK, indexAxis);
110
+ }
111
+ function capControlPoint(pt, min, max) {
112
+ return Math.max(Math.min(pt, max), min);
113
+ }
114
+ function capBezierPoints(points, area) {
115
+ let i, ilen, point, inArea, inAreaPrev;
116
+ let inAreaNext = _isPointInArea(points[0], area);
117
+ for (i = 0, ilen = points.length; i < ilen; ++i) {
118
+ inAreaPrev = inArea;
119
+ inArea = inAreaNext;
120
+ inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);
121
+ if (!inArea) {
122
+ continue;
123
+ }
124
+ point = points[i];
125
+ if (inAreaPrev) {
126
+ point.cp1x = capControlPoint(point.cp1x, area.left, area.right);
127
+ point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);
128
+ }
129
+ if (inAreaNext) {
130
+ point.cp2x = capControlPoint(point.cp2x, area.left, area.right);
131
+ point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);
132
+ }
133
+ }
134
+ }
135
+ export function _updateBezierControlPoints(points, options, area, loop, indexAxis) {
136
+ let i, ilen, point, controlPoints;
137
+ if (options.cubicInterpolationMode === 'monotone') {
138
+ splineCurveMonotone(points, indexAxis);
139
+ }
140
+ else {
141
+ let prev = loop ? points[points.length - 1] : points[0];
142
+ for (i = 0, ilen = points.length; i < ilen; ++i) {
143
+ point = points[i];
144
+ controlPoints = splineCurve(prev, point, points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], options.tension);
145
+ point.cp1x = controlPoints.previous.x;
146
+ point.cp1y = controlPoints.previous.y;
147
+ point.cp2x = controlPoints.next.x;
148
+ point.cp2y = controlPoints.next.y;
149
+ prev = point;
150
+ }
151
+ }
152
+ if (options.capBezierPoints) {
153
+ capBezierPoints(points, area);
154
+ }
155
+ }
156
+ //# sourceMappingURL=Curve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Curve.js","sourceRoot":"../src/","sources":["utils/Curve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { MPPointF } from './MPPointF';
2
+
3
+ export interface MPPointD extends MPPointF {
4
+
5
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=MPPointD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MPPointD.js","sourceRoot":"../src/","sources":["utils/MPPointD.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Created by Tony Patino on 6/24/16.
3
+ */
4
+ export interface MPPointF {
5
+ x: number;
6
+ y: number;
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=MPPointF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MPPointF.js","sourceRoot":"../src/","sources":["utils/MPPointF.ts"],"names":[],"mappings":""}
@@ -133,7 +133,7 @@ export class Transformer {
133
133
  }
134
134
  }
135
135
  mapPoints(matrix, pts) {
136
- if (global.isAndroid && ArrayBuffer.isView(pts)) {
136
+ if (__ANDROID__ && ArrayBuffer.isView(pts)) {
137
137
  matrix['mapPointsBuffer'](pts);
138
138
  }
139
139
  else {
@@ -185,7 +185,7 @@ export class Transformer {
185
185
  if (!outputPoint) {
186
186
  outputPoint = { x: 0, y: 0 };
187
187
  }
188
- const buffer = Utils.getTempArray(2, false, false);
188
+ const buffer = Utils.getTempArray(2);
189
189
  buffer[0] = x;
190
190
  buffer[1] = y;
191
191
  this.pixelsToValue(buffer);
@@ -1 +1 @@
1
- {"version":3,"file":"Transformer.js","sourceRoot":"../src/","sources":["utils/Transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transformer.js","sourceRoot":"../src/","sources":["utils/Transformer.ts"],"names":[],"mappings":"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"}
package/utils/Utils.d.ts CHANGED
@@ -26,7 +26,9 @@ export declare namespace Utils {
26
26
  function convertPixelsToDp(px: any): any;
27
27
  function calcTextWidth(paint: Paint, demoText: string): number;
28
28
  function calcTextHeight(paint: Paint, demoText: string): number;
29
+ function getLineHeightFromMetrics(fontMetrics: FontMetrics): number;
29
30
  function getLineHeight(paint: Paint, fontMetrics?: FontMetrics): number;
31
+ function getLineSpacingFromMetrics(fontMetrics: FontMetrics): number;
30
32
  function getLineSpacing(paint: Paint, fontMetrics?: FontMetrics): number;
31
33
  function calcTextSize(paint: Paint, demoText: any): {
32
34
  width: number;
package/utils/Utils.js CHANGED
@@ -63,14 +63,22 @@ export var Utils;
63
63
  return mCalcTextHeightRect.height();
64
64
  }
65
65
  Utils.calcTextHeight = calcTextHeight;
66
+ function getLineHeightFromMetrics(fontMetrics) {
67
+ return fontMetrics.descent - fontMetrics.ascent;
68
+ }
69
+ Utils.getLineHeightFromMetrics = getLineHeightFromMetrics;
66
70
  function getLineHeight(paint, fontMetrics = mFontMetricsBuffer) {
67
71
  paint.getFontMetrics(fontMetrics);
68
- return fontMetrics.descent - fontMetrics.ascent;
72
+ return getLineHeightFromMetrics(fontMetrics);
69
73
  }
70
74
  Utils.getLineHeight = getLineHeight;
75
+ function getLineSpacingFromMetrics(fontMetrics) {
76
+ return fontMetrics.ascent - fontMetrics.top + fontMetrics.bottom;
77
+ }
78
+ Utils.getLineSpacingFromMetrics = getLineSpacingFromMetrics;
71
79
  function getLineSpacing(paint, fontMetrics = mFontMetricsBuffer) {
72
80
  paint.getFontMetrics(fontMetrics);
73
- return fontMetrics.ascent - fontMetrics.top + fontMetrics.bottom;
81
+ return getLineSpacingFromMetrics(fontMetrics);
74
82
  }
75
83
  Utils.getLineSpacing = getLineSpacing;
76
84
  function calcTextSize(paint, demoText) {
@@ -235,7 +243,7 @@ export var Utils;
235
243
  else {
236
244
  const drawOffsetX = x - icon.width / 2;
237
245
  const drawOffsetY = y - icon.height / 2;
238
- canvas.drawBitmap(global.isAndroid ? icon.android : icon, drawOffsetX, drawOffsetY, null);
246
+ canvas.drawBitmap(__ANDROID__ ? icon.android : icon, drawOffsetX, drawOffsetY, null);
239
247
  }
240
248
  }
241
249
  Utils.drawIcon = drawIcon;
@@ -244,7 +252,7 @@ export var Utils;
244
252
  let drawOffsetY = 0;
245
253
  drawOffsetY += -mFontMetricsBuffer.ascent;
246
254
  if (angleDegrees !== 0) {
247
- const lineHeight = paint.getFontMetrics(mFontMetricsBuffer);
255
+ const lineHeight = getLineHeightFromMetrics(mFontMetricsBuffer);
248
256
  paint.getTextBounds(text, 0, text.length, mDrawTextRectBuffer);
249
257
  drawOffsetX -= mDrawTextRectBuffer.width() * 0.5;
250
258
  drawOffsetY -= lineHeight * 0.5;
@@ -263,7 +271,7 @@ export var Utils;
263
271
  }
264
272
  else {
265
273
  if (anchor.y !== 0) {
266
- const lineHeight = paint.getFontMetrics(mFontMetricsBuffer);
274
+ const lineHeight = getLineHeightFromMetrics(mFontMetricsBuffer);
267
275
  drawOffsetY -= lineHeight * anchor.y;
268
276
  }
269
277
  drawOffsetX += x;
@@ -465,7 +473,7 @@ export var Utils;
465
473
  }
466
474
  Utils.getTemplatePaint = getTemplatePaint;
467
475
  function clipPathSupported() {
468
- if (global.isAndroid) {
476
+ if (__ANDROID__) {
469
477
  return getSDK() >= 18;
470
478
  }
471
479
  return false;