Add missing functions to SkNWayCanvas
R=reed@google.com
BUG=none
Author: enne@chromium.org
Review URL: https://codereview.chromium.org/65513003
git-svn-id: http://skia.googlecode.com/svn/trunk@12295 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/utils/SkNWayCanvas.h b/include/utils/SkNWayCanvas.h
index c48bcab..eae3bfc 100644
--- a/include/utils/SkNWayCanvas.h
+++ b/include/utils/SkNWayCanvas.h
@@ -38,12 +38,12 @@
virtual bool clipPath(const SkPath&, SkRegion::Op, bool) SK_OVERRIDE;
virtual bool clipRegion(const SkRegion& deviceRgn,
SkRegion::Op) SK_OVERRIDE;
-
+ virtual void clear(SkColor) SK_OVERRIDE;
virtual void drawPaint(const SkPaint& paint) SK_OVERRIDE;
virtual void drawPoints(PointMode mode, size_t count, const SkPoint pts[],
const SkPaint&) SK_OVERRIDE;
- virtual void drawOval(const SkRect&, const SkPaint&) SK_OVERRIDE;
virtual void drawRect(const SkRect&, const SkPaint&) SK_OVERRIDE;
+ virtual void drawOval(const SkRect&, const SkPaint&) SK_OVERRIDE;
virtual void drawRRect(const SkRRect&, const SkPaint&) SK_OVERRIDE;
virtual void drawPath(const SkPath& path, const SkPaint&) SK_OVERRIDE;
virtual void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top,
@@ -53,6 +53,9 @@
DrawBitmapRectFlags flags) SK_OVERRIDE;
virtual void drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m,
const SkPaint*) SK_OVERRIDE;
+ virtual void drawBitmapNine(const SkBitmap& bitmap, const SkIRect& center,
+ const SkRect& dst,
+ const SkPaint* paint = NULL) SK_OVERRIDE;
virtual void drawSprite(const SkBitmap& bitmap, int left, int top,
const SkPaint*) SK_OVERRIDE;
virtual void drawText(const void* text, size_t byteLength, SkScalar x,
@@ -71,6 +74,7 @@
const SkColor colors[], SkXfermode* xmode,
const uint16_t indices[], int indexCount,
const SkPaint&) SK_OVERRIDE;
+ virtual void drawData(const void* data, size_t length) SK_OVERRIDE;
virtual SkBounder* setBounder(SkBounder*) SK_OVERRIDE;
virtual SkDrawFilter* setDrawFilter(SkDrawFilter*) SK_OVERRIDE;
diff --git a/src/utils/SkNWayCanvas.cpp b/src/utils/SkNWayCanvas.cpp
index eeb1bc2..da8bdb6 100644
--- a/src/utils/SkNWayCanvas.cpp
+++ b/src/utils/SkNWayCanvas.cpp
@@ -168,6 +168,13 @@
return this->INHERITED::clipRegion(deviceRgn, op);
}
+void SkNWayCanvas::clear(SkColor color) {
+ Iter iter(fList);
+ while (iter.next()) {
+ iter->clear(color);
+ }
+}
+
void SkNWayCanvas::drawPaint(const SkPaint& paint) {
Iter iter(fList);
while (iter.next()) {
@@ -183,13 +190,6 @@
}
}
-void SkNWayCanvas::drawOval(const SkRect& rect, const SkPaint& paint) {
- Iter iter(fList);
- while (iter.next()) {
- iter->drawOval(rect, paint);
- }
-}
-
void SkNWayCanvas::drawRect(const SkRect& rect, const SkPaint& paint) {
Iter iter(fList);
while (iter.next()) {
@@ -197,6 +197,13 @@
}
}
+void SkNWayCanvas::drawOval(const SkRect& rect, const SkPaint& paint) {
+ Iter iter(fList);
+ while (iter.next()) {
+ iter->drawOval(rect, paint);
+ }
+}
+
void SkNWayCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) {
Iter iter(fList);
while (iter.next()) {
@@ -236,6 +243,14 @@
}
}
+void SkNWayCanvas::drawBitmapNine(const SkBitmap& bitmap, const SkIRect& center,
+ const SkRect& dst, const SkPaint* paint) {
+ Iter iter(fList);
+ while (iter.next()) {
+ iter->drawBitmapNine(bitmap, center, dst, paint);
+ }
+}
+
void SkNWayCanvas::drawSprite(const SkBitmap& bitmap, int x, int y,
const SkPaint* paint) {
Iter iter(fList);
@@ -297,6 +312,13 @@
}
}
+void SkNWayCanvas::drawData(const void* data, size_t length) {
+ Iter iter(fList);
+ while (iter.next()) {
+ iter->drawData(data, length);
+ }
+}
+
SkBounder* SkNWayCanvas::setBounder(SkBounder* bounder) {
Iter iter(fList);
while (iter.next()) {