diff options
author | Daniel Cohen Gindi <danielgindi@gmail.com> | 2016-08-07 17:28:24 +0300 |
---|---|---|
committer | Daniel Cohen Gindi <danielgindi@gmail.com> | 2016-08-08 09:56:04 +0300 |
commit | 0c00b09bdb00eb1916e72e042d296bb1867369e9 (patch) | |
tree | eb6b493d63a5402c8b9455f6c6ad4135e382ce5e /MPChartLib | |
parent | 1eae18b657cea825a6186475a0991526a155d7e6 (diff) | |
download | MPAndroidChart-0c00b09bdb00eb1916e72e042d296bb1867369e9.tar.gz |
DRYed that code
Diffstat (limited to 'MPChartLib')
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); |