aboutsummaryrefslogtreecommitdiff
path: root/MPChartLib
diff options
context:
space:
mode:
authorDaniel Cohen Gindi <danielgindi@gmail.com>2016-08-07 17:28:24 +0300
committerDaniel Cohen Gindi <danielgindi@gmail.com>2016-08-08 09:56:04 +0300
commit0c00b09bdb00eb1916e72e042d296bb1867369e9 (patch)
treeeb6b493d63a5402c8b9455f6c6ad4135e382ce5e /MPChartLib
parent1eae18b657cea825a6186475a0991526a155d7e6 (diff)
downloadMPAndroidChart-0c00b09bdb00eb1916e72e042d296bb1867369e9.tar.gz
DRYed that code
Diffstat (limited to 'MPChartLib')
-rw-r--r--MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarChartRenderer.java45
-rw-r--r--MPChartLib/src/main/java/com/github/mikephil/charting/renderer/HorizontalBarChartRenderer.java15
2 files changed, 27 insertions, 33 deletions
diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarChartRenderer.java b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarChartRenderer.java
index 00ab5e8d..6cf208a4 100644
--- a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarChartRenderer.java
+++ b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/BarChartRenderer.java
@@ -121,47 +121,32 @@ public class BarChartRenderer extends BarLineScatterCandleBubbleRenderer {
}
}
- // if multiple colors
- if (dataSet.getColors().size() > 1) {
+ final boolean isSingleColor = dataSet.getColors().size() == 1;
- for (int j = 0; j < buffer.size(); j += 4) {
+ if (isSingleColor) {
+ mRenderPaint.setColor(dataSet.getColor());
+ }
- if (!mViewPortHandler.isInBoundsLeft(buffer.buffer[j + 2]))
- continue;
+ for (int j = 0; j < buffer.size(); j += 4) {
- if (!mViewPortHandler.isInBoundsRight(buffer.buffer[j]))
- break;
+ if (!mViewPortHandler.isInBoundsLeft(buffer.buffer[j + 2]))
+ continue;
+
+ if (!mViewPortHandler.isInBoundsRight(buffer.buffer[j]))
+ break;
+ if (!isSingleColor) {
// Set the color for the currently drawn value. If the index
// is out of bounds, reuse colors.
mRenderPaint.setColor(dataSet.getColor(j / 4));
- c.drawRect(buffer.buffer[j], buffer.buffer[j + 1], buffer.buffer[j + 2],
- buffer.buffer[j + 3], mRenderPaint);
-
- if (drawBorder) {
- c.drawRect(buffer.buffer[j], buffer.buffer[j + 1], buffer.buffer[j + 2],
- buffer.buffer[j + 3], mBarBorderPaint);
- }
}
- } else {
- mRenderPaint.setColor(dataSet.getColor());
-
- for (int j = 0; j < buffer.size(); j += 4) {
-
- if (!mViewPortHandler.isInBoundsLeft(buffer.buffer[j + 2]))
- continue;
-
- if (!mViewPortHandler.isInBoundsRight(buffer.buffer[j]))
- break;
+ c.drawRect(buffer.buffer[j], buffer.buffer[j + 1], buffer.buffer[j + 2],
+ buffer.buffer[j + 3], mRenderPaint);
+ if (drawBorder) {
c.drawRect(buffer.buffer[j], buffer.buffer[j + 1], buffer.buffer[j + 2],
- buffer.buffer[j + 3], mRenderPaint);
-
- if (drawBorder) {
- c.drawRect(buffer.buffer[j], buffer.buffer[j + 1], buffer.buffer[j + 2],
- buffer.buffer[j + 3], mBarBorderPaint);
- }
+ buffer.buffer[j + 3], mBarBorderPaint);
}
}
}
diff --git a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/HorizontalBarChartRenderer.java b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/HorizontalBarChartRenderer.java
index 26101970..6f369b75 100644
--- a/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/HorizontalBarChartRenderer.java
+++ b/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/HorizontalBarChartRenderer.java
@@ -73,6 +73,12 @@ public class HorizontalBarChartRenderer extends BarChartRenderer {
trans.pointValuesToPixel(buffer.buffer);
+ final boolean isSingleColor = dataSet.getColors().size() == 1;
+
+ if (isSingleColor) {
+ mRenderPaint.setColor(dataSet.getColor());
+ }
+
for (int j = 0; j < buffer.size(); j += 4) {
if (!mViewPortHandler.isInBoundsTop(buffer.buffer[j + 3]))
@@ -87,9 +93,12 @@ public class HorizontalBarChartRenderer extends BarChartRenderer {
buffer.buffer[j + 3], mShadowPaint);
}
- // Set the color for the currently drawn value. If the index
- // is out of bounds, reuse colors.
- mRenderPaint.setColor(dataSet.getColor(j / 4));
+ if (!isSingleColor) {
+ // Set the color for the currently drawn value. If the index
+ // is out of bounds, reuse colors.
+ mRenderPaint.setColor(dataSet.getColor(j / 4));
+ }
+
c.drawRect(buffer.buffer[j], buffer.buffer[j + 1], buffer.buffer[j + 2],
buffer.buffer[j + 3], mRenderPaint);