Skip to content

Commit 94d0fbe

Browse files
Tyler Voskuilenhannesa2
authored andcommitted
Fix scatter shape size bug
Scatter shape sizes were not converted from dp to pixels in the shape renderers so they were drawn at inconsistent size on different density screens.
1 parent 5699181 commit 94d0fbe

File tree

8 files changed

+9
-8
lines changed

8 files changed

+9
-8
lines changed

MPChartExample/src/main/java/com/xxmassdeveloper/mpchartexample/custom/CustomScatterShapeRenderer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import com.github.mikephil.charting.interfaces.datasets.IScatterDataSet;
77
import com.github.mikephil.charting.renderer.scatter.IShapeRenderer;
8+
import com.github.mikephil.charting.utils.Utils;
89
import com.github.mikephil.charting.utils.ViewPortHandler;
910

1011
/**
@@ -18,7 +19,7 @@ public class CustomScatterShapeRenderer implements IShapeRenderer
1819
public void renderShape(Canvas c, IScatterDataSet dataSet, ViewPortHandler viewPortHandler,
1920
float posX, float posY, Paint renderPaint) {
2021

21-
final float shapeHalf = dataSet.getScatterShapeSize() / 2f;
22+
final float shapeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeSize()) / 2f;
2223

2324
c.drawLine(
2425
posX - shapeHalf,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class ChevronDownShapeRenderer implements IShapeRenderer
1919
public void renderShape(Canvas c, IScatterDataSet dataSet, ViewPortHandler viewPortHandler,
2020
float posX, float posY, Paint renderPaint) {
2121

22-
final float shapeHalf = dataSet.getScatterShapeSize() / 2f;
22+
final float shapeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeSize()) / 2f;
2323

2424
renderPaint.setStyle(Paint.Style.STROKE);
2525
renderPaint.setStrokeWidth(Utils.convertDpToPixel(1f));

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class ChevronUpShapeRenderer implements IShapeRenderer
1919
public void renderShape(Canvas c, IScatterDataSet dataSet, ViewPortHandler viewPortHandler,
2020
float posX, float posY, Paint renderPaint) {
2121

22-
final float shapeHalf = dataSet.getScatterShapeSize() / 2f;
22+
final float shapeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeSize()) / 2f;
2323

2424
renderPaint.setStyle(Paint.Style.STROKE);
2525
renderPaint.setStrokeWidth(Utils.convertDpToPixel(1f));

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class CircleShapeRenderer implements IShapeRenderer
1919
public void renderShape(Canvas c, IScatterDataSet dataSet, ViewPortHandler viewPortHandler,
2020
float posX, float posY, Paint renderPaint) {
2121

22-
final float shapeSize = dataSet.getScatterShapeSize();
22+
final float shapeSize = Utils.convertDpToPixel(dataSet.getScatterShapeSize());
2323
final float shapeHalf = shapeSize / 2f;
2424
final float shapeHoleSizeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeHoleRadius());
2525
final float shapeHoleSize = shapeHoleSizeHalf * 2.f;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class CrossShapeRenderer implements IShapeRenderer
1919
public void renderShape(Canvas c, IScatterDataSet dataSet, ViewPortHandler viewPortHandler,
2020
float posX, float posY, Paint renderPaint) {
2121

22-
final float shapeHalf = dataSet.getScatterShapeSize() / 2f;
22+
final float shapeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeSize()) / 2f;
2323

2424
renderPaint.setStyle(Paint.Style.STROKE);
2525
renderPaint.setStrokeWidth(Utils.convertDpToPixel(1f));

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class SquareShapeRenderer implements IShapeRenderer
2020
public void renderShape(Canvas c, IScatterDataSet dataSet, ViewPortHandler viewPortHandler,
2121
float posX, float posY, Paint renderPaint) {
2222

23-
final float shapeSize = dataSet.getScatterShapeSize();
23+
final float shapeSize = Utils.convertDpToPixel(dataSet.getScatterShapeSize());
2424
final float shapeHalf = shapeSize / 2f;
2525
final float shapeHoleSizeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeHoleRadius());
2626
final float shapeHoleSize = shapeHoleSizeHalf * 2.f;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class TriangleShapeRenderer implements IShapeRenderer
2222
public void renderShape(Canvas c, IScatterDataSet dataSet, ViewPortHandler viewPortHandler,
2323
float posX, float posY, Paint renderPaint) {
2424

25-
final float shapeSize = dataSet.getScatterShapeSize();
25+
final float shapeSize = Utils.convertDpToPixel(dataSet.getScatterShapeSize());
2626
final float shapeHalf = shapeSize / 2f;
2727
final float shapeHoleSizeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeHoleRadius());
2828
final float shapeHoleSize = shapeHoleSizeHalf * 2.f;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class XShapeRenderer implements IShapeRenderer
1919
public void renderShape(Canvas c, IScatterDataSet dataSet, ViewPortHandler viewPortHandler,
2020
float posX, float posY, Paint renderPaint) {
2121

22-
final float shapeHalf = dataSet.getScatterShapeSize() / 2f;
22+
final float shapeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeSize()) / 2f;
2323

2424
renderPaint.setStyle(Paint.Style.STROKE);
2525
renderPaint.setStrokeWidth(Utils.convertDpToPixel(1f));

0 commit comments

Comments
 (0)