Skip to content

Commit ce5b385

Browse files
authored
Merge pull request #448 from AppDevNext/KotlinIShapeRenderer
Kotlin IShapeRenderer
2 parents d1d3db7 + df7c99a commit ce5b385

17 files changed

+366
-402
lines changed

MPChartLib/src/main/java/com/github/mikephil/charting/renderer/ScatterChartRenderer.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ open class ScatterChartRenderer(@JvmField var chart: ScatterDataProvider, animat
2727

2828
var pixelBuffer: FloatArray = FloatArray(2)
2929

30-
protected fun drawDataSet(canvas: Canvas?, dataSet: IScatterDataSet) {
31-
if (dataSet.entryCount < 1) return
30+
protected fun drawDataSet(canvas: Canvas, dataSet: IScatterDataSet) {
31+
if (dataSet.entryCount < 1)
32+
return
3233

3334
val viewPortHandler = this.viewPortHandler
3435

MPChartLib/src/main/java/com/github/mikephil/charting/renderer/scatter/ChevronDownShapeRenderer.java

Lines changed: 0 additions & 41 deletions
This file was deleted.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.github.mikephil.charting.renderer.scatter
2+
3+
import android.graphics.Canvas
4+
import android.graphics.Paint
5+
import com.github.mikephil.charting.interfaces.datasets.IScatterDataSet
6+
import com.github.mikephil.charting.utils.Utils
7+
import com.github.mikephil.charting.utils.ViewPortHandler
8+
9+
class ChevronDownShapeRenderer : IShapeRenderer {
10+
override fun renderShape(
11+
canvas: Canvas, dataSet: IScatterDataSet, viewPortHandler: ViewPortHandler?,
12+
posX: Float, posY: Float, renderPaint: Paint
13+
) {
14+
val shapeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeSize()) / 2f
15+
16+
renderPaint.style = Paint.Style.STROKE
17+
renderPaint.strokeWidth = Utils.convertDpToPixel(1f)
18+
19+
canvas.drawLine(
20+
posX,
21+
posY + (2 * shapeHalf),
22+
posX + (2 * shapeHalf),
23+
posY,
24+
renderPaint
25+
)
26+
27+
canvas.drawLine(
28+
posX,
29+
posY + (2 * shapeHalf),
30+
posX - (2 * shapeHalf),
31+
posY,
32+
renderPaint
33+
)
34+
}
35+
}

MPChartLib/src/main/java/com/github/mikephil/charting/renderer/scatter/ChevronUpShapeRenderer.java

Lines changed: 0 additions & 42 deletions
This file was deleted.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.github.mikephil.charting.renderer.scatter
2+
3+
import android.graphics.Canvas
4+
import android.graphics.Paint
5+
import com.github.mikephil.charting.interfaces.datasets.IScatterDataSet
6+
import com.github.mikephil.charting.utils.Utils
7+
import com.github.mikephil.charting.utils.ViewPortHandler
8+
9+
class ChevronUpShapeRenderer : IShapeRenderer {
10+
override fun renderShape(
11+
canvas: Canvas, dataSet: IScatterDataSet, viewPortHandler: ViewPortHandler?,
12+
posX: Float, posY: Float, renderPaint: Paint
13+
) {
14+
val shapeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeSize()) / 2f
15+
16+
renderPaint.style = Paint.Style.STROKE
17+
renderPaint.strokeWidth = Utils.convertDpToPixel(1f)
18+
19+
canvas.drawLine(
20+
posX,
21+
posY - (2 * shapeHalf),
22+
posX + (2 * shapeHalf),
23+
posY,
24+
renderPaint
25+
)
26+
27+
canvas.drawLine(
28+
posX,
29+
posY - (2 * shapeHalf),
30+
posX - (2 * shapeHalf),
31+
posY,
32+
renderPaint
33+
)
34+
}
35+
}

MPChartLib/src/main/java/com/github/mikephil/charting/renderer/scatter/CircleShapeRenderer.java

Lines changed: 0 additions & 63 deletions
This file was deleted.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package com.github.mikephil.charting.renderer.scatter
2+
3+
import android.graphics.Canvas
4+
import android.graphics.Paint
5+
import com.github.mikephil.charting.interfaces.datasets.IScatterDataSet
6+
import com.github.mikephil.charting.utils.ColorTemplate
7+
import com.github.mikephil.charting.utils.Utils
8+
import com.github.mikephil.charting.utils.ViewPortHandler
9+
10+
class CircleShapeRenderer : IShapeRenderer {
11+
override fun renderShape(
12+
canvas: Canvas, dataSet: IScatterDataSet, viewPortHandler: ViewPortHandler?,
13+
posX: Float, posY: Float, renderPaint: Paint
14+
) {
15+
val shapeSize = Utils.convertDpToPixel(dataSet.getScatterShapeSize())
16+
val shapeHalf = shapeSize / 2f
17+
val shapeHoleSizeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeHoleRadius())
18+
val shapeHoleSize = shapeHoleSizeHalf * 2f
19+
val shapeStrokeSize = (shapeSize - shapeHoleSize) / 2f
20+
val shapeStrokeSizeHalf = shapeStrokeSize / 2f
21+
22+
val shapeHoleColor = dataSet.getScatterShapeHoleColor()
23+
24+
if (shapeSize > 0.0) {
25+
renderPaint.style = Paint.Style.STROKE
26+
renderPaint.strokeWidth = shapeStrokeSize
27+
28+
canvas.drawCircle(
29+
posX,
30+
posY,
31+
shapeHoleSizeHalf + shapeStrokeSizeHalf,
32+
renderPaint
33+
)
34+
35+
if (shapeHoleColor != ColorTemplate.COLOR_NONE) {
36+
renderPaint.style = Paint.Style.FILL
37+
38+
renderPaint.color = shapeHoleColor
39+
canvas.drawCircle(
40+
posX,
41+
posY,
42+
shapeHoleSizeHalf,
43+
renderPaint
44+
)
45+
}
46+
} else {
47+
renderPaint.style = Paint.Style.FILL
48+
49+
canvas.drawCircle(
50+
posX,
51+
posY,
52+
shapeHalf,
53+
renderPaint
54+
)
55+
}
56+
}
57+
}

MPChartLib/src/main/java/com/github/mikephil/charting/renderer/scatter/CrossShapeRenderer.java

Lines changed: 0 additions & 41 deletions
This file was deleted.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package com.github.mikephil.charting.renderer.scatter
2+
3+
import android.graphics.Canvas
4+
import android.graphics.Paint
5+
import com.github.mikephil.charting.interfaces.datasets.IScatterDataSet
6+
import com.github.mikephil.charting.utils.Utils
7+
import com.github.mikephil.charting.utils.ViewPortHandler
8+
9+
class CrossShapeRenderer : IShapeRenderer {
10+
override fun renderShape(
11+
canvas: Canvas, dataSet: IScatterDataSet, viewPortHandler: ViewPortHandler?,
12+
posX: Float, posY: Float, renderPaint: Paint
13+
) {
14+
val shapeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeSize()) / 2f
15+
16+
renderPaint.style = Paint.Style.STROKE
17+
renderPaint.strokeWidth = Utils.convertDpToPixel(1f)
18+
19+
canvas.drawLine(
20+
posX - shapeHalf,
21+
posY,
22+
posX + shapeHalf,
23+
posY,
24+
renderPaint
25+
)
26+
canvas.drawLine(
27+
posX,
28+
posY - shapeHalf,
29+
posX,
30+
posY + shapeHalf,
31+
renderPaint
32+
)
33+
}
34+
}

MPChartLib/src/main/java/com/github/mikephil/charting/renderer/scatter/IShapeRenderer.java

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)