@@ -24,7 +24,7 @@ export abstract class LineRadarRenderer extends LineScatterCandleRadarRenderer {
24
24
* @param drawable
25
25
*/
26
26
@profile
27
- protected drawFilledPathBitmap ( c : Canvas , filledPath : Path , drawable ) {
27
+ protected drawFilledPathBitmap ( c : Canvas , filledPath : Path , drawable , shader ) {
28
28
if ( this . clipPathSupported ( ) ) {
29
29
let save = c . save ( ) ;
30
30
// c.scale(1, 1/SCALE_FACTOR, 0, this.mViewPortHandler.contentBottom())
@@ -57,35 +57,40 @@ export abstract class LineRadarRenderer extends LineScatterCandleRadarRenderer {
57
57
* @param fillAlpha
58
58
*/
59
59
@profile
60
- protected drawFilledPath ( c : Canvas , filledPath : Path , fillColor : Color | string , fillAlpha : number = 1 ) {
60
+ protected drawFilledPath ( c : Canvas , filledPath : Path , fillColor : Color | string , fillAlpha : number = 255 , shader ? ) {
61
61
let color = fillColor ;
62
62
if ( fillAlpha < 255 ) {
63
- fillColor = fillColor instanceof Color ? fillColor : new Color ( fillColor ) ;
63
+ fillColor = fillColor instanceof Color ? fillColor : new Color ( fillColor ) ;
64
64
color = new Color ( fillAlpha , fillColor . r , fillColor . g , fillColor . b ) ;
65
65
}
66
66
67
+ // save
68
+ const previous = this . mRenderPaint . getStyle ( ) ;
69
+ let previousColor = this . mRenderPaint . getColor ( ) ;
70
+ let previousShader = this . mRenderPaint . getShader ( ) ;
71
+
72
+ this . mRenderPaint . setStyle ( Style . FILL ) ;
73
+
74
+ if ( shader ) {
75
+ this . mRenderPaint . setColor ( 'black' ) ;
76
+ this . mRenderPaint . setShader ( shader ) ;
77
+ } else {
78
+ this . mRenderPaint . setColor ( color ) ;
79
+
80
+ }
81
+
67
82
if ( this . clipPathSupported ( ) ) {
68
83
let save = c . save ( ) ;
69
- // c.scale(1, 1/SCALE_FACTOR, 0, this.mViewPortHandler.contentBottom())
70
84
c . clipPath ( filledPath ) ;
71
-
72
- c . drawColor ( color ) ;
85
+ c . drawPaint ( this . mRenderPaint ) ;
73
86
c . restoreToCount ( save ) ;
74
87
} else {
75
- // save
76
- const previous = this . mRenderPaint . getStyle ( ) ;
77
- let previousColor = this . mRenderPaint . getColor ( ) ;
78
-
79
- // set
80
- this . mRenderPaint . setStyle ( Style . FILL ) ;
81
- this . mRenderPaint . setColor ( color ) ;
82
88
this . drawPath ( c , filledPath , this . mRenderPaint ) ;
83
- // c.drawPath(filledPath, this.mRenderPaint);
84
-
85
- // restore
86
- this . mRenderPaint . setColor ( previousColor ) ;
87
- this . mRenderPaint . setStyle ( previous ) ;
88
89
}
90
+ // restore
91
+ this . mRenderPaint . setColor ( previousColor ) ;
92
+ this . mRenderPaint . setShader ( previousShader ) ;
93
+ this . mRenderPaint . setStyle ( previous ) ;
89
94
}
90
95
91
96
/**
0 commit comments