1515import com .github .mikephil .charting .utils .Utils ;
1616import com .github .mikephil .charting .utils .ViewPortHandler ;
1717
18- /** @noinspection unused*/
18+ /**
19+ * @noinspection unused
20+ */
1921public class RoundedHorizontalBarChartRenderer extends HorizontalBarChartRenderer {
2022
2123 private final RectF mBarShadowRectBuffer = new RectF ();
@@ -70,13 +72,12 @@ protected void drawDataSet(Canvas c, IBarDataSet dataSet, int index) {
7072 i ++;
7173 continue ;
7274 }
73- if (!mViewPortHandler .isInBoundsBottom (mBarShadowRectBuffer .top )) {
74- break ;
75- }
75+ if (!mViewPortHandler .isInBoundsBottom (mBarShadowRectBuffer .top )) {
76+ break ;
77+ }
7678 mBarShadowRectBuffer .left = mViewPortHandler .contentLeft ();
7779 mBarShadowRectBuffer .right = mViewPortHandler .contentRight ();
7880
79-
8081 if (roundedShadowRadius > 0 ) {
8182 c .drawRoundRect (mBarRect , roundedShadowRadius , roundedShadowRadius , mShadowPaint );
8283 } else {
@@ -96,92 +97,86 @@ protected void drawDataSet(Canvas c, IBarDataSet dataSet, int index) {
9697
9798 // if multiple colors has been assigned to Bar Chart
9899 if (dataSet .getColors ().size () > 1 ) {
99-
100100 for (int j = 0 ; j < buffer .size (); j += 4 ) {
101+ if (!mViewPortHandler .isInBoundsTop (buffer .buffer [j + 3 ])) {
102+ continue ;
103+ }
101104
102- if (!mViewPortHandler .isInBoundsTop (buffer .buffer [j + 3 ])) {
103- continue ;
104- }
105-
106- if (!mViewPortHandler .isInBoundsBottom (buffer .buffer [j + 1 ])) {
107- break ;
108- }
105+ if (!mViewPortHandler .isInBoundsBottom (buffer .buffer [j + 1 ])) {
106+ break ;
107+ }
109108
110109 if (mChart .isDrawBarShadowEnabled ()) {
111- if (roundedShadowRadius > 0 ) {
112- c .drawRoundRect (new RectF (buffer .buffer [j ], mViewPortHandler .contentTop (),
113- buffer .buffer [j + 2 ],
114- mViewPortHandler .contentBottom ()), roundedShadowRadius , roundedShadowRadius , mShadowPaint );
115- } else {
116- c .drawRect (buffer .buffer [j ], mViewPortHandler .contentTop (),
117- buffer .buffer [j + 2 ],
118- mViewPortHandler .contentBottom (), mShadowPaint );
119- }
110+ if (roundedShadowRadius > 0 ) {
111+ c .drawRoundRect (new RectF (buffer .buffer [j ], mViewPortHandler .contentTop (),
112+ buffer .buffer [j + 2 ],
113+ mViewPortHandler .contentBottom ()), roundedShadowRadius , roundedShadowRadius , mShadowPaint );
114+ } else {
115+ c .drawRect (buffer .buffer [j ], mViewPortHandler .contentTop (),
116+ buffer .buffer [j + 2 ],
117+ mViewPortHandler .contentBottom (), mShadowPaint );
118+ }
120119 }
121120
122121 // Set the color for the currently drawn value. If the index
123122 mRenderPaint .setColor (dataSet .getColor (j / 4 ));
124123
125- if (roundedPositiveDataSetRadius > 0 ) {
126- c .drawRoundRect (new RectF (buffer .buffer [j ], buffer .buffer [j + 1 ], buffer .buffer [j + 2 ],
127- buffer .buffer [j + 3 ]), roundedPositiveDataSetRadius , roundedPositiveDataSetRadius , mRenderPaint );
128- } else {
129- c .drawRect (buffer .buffer [j ], buffer .buffer [j + 1 ], buffer .buffer [j + 2 ],
130- buffer .buffer [j + 3 ], mRenderPaint );
131- }
124+ if (roundedPositiveDataSetRadius > 0 ) {
125+ c .drawRoundRect (new RectF (buffer .buffer [j ], buffer .buffer [j + 1 ], buffer .buffer [j + 2 ],
126+ buffer .buffer [j + 3 ]), roundedPositiveDataSetRadius , roundedPositiveDataSetRadius , mRenderPaint );
127+ } else {
128+ c .drawRect (buffer .buffer [j ], buffer .buffer [j + 1 ], buffer .buffer [j + 2 ],
129+ buffer .buffer [j + 3 ], mRenderPaint );
130+ }
132131 }
133132 } else {
134-
135133 mRenderPaint .setColor (dataSet .getColor ());
136134
137135 for (int j = 0 ; j < buffer .size (); j += 4 ) {
136+ if (!mViewPortHandler .isInBoundsTop (buffer .buffer [j + 3 ])) {
137+ continue ;
138+ }
138139
139- if (!mViewPortHandler .isInBoundsTop (buffer .buffer [j + 3 ])) {
140- continue ;
141- }
142-
143- if (!mViewPortHandler .isInBoundsBottom (buffer .buffer [j + 1 ])) {
144- break ;
145- }
140+ if (!mViewPortHandler .isInBoundsBottom (buffer .buffer [j + 1 ])) {
141+ break ;
142+ }
146143
147144 if (mChart .isDrawBarShadowEnabled ()) {
148- if (roundedShadowRadius > 0 ) {
149- c .drawRoundRect (new RectF (buffer .buffer [j ], mViewPortHandler .contentTop (),
150- buffer .buffer [j + 2 ],
151- mViewPortHandler .contentBottom ()), roundedShadowRadius , roundedShadowRadius , mShadowPaint );
152- } else {
153- c .drawRect (buffer .buffer [j ], buffer .buffer [j + 1 ], buffer .buffer [j + 2 ],
154- buffer .buffer [j + 3 ], mRenderPaint );
155- }
145+ if (roundedShadowRadius > 0 ) {
146+ c .drawRoundRect (new RectF (buffer .buffer [j ], mViewPortHandler .contentTop (),
147+ buffer .buffer [j + 2 ],
148+ mViewPortHandler .contentBottom ()), roundedShadowRadius , roundedShadowRadius , mShadowPaint );
149+ } else {
150+ c .drawRect (buffer .buffer [j ], buffer .buffer [j + 1 ], buffer .buffer [j + 2 ],
151+ buffer .buffer [j + 3 ], mRenderPaint );
152+ }
156153 }
157154
158- if (roundedPositiveDataSetRadius > 0 ) {
159- c .drawRoundRect (new RectF (buffer .buffer [j ], buffer .buffer [j + 1 ], buffer .buffer [j + 2 ],
160- buffer .buffer [j + 3 ]), roundedPositiveDataSetRadius , roundedPositiveDataSetRadius , mRenderPaint );
161- } else {
162- c .drawRect (buffer .buffer [j ], buffer .buffer [j + 1 ], buffer .buffer [j + 2 ],
163- buffer .buffer [j + 3 ], mRenderPaint );
164- }
155+ if (roundedPositiveDataSetRadius > 0 ) {
156+ c .drawRoundRect (new RectF (buffer .buffer [j ], buffer .buffer [j + 1 ], buffer .buffer [j + 2 ],
157+ buffer .buffer [j + 3 ]), roundedPositiveDataSetRadius , roundedPositiveDataSetRadius , mRenderPaint );
158+ } else {
159+ c .drawRect (buffer .buffer [j ], buffer .buffer [j + 1 ], buffer .buffer [j + 2 ],
160+ buffer .buffer [j + 3 ], mRenderPaint );
161+ }
165162 }
166163 }
167164
168-
169165 boolean isSingleColor = dataSet .getColors ().size () == 1 ;
170166 if (isSingleColor ) {
171167 mRenderPaint .setColor (dataSet .getColor (index ));
172168 }
173169
174170 int j = 0 ;
175171 while (j < buffer .size ()) {
176-
177172 if (!mViewPortHandler .isInBoundsTop (buffer .buffer [j + 3 ])) {
178173 j += 4 ;
179174 continue ;
180175 }
181176
182- if (!mViewPortHandler .isInBoundsBottom (buffer .buffer [j + 1 ])) {
183- break ;
184- }
177+ if (!mViewPortHandler .isInBoundsBottom (buffer .buffer [j + 1 ])) {
178+ break ;
179+ }
185180
186181 if (!isSingleColor ) {
187182 mRenderPaint .setColor (dataSet .getColor (j / 4 ));
@@ -209,50 +204,50 @@ private Path roundRect(RectF rect, float rx, float ry, boolean tl, boolean tr, b
209204 float right = rect .right ;
210205 float bottom = rect .bottom ;
211206 Path path = new Path ();
212- if (rx < 0 ) {
213- rx = 0 ;
214- }
215- if (ry < 0 ) {
216- ry = 0 ;
217- }
207+ if (rx < 0 ) {
208+ rx = 0 ;
209+ }
210+ if (ry < 0 ) {
211+ ry = 0 ;
212+ }
218213 float width = right - left ;
219214 float height = bottom - top ;
220- if (rx > width / 2 ) {
221- rx = width / 2 ;
222- }
223- if (ry > height / 2 ) {
224- ry = height / 2 ;
225- }
215+ if (rx > width / 2 ) {
216+ rx = width / 2 ;
217+ }
218+ if (ry > height / 2 ) {
219+ ry = height / 2 ;
220+ }
226221 float widthMinusCorners = (width - (2 * rx ));
227222 float heightMinusCorners = (height - (2 * ry ));
228223
229224 path .moveTo (right , top + ry );
230- if (tr ) {
231- path .rQuadTo (0 , -ry , -rx , -ry );//top-right corner
232- } else {
233- path .rLineTo (0 , -ry );
234- path .rLineTo (-rx , 0 );
235- }
225+ if (tr ) {
226+ path .rQuadTo (0 , -ry , -rx , -ry );//top-right corner
227+ } else {
228+ path .rLineTo (0 , -ry );
229+ path .rLineTo (-rx , 0 );
230+ }
236231 path .rLineTo (-widthMinusCorners , 0 );
237- if (tl ) {
238- path .rQuadTo (-rx , 0 , -rx , ry ); //top-left corner
239- } else {
240- path .rLineTo (-rx , 0 );
241- path .rLineTo (0 , ry );
242- }
232+ if (tl ) {
233+ path .rQuadTo (-rx , 0 , -rx , ry ); //top-left corner
234+ } else {
235+ path .rLineTo (-rx , 0 );
236+ path .rLineTo (0 , ry );
237+ }
243238 path .rLineTo (0 , heightMinusCorners );
244239
245- if (bl ) {
246- path .rQuadTo (0 , ry , rx , ry );//bottom-left corner
247- } else {
248- path .rLineTo (0 , ry );
249- path .rLineTo (rx , 0 );
250- }
240+ if (bl ) {
241+ path .rQuadTo (0 , ry , rx , ry );//bottom-left corner
242+ } else {
243+ path .rLineTo (0 , ry );
244+ path .rLineTo (rx , 0 );
245+ }
251246
252247 path .rLineTo (widthMinusCorners , 0 );
253- if (br )
248+ if (br ) {
254249 path .rQuadTo (rx , 0 , rx , -ry ); //bottom-right corner
255- else {
250+ } else {
256251 path .rLineTo (rx , 0 );
257252 path .rLineTo (0 , -ry );
258253 }
0 commit comments