Index: src/core/SkCanvas.cpp |
=================================================================== |
--- src/core/SkCanvas.cpp (revision 8845) |
+++ src/core/SkCanvas.cpp (working copy) |
@@ -1581,12 +1581,20 @@ |
if (rrect.isRect()) { |
// call the non-virtual version |
this->SkCanvas::drawRect(rrect.getBounds(), paint); |
- } else { |
- SkPath path; |
- path.addRRect(rrect); |
+ return; |
+ } else if (rrect.isOval()) { |
// call the non-virtual version |
- this->SkCanvas::drawPath(path, paint); |
+ this->SkCanvas::drawOval(rrect.getBounds(), paint); |
+ return; |
} |
+ |
+ LOOPER_BEGIN(paint, SkDrawFilter::kRRect_Type) |
+ |
+ while (iter.next()) { |
+ iter.fDevice->drawRRect(iter, rrect, looper.paint()); |
+ } |
+ |
+ LOOPER_END |
} |