@@ -89,6 +89,8 @@ public void drawData(Canvas c) {
89
89
}
90
90
91
91
c .drawBitmap (mPathBitmap , 0 , 0 , mRenderPaint );
92
+
93
+ drawCircles (c );
92
94
}
93
95
94
96
protected void drawDataSet (Canvas c , LineDataSet dataSet ) {
@@ -269,11 +271,11 @@ protected void drawLinear(Canvas c, LineDataSet dataSet, ArrayList<Entry> entrie
269
271
float phaseY = mAnimator .getPhaseY ();
270
272
271
273
mRenderPaint .setStyle (Paint .Style .STROKE );
272
-
274
+
273
275
Canvas canvas = null ;
274
-
276
+
275
277
// if the data-set is dashed, draw on bitmap-canvas
276
- if (dataSet .isDashedLineEnabled ()) {
278
+ if (dataSet .isDashedLineEnabled ()) {
277
279
canvas = mBitmapCanvas ;
278
280
} else {
279
281
canvas = c ;
@@ -324,7 +326,8 @@ protected void drawLinear(Canvas c, LineDataSet dataSet, ArrayList<Entry> entrie
324
326
mRenderPaint .setColor (dataSet .getColor ());
325
327
326
328
// c.drawLines(buffer.buffer, mRenderPaint);
327
- canvas .drawLines (buffer .buffer , from , to >= buffer .size () ? buffer .size () - from : range ,
329
+ canvas .drawLines (buffer .buffer , from , to >= buffer .size () ? buffer .size () - from
330
+ : range ,
328
331
mRenderPaint );
329
332
}
330
333
@@ -450,11 +453,11 @@ public void drawValues(Canvas c) {
450
453
451
454
@ Override
452
455
public void drawExtras (Canvas c ) {
453
- drawCircles ( c );
456
+
454
457
}
455
458
456
459
protected void drawCircles (Canvas c ) {
457
-
460
+
458
461
mRenderPaint .setStyle (Paint .Style .FILL );
459
462
460
463
float phaseX = mAnimator .getPhaseX ();
@@ -468,7 +471,7 @@ protected void drawCircles(Canvas c) {
468
471
469
472
if (!dataSet .isVisible () || !dataSet .isDrawCirclesEnabled ())
470
473
continue ;
471
-
474
+
472
475
mCirclePaintInner .setColor (dataSet .getCircleHoleColor ());
473
476
474
477
Transformer trans = mChart .getTransformer (dataSet .getAxisDependency ());
@@ -483,7 +486,7 @@ protected void drawCircles(Canvas c) {
483
486
float halfsize = dataSet .getCircleSize () / 2f ;
484
487
485
488
for (int j = 0 ; j < buffer .size (); j += 2 ) {
486
-
489
+
487
490
float x = buffer .buffer [j ];
488
491
float y = buffer .buffer [j + 1 ];
489
492
@@ -494,13 +497,16 @@ protected void drawCircles(Canvas c) {
494
497
// bounds
495
498
if (!mViewPortHandler .isInBoundsLeft (x ) || !mViewPortHandler .isInBoundsY (y ))
496
499
continue ;
497
-
498
- mRenderPaint .setColor (dataSet .getCircleColor (j / 2 ));
500
+
501
+ int circleColor = dataSet .getCircleColor (j / 2 );
502
+
503
+ mRenderPaint .setColor (circleColor );
499
504
500
505
c .drawCircle (x , y , dataSet .getCircleSize (),
501
506
mRenderPaint );
502
507
503
- if (dataSet .isDrawCircleHoleEnabled ())
508
+ if (dataSet .isDrawCircleHoleEnabled ()
509
+ && circleColor != mCirclePaintInner .getColor ())
504
510
c .drawCircle (x , y ,
505
511
halfsize ,
506
512
mCirclePaintInner );
0 commit comments