Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: include/core/SkCanvas.h

Issue 23484007: call drawRect to try GrAARectRenderer if the path is a rect (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: if the path is a rect, call drawRect in SkCanvas::drawPath for potential accelerated rasterization … Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « experimental/SimpleCocoaApp/SimpleApp.mm ('k') | include/utils/SkDeferredCanvas.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/core/SkCanvas.h
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h
index cfc252fccfc191c64804b4edfd172ba2e9b066e1..bd510e6d89fa4c2529fd537ba7add5b76618f93c 100644
--- a/include/core/SkCanvas.h
+++ b/include/core/SkCanvas.h
@@ -576,7 +576,10 @@ public:
@param rect The rect to be drawn
@param paint The paint used to draw the rect
*/
- virtual void drawRect(const SkRect& rect, const SkPaint& paint);
+ void drawRect(const SkRect& rect, const SkPaint& paint)
+ {
bsalomon 2013/10/15 13:25:51 style nit: brace on prev line.
+ this->onDrawRect(rect, paint);
+ }
/** Draw the specified rectangle using the specified paint. The rectangle
will be filled or framed based on the Style in the paint.
@@ -657,7 +660,14 @@ public:
@param path The path to be drawn
@param paint The paint used to draw the path
*/
- virtual void drawPath(const SkPath& path, const SkPaint& paint);
+ void drawPath(const SkPath& path, const SkPaint& paint) {
+ SkRect rect;
+ if (path.isRect(&rect)) {
+ this->onDrawRect(rect, paint);
+ } else {
+ this->onDrawPath(path, paint);
+ }
+ }
/** Draw the specified bitmap, with its top/left corner at (x,y), using the
specified paint, transformed by the current matrix. Note: if the paint
@@ -1034,6 +1044,10 @@ protected:
// can perform copy-on-write or invalidate any cached images
void predrawNotify();
+ virtual void onDrawRect(const SkRect& rect, const SkPaint& paint);
bsalomon 2013/10/15 13:25:51 Since these are protected the subclasses should no
+
+ virtual void onDrawPath(const SkPath& path, const SkPaint& paint);
+
/** DEPRECATED -- use constructor(device)
Marked as 'protected' to avoid new clients using this before we can
« no previous file with comments | « experimental/SimpleCocoaApp/SimpleApp.mm ('k') | include/utils/SkDeferredCanvas.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698