| Index: src/utils/SkPaintFilterCanvas.cpp
|
| diff --git a/src/utils/SkPaintFilterCanvas.cpp b/src/utils/SkPaintFilterCanvas.cpp
|
| index 1abebef8cad5e517da186c9dc945d7ed22a15a3f..98c89addb52b0a8f913347ea67213bd5b1c67c08 100644
|
| --- a/src/utils/SkPaintFilterCanvas.cpp
|
| +++ b/src/utils/SkPaintFilterCanvas.cpp
|
| @@ -30,6 +30,18 @@ private:
|
|
|
| SkPaintFilterCanvas::SkPaintFilterCanvas(int width, int height) : INHERITED(width, height) { }
|
|
|
| +SkPaintFilterCanvas::SkPaintFilterCanvas(SkCanvas *canvas)
|
| + : INHERITED(canvas->imageInfo().width(), canvas->imageInfo().height()) {
|
| +
|
| + // Transfer matrix & clip state before adding the target canvas.
|
| + SkIRect devClip;
|
| + canvas->getClipDeviceBounds(&devClip);
|
| + this->clipRect(SkRect::Make(devClip));
|
| + this->setMatrix(canvas->getTotalMatrix());
|
| +
|
| + this->addCanvas(canvas);
|
| +}
|
| +
|
| void SkPaintFilterCanvas::onDrawPaint(const SkPaint& paint) {
|
| AutoPaintFilter apf(this, kPaint_Type, paint);
|
| this->INHERITED::onDrawPaint(*apf.paint());
|
|
|