@@ -22,8 +22,8 @@ import java.lang.ref.WeakReference
2222import kotlin.math.max
2323import kotlin.math.min
2424
25- class LineChartRenderer (
26- @JvmField var chart : LineDataProvider , animator : ChartAnimator ? ,
25+ open class LineChartRenderer (
26+ @JvmField var dataProvider : LineDataProvider , animator : ChartAnimator ? ,
2727 viewPortHandler : ViewPortHandler ?
2828) : LineRadarRenderer(animator, viewPortHandler) {
2929 /* *
@@ -74,7 +74,7 @@ class LineChartRenderer(
7474
7575 drawBitmapLocal.eraseColor(Color .TRANSPARENT )
7676
77- val lineData = chart .lineData
77+ val lineData = dataProvider .lineData
7878
7979 for (set in lineData.dataSets) {
8080 if (set.isVisible) drawDataSet(canvas, set)
@@ -102,9 +102,9 @@ class LineChartRenderer(
102102 protected fun drawHorizontalBezier (dataSet : ILineDataSet ) {
103103 val phaseY = animator.phaseY
104104
105- val trans = chart .getTransformer(dataSet.axisDependency)
105+ val trans = dataProvider .getTransformer(dataSet.axisDependency)
106106
107- xBounds[chart ] = dataSet
107+ xBounds[dataProvider ] = dataSet
108108
109109 cubicPath.reset()
110110
@@ -152,9 +152,9 @@ class LineChartRenderer(
152152 protected fun drawCubicBezier (dataSet : ILineDataSet ) {
153153 val phaseY = animator.phaseY
154154
155- val trans = chart .getTransformer(dataSet.axisDependency)
155+ val trans = dataProvider .getTransformer(dataSet.axisDependency)
156156
157- xBounds[chart ] = dataSet
157+ xBounds[dataProvider ] = dataSet
158158
159159 val intensity = dataSet.cubicIntensity
160160
@@ -225,7 +225,7 @@ class LineChartRenderer(
225225 }
226226
227227 protected fun drawCubicFill (canvas : Canvas , dataSet : ILineDataSet , spline : Path , trans : Transformer , bounds : XBounds ) {
228- val fillMin = dataSet.fillFormatter.getFillLinePosition(dataSet, chart )
228+ val fillMin = dataSet.fillFormatter.getFillLinePosition(dataSet, dataProvider )
229229
230230 spline.lineTo(dataSet.getEntryForIndex(bounds.min + bounds.range).x, fillMin)
231231 spline.lineTo(dataSet.getEntryForIndex(bounds.min).x, fillMin)
@@ -250,7 +250,7 @@ class LineChartRenderer(
250250 val isDrawSteppedEnabled = dataSet.isDrawSteppedEnabled
251251 val pointsPerEntryPair = if (isDrawSteppedEnabled) 4 else 2
252252
253- val trans = chart .getTransformer(dataSet.axisDependency)
253+ val trans = dataProvider .getTransformer(dataSet.axisDependency)
254254
255255 val phaseY = animator.phaseY
256256
@@ -263,7 +263,7 @@ class LineChartRenderer(
263263 c
264264 }
265265
266- xBounds[chart ] = dataSet
266+ xBounds[dataProvider ] = dataSet
267267
268268 // if drawing filled is enabled
269269 if (dataSet.isDrawFilledEnabled && entryCount > 0 ) {
@@ -447,7 +447,7 @@ class LineChartRenderer(
447447 * @return
448448 */
449449 private fun generateFilledPath (dataSet : ILineDataSet , startIndex : Int , endIndex : Int , outputPath : Path ) {
450- val fillMin = dataSet.fillFormatter.getFillLinePosition(dataSet, chart )
450+ val fillMin = dataSet.fillFormatter.getFillLinePosition(dataSet, dataProvider )
451451 val phaseY = animator.phaseY
452452 val isDrawSteppedEnabled = dataSet.mode == LineDataSet .Mode .STEPPED
453453
@@ -485,8 +485,8 @@ class LineChartRenderer(
485485 }
486486
487487 override fun drawValues (canvas : Canvas ) {
488- if (isDrawingValuesAllowed(chart )) {
489- val dataSets = chart .lineData.dataSets
488+ if (isDrawingValuesAllowed(dataProvider )) {
489+ val dataSets = dataProvider .lineData.dataSets
490490
491491 for (i in dataSets.indices) {
492492 val dataSet = dataSets[i]
@@ -500,14 +500,14 @@ class LineChartRenderer(
500500 // apply the text-styling defined by the DataSet
501501 applyValueTextStyle(dataSet)
502502
503- val trans = chart .getTransformer(dataSet.axisDependency)
503+ val trans = dataProvider .getTransformer(dataSet.axisDependency)
504504
505505 // make sure the values do not interfear with the circles
506506 var valOffset = (dataSet.circleRadius * 1.75f ).toInt()
507507
508508 if (! dataSet.isDrawCirclesEnabled) valOffset = valOffset / 2
509509
510- xBounds[chart ] = dataSet
510+ xBounds[dataProvider ] = dataSet
511511
512512 val positions = trans!! .generateTransformedValuesLine(
513513 dataSet, animator.phaseX, animator
@@ -588,7 +588,7 @@ class LineChartRenderer(
588588 mCirclesBuffer[0 ] = 0f
589589 mCirclesBuffer[1 ] = 0f
590590
591- val dataSets = chart .lineData.dataSets
591+ val dataSets = dataProvider .lineData.dataSets
592592
593593 for (i in dataSets.indices) {
594594 val dataSet = dataSets[i]
@@ -597,9 +597,9 @@ class LineChartRenderer(
597597
598598 circlePaintInner.color = dataSet.circleHoleColor
599599
600- val trans = chart .getTransformer(dataSet.axisDependency)
600+ val trans = dataProvider .getTransformer(dataSet.axisDependency)
601601
602- xBounds[chart ] = dataSet
602+ xBounds[dataProvider ] = dataSet
603603
604604 val circleRadius = dataSet.circleRadius
605605 val circleHoleRadius = dataSet.circleHoleRadius
@@ -649,7 +649,7 @@ class LineChartRenderer(
649649 }
650650
651651 override fun drawHighlighted (canvas : Canvas , indices : Array <Highlight >) {
652- val lineData = chart .lineData
652+ val lineData = dataProvider .lineData
653653
654654 for (high in indices) {
655655 val set = lineData.getDataSetByIndex(high.dataSetIndex)
@@ -660,7 +660,7 @@ class LineChartRenderer(
660660
661661 if (! isInBoundsX(e, set)) continue
662662
663- val pix = chart .getTransformer(set.axisDependency)!! .getPixelForValues(
663+ val pix = dataProvider .getTransformer(set.axisDependency)!! .getPixelForValues(
664664 e.x, e.y * animator
665665 .phaseY
666666 )
@@ -673,7 +673,7 @@ class LineChartRenderer(
673673 }
674674
675675 /* *
676- * Releases the drawing bitmap. This should be called when [LineChart.onDetachedFromWindow].
676+ * Releases the drawing bitmap. This should be called when [com.github.mikephil.charting.charts. LineChart.onDetachedFromWindow].
677677 */
678678 fun releaseBitmap () {
679679 bitmapCanvas?.setBitmap(null )
0 commit comments