Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ import info.appdev.charting.interfaces.datasets.IBarDataSet
import info.appdev.charting.utils.Fill
import info.appdev.charting.utils.PointF
import info.appdev.charting.utils.Transformer
import info.appdev.charting.utils.Utils
import info.appdev.charting.utils.ViewPortHandler
import info.appdev.charting.utils.calcTextHeight
import info.appdev.charting.utils.convertDpToPixel
import info.appdev.charting.utils.drawImage
import kotlin.math.ceil
import kotlin.math.min

Expand Down Expand Up @@ -332,8 +332,7 @@ open class BarChartRenderer(
py += iconsOffset.y

icon?.let {
Utils.drawImage(
canvas,
canvas.drawImage(
it,
px.toInt(),
py.toInt()
Expand Down Expand Up @@ -392,8 +391,7 @@ open class BarChartRenderer(
py += iconsOffset.y

icon?.let {
Utils.drawImage(
canvas,
canvas.drawImage(
it,
px.toInt(),
py.toInt()
Expand Down Expand Up @@ -471,8 +469,7 @@ open class BarChartRenderer(
val icon = barEntry.icon

icon?.let {
Utils.drawImage(
canvas,
canvas.drawImage(
it,
(x + iconsOffset.x).toInt(),
(y + iconsOffset.y).toInt()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import info.appdev.charting.highlight.Highlight
import info.appdev.charting.interfaces.dataprovider.BubbleDataProvider
import info.appdev.charting.interfaces.datasets.IBubbleDataSet
import info.appdev.charting.utils.PointF
import info.appdev.charting.utils.Utils
import info.appdev.charting.utils.ViewPortHandler
import info.appdev.charting.utils.calcTextHeight
import info.appdev.charting.utils.convertDpToPixel
import info.appdev.charting.utils.drawImage
import kotlin.math.abs
import kotlin.math.max
import kotlin.math.min
Expand Down Expand Up @@ -161,8 +161,7 @@ open class BubbleChartRenderer(
val icon = bubbleEntry.icon

icon?.let { ico ->
Utils.drawImage(
canvas,
canvas.drawImage(
ico,
(x + iconsOffset.x).toInt(),
(y + iconsOffset.y).toInt()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import info.appdev.charting.interfaces.dataprovider.CandleDataProvider
import info.appdev.charting.interfaces.datasets.ICandleDataSet
import info.appdev.charting.utils.ColorTemplate
import info.appdev.charting.utils.PointF
import info.appdev.charting.utils.Utils
import info.appdev.charting.utils.ViewPortHandler
import info.appdev.charting.utils.convertDpToPixel
import info.appdev.charting.utils.drawImage

open class CandleStickChartRenderer(
var dataProvider: CandleDataProvider, animator: ChartAnimator,
Expand Down Expand Up @@ -268,8 +268,7 @@ open class CandleStickChartRenderer(
val icon = entry.icon

icon?.let { ico ->
Utils.drawImage(
canvas,
canvas.drawImage(
ico,
(x + iconsOffset.x).toInt(),
(y + iconsOffset.y).toInt()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ import info.appdev.charting.interfaces.datasets.IBarDataSet
import info.appdev.charting.utils.Fill
import info.appdev.charting.utils.PointF
import info.appdev.charting.utils.Transformer
import info.appdev.charting.utils.Utils
import info.appdev.charting.utils.ViewPortHandler
import info.appdev.charting.utils.calcTextHeight
import info.appdev.charting.utils.calcTextWidth
import info.appdev.charting.utils.convertDpToPixel
import info.appdev.charting.utils.drawImage
import kotlin.math.ceil
import kotlin.math.min

Expand Down Expand Up @@ -256,8 +256,7 @@ open class HorizontalBarChartRenderer(
py += iconsOffset.y

icon?.let {
Utils.drawImage(
canvas,
canvas.drawImage(
it,
px.toInt(),
py.toInt()
Expand Down Expand Up @@ -332,8 +331,7 @@ open class HorizontalBarChartRenderer(
py += iconsOffset.y

icon?.let { myIcon ->
Utils.drawImage(
canvas,
canvas.drawImage(
myIcon,
px.toInt(),
py.toInt()
Expand Down Expand Up @@ -417,8 +415,7 @@ open class HorizontalBarChartRenderer(
val icon = it.icon

icon?.let { myIcon ->
Utils.drawImage(
canvas,
canvas.drawImage(
myIcon,
(x + iconsOffset.x).toInt(),
(y + iconsOffset.y).toInt()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ import info.appdev.charting.interfaces.datasets.ILineDataSet
import info.appdev.charting.utils.ColorTemplate
import info.appdev.charting.utils.PointF
import info.appdev.charting.utils.Transformer
import info.appdev.charting.utils.Utils
import info.appdev.charting.utils.ViewPortHandler
import info.appdev.charting.utils.convertDpToPixel
import info.appdev.charting.utils.drawImage
import java.lang.ref.WeakReference
import kotlin.math.max
import kotlin.math.min
Expand Down Expand Up @@ -542,8 +542,7 @@ open class LineChartRenderer(
val icon = entry.icon

icon?.let {
Utils.drawImage(
canvas,
canvas.drawImage(
it,
(x + iconsOffset.x).toInt(),
(y + iconsOffset.y).toInt()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import info.appdev.charting.utils.Utils
import info.appdev.charting.utils.ViewPortHandler
import info.appdev.charting.utils.calcTextHeight
import info.appdev.charting.utils.convertDpToPixel
import info.appdev.charting.utils.drawImage
import java.lang.ref.WeakReference
import kotlin.math.abs
import kotlin.math.ceil
Expand Down Expand Up @@ -571,8 +572,8 @@ open class PieChartRenderer(
y += iconsOffset.x

icon?.let {
Utils.drawImage(
this, it, x.toInt(), y.toInt()
this.drawImage(
it, x.toInt(), y.toInt()
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ import info.appdev.charting.highlight.Highlight
import info.appdev.charting.interfaces.datasets.IRadarDataSet
import info.appdev.charting.utils.ColorTemplate
import info.appdev.charting.utils.PointF
import info.appdev.charting.utils.Utils
import info.appdev.charting.utils.ViewPortHandler
import info.appdev.charting.utils.convertDpToPixel
import info.appdev.charting.utils.getPosition
import info.appdev.charting.utils.drawImage

open class RadarChartRenderer(
protected var chart: RadarChart, animator: ChartAnimator,
Expand Down Expand Up @@ -179,8 +179,7 @@ open class RadarChartRenderer(
pIcon.y += iconsOffset.x

icon?.let {
Utils.drawImage(
canvas,
canvas.drawImage(
it,
pIcon.x.toInt(),
pIcon.y.toInt()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ import info.appdev.charting.highlight.Highlight
import info.appdev.charting.interfaces.dataprovider.ScatterDataProvider
import info.appdev.charting.interfaces.datasets.IScatterDataSet
import info.appdev.charting.utils.PointF
import info.appdev.charting.utils.Utils
import info.appdev.charting.utils.ViewPortHandler
import info.appdev.charting.utils.convertDpToPixel
import info.appdev.charting.utils.drawImage
import timber.log.Timber
import kotlin.math.ceil
import kotlin.math.min
Expand Down Expand Up @@ -136,8 +136,7 @@ open class ScatterChartRenderer(var dataProvider: ScatterDataProvider, animator:
val icon = entry.icon

icon?.let {
Utils.drawImage(
canvas,
canvas.drawImage(
it,
(positions[j] + iconsOffset.x).toInt(),
(positions[j + 1] + iconsOffset.y).toInt()
Expand Down
26 changes: 0 additions & 26 deletions chartLib/src/main/kotlin/info/appdev/charting/utils/Utils.kt
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
package info.appdev.charting.utils

import android.content.Context
import android.graphics.Canvas
import android.graphics.Rect
import android.graphics.drawable.Drawable
import android.view.MotionEvent
import android.view.VelocityTracker
import android.view.ViewConfiguration
import info.appdev.charting.formatter.DefaultValueFormatter
import info.appdev.charting.formatter.IValueFormatter
import info.appdev.charting.utils.PointF.Companion.instance
import kotlin.Int
import kotlin.IntArray
import kotlin.Suppress
Expand Down Expand Up @@ -88,29 +85,6 @@ object Utils {

private val mDrawableBoundsCache = Rect()

fun drawImage(canvas: Canvas, drawable: Drawable, x: Int, y: Int) {
val width = drawable.intrinsicWidth
val height = drawable.intrinsicHeight

val drawOffset = instance
drawOffset.x = x - (width / 2).toFloat()
drawOffset.y = y - (height / 2).toFloat()

drawable.copyBounds(mDrawableBoundsCache)
drawable.setBounds(
mDrawableBoundsCache.left,
mDrawableBoundsCache.top,
mDrawableBoundsCache.left + width,
mDrawableBoundsCache.top + width
)

val saveId = canvas.save()
// translate to the correct position and draw
canvas.translate(drawOffset.x, drawOffset.y)
drawable.draw(canvas)
canvas.restoreToCount(saveId)
}

/**
* Returns a recyclable FSize instance.
* Represents size of a rotated rectangle by degrees.
Expand Down
Loading