@@ -12,13 +12,13 @@ import com.github.mikephil.charting.utils.ViewPortHandler
1212import kotlin.math.ceil
1313import kotlin.math.min
1414
15- open class ScatterChartRenderer (@JvmField var chart : ScatterDataProvider , animator : ChartAnimator ? , viewPortHandler : ViewPortHandler ? ) :
15+ open class ScatterChartRenderer (@JvmField var scatterDataProvider : ScatterDataProvider , animator : ChartAnimator ? , viewPortHandler : ViewPortHandler ? ) :
1616 LineScatterCandleRadarRenderer (animator, viewPortHandler) {
1717 override fun initBuffers () {
1818 }
1919
2020 override fun drawData (canvas : Canvas ) {
21- val scatterData = chart .scatterData
21+ val scatterData = scatterDataProvider .scatterData
2222
2323 for (set in scatterData.dataSets) {
2424 if (set.isVisible) drawDataSet(canvas, set)
@@ -33,7 +33,7 @@ open class ScatterChartRenderer(@JvmField var chart: ScatterDataProvider, animat
3333
3434 val viewPortHandler = this .viewPortHandler
3535
36- val trans = chart .getTransformer(dataSet.axisDependency)
36+ val trans = scatterDataProvider .getTransformer(dataSet.axisDependency)
3737
3838 val phaseY = animator.phaseY
3939
@@ -43,23 +43,23 @@ open class ScatterChartRenderer(@JvmField var chart: ScatterDataProvider, animat
4343 return
4444 }
4545
46- val max = ( min(
46+ val max = min(
4747 ceil((dataSet.entryCount.toFloat() * animator.phaseX).toDouble()),
4848 dataSet.entryCount.toFloat().toDouble()
49- )) .toInt()
49+ ).toInt()
5050
5151 for (i in 0 .. < max) {
52- val e = dataSet.getEntryForIndex(i)
52+ val entry = dataSet.getEntryForIndex(i)
5353
54- pixelBuffer[0 ] = e .x
55- pixelBuffer[1 ] = e .y * phaseY
54+ pixelBuffer[0 ] = entry .x
55+ pixelBuffer[1 ] = entry .y * phaseY
5656
5757 trans!! .pointValuesToPixel(pixelBuffer)
5858
59- if (! viewPortHandler.isInBoundsRight(pixelBuffer[0 ])) break
59+ if (! viewPortHandler.isInBoundsRight(pixelBuffer[0 ]))
60+ break
6061
61- if (! viewPortHandler.isInBoundsLeft(pixelBuffer[0 ])
62- || ! viewPortHandler.isInBoundsY(pixelBuffer[1 ])
62+ if (! viewPortHandler.isInBoundsLeft(pixelBuffer[0 ]) || ! viewPortHandler.isInBoundsY(pixelBuffer[1 ])
6363 ) continue
6464
6565 paintRender.color = dataSet.getColorByIndex(i / 2 )
@@ -72,12 +72,10 @@ open class ScatterChartRenderer(@JvmField var chart: ScatterDataProvider, animat
7272 }
7373
7474 override fun drawValues (canvas : Canvas ) {
75- // if values are drawn
75+ if (isDrawingValuesAllowed(scatterDataProvider)) {
76+ val dataSets = scatterDataProvider.scatterData.dataSets
7677
77- if (isDrawingValuesAllowed(chart)) {
78- val dataSets = chart.scatterData.dataSets
79-
80- for (i in 0 .. < chart.scatterData.dataSetCount) {
78+ for (i in 0 .. < scatterDataProvider.scatterData.dataSetCount) {
8179 val dataSet = dataSets[i]
8280
8381 if (dataSet.entryCount == 0 ) {
@@ -90,9 +88,9 @@ open class ScatterChartRenderer(@JvmField var chart: ScatterDataProvider, animat
9088 // apply the text-styling defined by the DataSet
9189 applyValueTextStyle(dataSet)
9290
93- xBounds[chart ] = dataSet
91+ xBounds[scatterDataProvider ] = dataSet
9492
95- val positions = chart .getTransformer(dataSet.axisDependency)!! .generateTransformedValuesScatter(
93+ val positions = scatterDataProvider .getTransformer(dataSet.axisDependency)!! .generateTransformedValuesScatter(
9694 dataSet,
9795 animator.phaseX, animator.phaseY, xBounds.min, xBounds.max
9896 )
@@ -154,7 +152,7 @@ open class ScatterChartRenderer(@JvmField var chart: ScatterDataProvider, animat
154152 }
155153
156154 override fun drawHighlighted (canvas : Canvas , indices : Array <Highlight >) {
157- val scatterData = chart .scatterData
155+ val scatterData = scatterDataProvider .scatterData
158156
159157 for (high in indices) {
160158 val set = scatterData.getDataSetByIndex(high.dataSetIndex)
@@ -165,7 +163,7 @@ open class ScatterChartRenderer(@JvmField var chart: ScatterDataProvider, animat
165163
166164 if (! isInBoundsX(e, set)) continue
167165
168- val pix = chart .getTransformer(set.axisDependency)!! .getPixelForValues(
166+ val pix = scatterDataProvider .getTransformer(set.axisDependency)!! .getPixelForValues(
169167 e.x, e.y * animator
170168 .phaseY
171169 )
0 commit comments