aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-02-21 12:20:45 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-02-21 12:20:45 +0000
commitab5827354e2c23624acc3fc1fe4a83788bc99e96 (patch)
treebd2f93c0c642b3ba13ac55279680692e87a2c164 /src
parentb39d5617f60e8c26f76011cfcd984d7ad42d9fa9 (diff)
override new virtual onDrawDRRect in util canvas subclasses
BUG=skia: R=robertphillips@google.com, reed@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/174593003 git-svn-id: http://skia.googlecode.com/svn/trunk@13529 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src')
-rw-r--r--src/utils/SkDeferredCanvas.cpp7
-rw-r--r--src/utils/SkDumpCanvas.cpp11
-rw-r--r--src/utils/SkLuaCanvas.cpp8
-rw-r--r--src/utils/SkNWayCanvas.cpp8
-rw-r--r--src/utils/SkProxyCanvas.cpp5
-rw-r--r--src/utils/debugger/SkDebugCanvas.cpp5
-rw-r--r--src/utils/debugger/SkDebugCanvas.h3
7 files changed, 46 insertions, 1 deletions
diff --git a/src/utils/SkDeferredCanvas.cpp b/src/utils/SkDeferredCanvas.cpp
index fc85711cb7..3911fd0dfa 100644
--- a/src/utils/SkDeferredCanvas.cpp
+++ b/src/utils/SkDeferredCanvas.cpp
@@ -880,6 +880,13 @@ void SkDeferredCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) {
}
}
+void SkDeferredCanvas::onDrawDRRect(const SkRRect& outer, const SkRRect& inner,
+ const SkPaint& paint) {
+ AutoImmediateDrawIfNeeded autoDraw(*this, &paint);
+ this->drawingCanvas()->drawDRRect(outer, inner, paint);
+ this->recordedDrawCommand();
+}
+
void SkDeferredCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
AutoImmediateDrawIfNeeded autoDraw(*this, &paint);
this->drawingCanvas()->drawPath(path, paint);
diff --git a/src/utils/SkDumpCanvas.cpp b/src/utils/SkDumpCanvas.cpp
index 5f3a572ab9..c8a94f4058 100644
--- a/src/utils/SkDumpCanvas.cpp
+++ b/src/utils/SkDumpCanvas.cpp
@@ -324,7 +324,16 @@ void SkDumpCanvas::drawRect(const SkRect& rect, const SkPaint& paint) {
void SkDumpCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) {
SkString str;
toString(rrect, &str);
- this->dump(kDrawRRect_Verb, &paint, "drawRRect(%s)", str.c_str());
+ this->dump(kDrawDRRect_Verb, &paint, "drawRRect(%s)", str.c_str());
+}
+
+void SkDumpCanvas::onDrawDRRect(const SkRRect& outer, const SkRRect& inner,
+ const SkPaint& paint) {
+ SkString str0, str1;
+ toString(outer, &str0);
+ toString(inner, &str0);
+ this->dump(kDrawRRect_Verb, &paint, "drawDRRect(%s,%s)",
+ str0.c_str(), str1.c_str());
}
void SkDumpCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
diff --git a/src/utils/SkLuaCanvas.cpp b/src/utils/SkLuaCanvas.cpp
index 7f127403ae..8c25dc0401 100644
--- a/src/utils/SkLuaCanvas.cpp
+++ b/src/utils/SkLuaCanvas.cpp
@@ -194,6 +194,14 @@ void SkLuaCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) {
lua.pushPaint(paint, "paint");
}
+void SkLuaCanvas::onDrawDRRect(const SkRRect& outer, const SkRRect& inner,
+ const SkPaint& paint) {
+ AUTO_LUA("drawDRRect");
+ lua.pushRRect(outer, "outer");
+ lua.pushRRect(inner, "inner");
+ lua.pushPaint(paint, "paint");
+}
+
void SkLuaCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
AUTO_LUA("drawPath");
lua.pushPath(path, "path");
diff --git a/src/utils/SkNWayCanvas.cpp b/src/utils/SkNWayCanvas.cpp
index 831d7bf6cf..27adc6d51d 100644
--- a/src/utils/SkNWayCanvas.cpp
+++ b/src/utils/SkNWayCanvas.cpp
@@ -205,6 +205,14 @@ void SkNWayCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) {
}
}
+void SkNWayCanvas::onDrawDRRect(const SkRRect& outer, const SkRRect& inner,
+ const SkPaint& paint) {
+ Iter iter(fList);
+ while (iter.next()) {
+ iter->drawDRRect(outer, inner, paint);
+ }
+}
+
void SkNWayCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
Iter iter(fList);
while (iter.next()) {
diff --git a/src/utils/SkProxyCanvas.cpp b/src/utils/SkProxyCanvas.cpp
index f530313b16..245e0a6969 100644
--- a/src/utils/SkProxyCanvas.cpp
+++ b/src/utils/SkProxyCanvas.cpp
@@ -95,6 +95,11 @@ void SkProxyCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) {
fProxy->drawRRect(rrect, paint);
}
+void SkProxyCanvas::onDrawDRRect(const SkRRect& outer, const SkRRect& inner,
+ const SkPaint& paint) {
+ fProxy->drawDRRect(outer, inner, paint);
+}
+
void SkProxyCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
fProxy->drawPath(path, paint);
}
diff --git a/src/utils/debugger/SkDebugCanvas.cpp b/src/utils/debugger/SkDebugCanvas.cpp
index 07cb09f381..88088542bc 100644
--- a/src/utils/debugger/SkDebugCanvas.cpp
+++ b/src/utils/debugger/SkDebugCanvas.cpp
@@ -401,6 +401,11 @@ void SkDebugCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) {
addDrawCommand(new SkDrawRRectCommand(rrect, paint));
}
+void SkDebugCanvas::onDrawDRRect(const SkRRect& outer, const SkRRect& inner,
+ const SkPaint& paint) {
+ // TODO: add DRRect to debugger
+}
+
void SkDebugCanvas::drawSprite(const SkBitmap& bitmap, int left, int top,
const SkPaint* paint = NULL) {
addDrawCommand(new SkDrawSpriteCommand(bitmap, left, top, paint));
diff --git a/src/utils/debugger/SkDebugCanvas.h b/src/utils/debugger/SkDebugCanvas.h
index 262619e7f1..94316d5f59 100644
--- a/src/utils/debugger/SkDebugCanvas.h
+++ b/src/utils/debugger/SkDebugCanvas.h
@@ -233,6 +233,9 @@ public:
static const int kVizImageHeight = 256;
static const int kVizImageWidth = 256;
+protected:
+ virtual void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) SK_OVERRIDE;
+
private:
SkTDArray<SkDrawCommand*> fCommandVector;
int fWidth;