Skip to content

Commit 3899855

Browse files
authored
Merge pull request #596 from AppDevNext/Canvas
Use other Canvas function
2 parents 99ad26d + 7770d3f commit 3899855

File tree

10 files changed

+23
-59
lines changed

10 files changed

+23
-59
lines changed

chartLib/src/main/kotlin/info/appdev/charting/renderer/BarChartRenderer.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ import info.appdev.charting.interfaces.datasets.IBarDataSet
1212
import info.appdev.charting.utils.Fill
1313
import info.appdev.charting.utils.PointF
1414
import info.appdev.charting.utils.Transformer
15-
import info.appdev.charting.utils.Utils
1615
import info.appdev.charting.utils.ViewPortHandler
1716
import info.appdev.charting.utils.calcTextHeight
1817
import info.appdev.charting.utils.convertDpToPixel
18+
import info.appdev.charting.utils.drawImage
1919
import kotlin.math.ceil
2020
import kotlin.math.min
2121

@@ -332,8 +332,7 @@ open class BarChartRenderer(
332332
py += iconsOffset.y
333333

334334
icon?.let {
335-
Utils.drawImage(
336-
canvas,
335+
canvas.drawImage(
337336
it,
338337
px.toInt(),
339338
py.toInt()
@@ -392,8 +391,7 @@ open class BarChartRenderer(
392391
py += iconsOffset.y
393392

394393
icon?.let {
395-
Utils.drawImage(
396-
canvas,
394+
canvas.drawImage(
397395
it,
398396
px.toInt(),
399397
py.toInt()
@@ -471,8 +469,7 @@ open class BarChartRenderer(
471469
val icon = barEntry.icon
472470

473471
icon?.let {
474-
Utils.drawImage(
475-
canvas,
472+
canvas.drawImage(
476473
it,
477474
(x + iconsOffset.x).toInt(),
478475
(y + iconsOffset.y).toInt()

chartLib/src/main/kotlin/info/appdev/charting/renderer/BubbleChartRenderer.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ import info.appdev.charting.highlight.Highlight
88
import info.appdev.charting.interfaces.dataprovider.BubbleDataProvider
99
import info.appdev.charting.interfaces.datasets.IBubbleDataSet
1010
import info.appdev.charting.utils.PointF
11-
import info.appdev.charting.utils.Utils
1211
import info.appdev.charting.utils.ViewPortHandler
1312
import info.appdev.charting.utils.calcTextHeight
1413
import info.appdev.charting.utils.convertDpToPixel
14+
import info.appdev.charting.utils.drawImage
1515
import kotlin.math.abs
1616
import kotlin.math.max
1717
import kotlin.math.min
@@ -162,8 +162,7 @@ open class BubbleChartRenderer(
162162
val icon = bubbleEntry.icon
163163

164164
icon?.let { ico ->
165-
Utils.drawImage(
166-
canvas,
165+
canvas.drawImage(
167166
ico,
168167
(x + iconsOffset.x).toInt(),
169168
(y + iconsOffset.y).toInt()

chartLib/src/main/kotlin/info/appdev/charting/renderer/CandleStickChartRenderer.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import info.appdev.charting.interfaces.dataprovider.CandleDataProvider
88
import info.appdev.charting.interfaces.datasets.ICandleDataSet
99
import info.appdev.charting.utils.ColorTemplate
1010
import info.appdev.charting.utils.PointF
11-
import info.appdev.charting.utils.Utils
1211
import info.appdev.charting.utils.ViewPortHandler
1312
import info.appdev.charting.utils.convertDpToPixel
13+
import info.appdev.charting.utils.drawImage
1414

1515
open class CandleStickChartRenderer(
1616
var dataProvider: CandleDataProvider,
@@ -269,8 +269,7 @@ open class CandleStickChartRenderer(
269269
val icon = entry.icon
270270

271271
icon?.let { ico ->
272-
Utils.drawImage(
273-
canvas,
272+
canvas.drawImage(
274273
ico,
275274
(x + iconsOffset.x).toInt(),
276275
(y + iconsOffset.y).toInt()

chartLib/src/main/kotlin/info/appdev/charting/renderer/HorizontalBarChartRenderer.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ import info.appdev.charting.interfaces.datasets.IBarDataSet
1212
import info.appdev.charting.utils.Fill
1313
import info.appdev.charting.utils.PointF
1414
import info.appdev.charting.utils.Transformer
15-
import info.appdev.charting.utils.Utils
1615
import info.appdev.charting.utils.ViewPortHandler
1716
import info.appdev.charting.utils.calcTextHeight
1817
import info.appdev.charting.utils.calcTextWidth
1918
import info.appdev.charting.utils.convertDpToPixel
19+
import info.appdev.charting.utils.drawImage
2020
import kotlin.math.ceil
2121
import kotlin.math.min
2222

@@ -256,8 +256,7 @@ open class HorizontalBarChartRenderer(
256256
py += iconsOffset.y
257257

258258
icon?.let {
259-
Utils.drawImage(
260-
canvas,
259+
canvas.drawImage(
261260
it,
262261
px.toInt(),
263262
py.toInt()
@@ -332,8 +331,7 @@ open class HorizontalBarChartRenderer(
332331
py += iconsOffset.y
333332

334333
icon?.let { myIcon ->
335-
Utils.drawImage(
336-
canvas,
334+
canvas.drawImage(
337335
myIcon,
338336
px.toInt(),
339337
py.toInt()
@@ -417,8 +415,7 @@ open class HorizontalBarChartRenderer(
417415
val icon = it.icon
418416

419417
icon?.let { myIcon ->
420-
Utils.drawImage(
421-
canvas,
418+
canvas.drawImage(
422419
myIcon,
423420
(x + iconsOffset.x).toInt(),
424421
(y + iconsOffset.y).toInt()

chartLib/src/main/kotlin/info/appdev/charting/renderer/LineChartRenderer.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ import info.appdev.charting.interfaces.datasets.ILineDataSet
1616
import info.appdev.charting.utils.ColorTemplate
1717
import info.appdev.charting.utils.PointF
1818
import info.appdev.charting.utils.Transformer
19-
import info.appdev.charting.utils.Utils
2019
import info.appdev.charting.utils.ViewPortHandler
2120
import info.appdev.charting.utils.convertDpToPixel
21+
import info.appdev.charting.utils.drawImage
2222
import java.lang.ref.WeakReference
2323
import kotlin.math.max
2424
import kotlin.math.min
@@ -533,8 +533,7 @@ open class LineChartRenderer(
533533
val icon = entry.icon
534534

535535
icon?.let {
536-
Utils.drawImage(
537-
canvas,
536+
canvas.drawImage(
538537
it,
539538
(x + iconsOffset.x).toInt(),
540539
(y + iconsOffset.y).toInt()

chartLib/src/main/kotlin/info/appdev/charting/renderer/PieChartRenderer.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import info.appdev.charting.utils.Utils
2323
import info.appdev.charting.utils.ViewPortHandler
2424
import info.appdev.charting.utils.calcTextHeight
2525
import info.appdev.charting.utils.convertDpToPixel
26+
import info.appdev.charting.utils.drawImage
2627
import java.lang.ref.WeakReference
2728
import kotlin.math.abs
2829
import kotlin.math.ceil
@@ -571,8 +572,8 @@ open class PieChartRenderer(
571572
y += iconsOffset.x
572573

573574
icon?.let {
574-
Utils.drawImage(
575-
this, it, x.toInt(), y.toInt()
575+
this.drawImage(
576+
it, x.toInt(), y.toInt()
576577
)
577578
}
578579
}

chartLib/src/main/kotlin/info/appdev/charting/renderer/RadarChartRenderer.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ import info.appdev.charting.highlight.Highlight
1111
import info.appdev.charting.interfaces.datasets.IRadarDataSet
1212
import info.appdev.charting.utils.ColorTemplate
1313
import info.appdev.charting.utils.PointF
14-
import info.appdev.charting.utils.Utils
1514
import info.appdev.charting.utils.ViewPortHandler
1615
import info.appdev.charting.utils.convertDpToPixel
1716
import info.appdev.charting.utils.getPosition
17+
import info.appdev.charting.utils.drawImage
1818

1919
open class RadarChartRenderer(
2020
protected var chart: RadarChart,
@@ -180,8 +180,7 @@ open class RadarChartRenderer(
180180
pIcon.y += iconsOffset.x
181181

182182
icon?.let {
183-
Utils.drawImage(
184-
canvas,
183+
canvas.drawImage(
185184
it,
186185
pIcon.x.toInt(),
187186
pIcon.y.toInt()

chartLib/src/main/kotlin/info/appdev/charting/renderer/ScatterChartRenderer.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import info.appdev.charting.highlight.Highlight
66
import info.appdev.charting.interfaces.dataprovider.ScatterDataProvider
77
import info.appdev.charting.interfaces.datasets.IScatterDataSet
88
import info.appdev.charting.utils.PointF
9-
import info.appdev.charting.utils.Utils
109
import info.appdev.charting.utils.ViewPortHandler
1110
import info.appdev.charting.utils.convertDpToPixel
11+
import info.appdev.charting.utils.drawImage
1212
import timber.log.Timber
1313
import kotlin.math.ceil
1414
import kotlin.math.min
@@ -139,8 +139,7 @@ open class ScatterChartRenderer(
139139
val icon = entry.icon
140140

141141
icon?.let {
142-
Utils.drawImage(
143-
canvas,
142+
canvas.drawImage(
144143
it,
145144
(positions[j] + iconsOffset.x).toInt(),
146145
(positions[j + 1] + iconsOffset.y).toInt()

chartLib/src/main/kotlin/info/appdev/charting/utils/CanvasUtils.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ fun Canvas.drawImage(
2525
val width: Int = drawable.intrinsicWidth
2626
val height: Int = drawable.intrinsicHeight
2727
val drawOffset = PointF.getInstance(width.toFloat(), height.toFloat())
28-
drawOffset.x = x - (width.toFloat() / 2)
29-
drawOffset.y = y - (height.toFloat() / 2)
28+
drawOffset.x = x - (width / 2).toFloat()
29+
drawOffset.y = y - (height / 2).toFloat()
3030

3131
drawable.copyBounds(mDrawableBoundsCache)
3232
drawable.setBounds(

chartLib/src/main/kotlin/info/appdev/charting/utils/Utils.kt

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
package info.appdev.charting.utils
22

33
import android.content.Context
4-
import android.graphics.Canvas
54
import android.graphics.Rect
6-
import android.graphics.drawable.Drawable
75
import android.view.MotionEvent
86
import android.view.VelocityTracker
97
import android.view.ViewConfiguration
108
import info.appdev.charting.formatter.DefaultValueFormatter
119
import info.appdev.charting.formatter.IValueFormatter
12-
import info.appdev.charting.utils.PointF.Companion.instance
1310
import kotlin.Int
1411
import kotlin.IntArray
1512
import kotlin.Suppress
@@ -88,29 +85,6 @@ object Utils {
8885

8986
private val mDrawableBoundsCache = Rect()
9087

91-
fun drawImage(canvas: Canvas, drawable: Drawable, x: Int, y: Int) {
92-
val width = drawable.intrinsicWidth
93-
val height = drawable.intrinsicHeight
94-
95-
val drawOffset = instance
96-
drawOffset.x = x - (width / 2).toFloat()
97-
drawOffset.y = y - (height / 2).toFloat()
98-
99-
drawable.copyBounds(mDrawableBoundsCache)
100-
drawable.setBounds(
101-
mDrawableBoundsCache.left,
102-
mDrawableBoundsCache.top,
103-
mDrawableBoundsCache.left + width,
104-
mDrawableBoundsCache.top + width
105-
)
106-
107-
val saveId = canvas.save()
108-
// translate to the correct position and draw
109-
canvas.translate(drawOffset.x, drawOffset.y)
110-
drawable.draw(canvas)
111-
canvas.restoreToCount(saveId)
112-
}
113-
11488
/**
11589
* Returns a recyclable FSize instance.
11690
* Represents size of a rotated rectangle by degrees.

0 commit comments

Comments
 (0)