Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 82d8881

Browse files
committed
Merge pull request #617 from danielgindi/master
Minor bug fix to cubic line rendering while scrolling
2 parents 1c58192 + 207af89 commit 82d8881

1 file changed

Lines changed: 8 additions & 10 deletions

File tree

‎MPChartLib/src/com/github/mikephil/charting/renderer/LineChartRenderer.java‎

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -157,30 +157,28 @@ protected void drawCubic(Canvas c, LineDataSet dataSet, List<Entry> entries) {
157157
float curDx = 0f;
158158
float curDy = 0f;
159159

160+
Entry prevPrev = entries.get(minx);
161+
Entry prev = entries.get(minx);
160162
Entry cur = entries.get(minx);
161163
Entry next = entries.get(minx + 1);
162-
Entry prev = entries.get(minx);
163-
Entry prevPrev = entries.get(minx);
164164

165165
// let the spline start
166166
cubicPath.moveTo(cur.getXIndex(), cur.getVal() * phaseY);
167167

168-
prevDx = (next.getXIndex() - cur.getXIndex()) * intensity;
169-
prevDy = (next.getVal() - cur.getVal()) * intensity;
168+
prevDx = (cur.getXIndex() - prev.getXIndex()) * intensity;
169+
prevDy = (cur.getVal() - prev.getVal()) * intensity;
170170

171-
cur = entries.get(minx + 1);
172-
next = entries.get(minx + (entries.size() - minx > 2 ? 2 : 1));
173-
curDx = (next.getXIndex() - prev.getXIndex()) * intensity;
174-
curDy = (next.getVal() - prev.getVal()) * intensity;
171+
curDx = (next.getXIndex() - cur.getXIndex()) * intensity;
172+
curDy = (next.getVal() - cur.getVal()) * intensity;
175173

176174
// the first cubic
177175
cubicPath.cubicTo(prev.getXIndex() + prevDx, (prev.getVal() + prevDy) * phaseY,
178176
cur.getXIndex() - curDx,
179177
(cur.getVal() - curDy) * phaseY, cur.getXIndex(), cur.getVal() * phaseY);
180178

181-
for (int j = minx + 2, count = Math.min(size, entries.size() - 1); j < count; j++) {
179+
for (int j = minx + 1, count = Math.min(size, entries.size() - 1); j < count; j++) {
182180

183-
prevPrev = entries.get(j - 2);
181+
prevPrev = entries.get(j == 1 ? 0 : j - 2);
184182
prev = entries.get(j - 1);
185183
cur = entries.get(j);
186184
next = entries.get(j + 1);

0 commit comments

Comments
 (0)