From 8fcad9879173d627ee8638c52709d924034e34ce Mon Sep 17 00:00:00 2001 From: "senorblanco@chromium.org" Date: Tue, 17 Sep 2013 13:41:43 +0000 Subject: Implement crop rect for the dilate and erode (morphology) filters. This provoked some cleanup on the GPU side: apply_morphology() now deals with SkBitmaps, rather than GrTextures. There's still a clear opportunity for more refactoring between the two filters. Note: this adds some test cases to the morphology GM, so it will require a rebaseline. R=bsalomon@google.com, reed@google.com Review URL: https://codereview.chromium.org/23892011 git-svn-id: http://skia.googlecode.com/svn/trunk@11313 2bbb7eff-a529-9590-31e7-b0007b416f81 --- include/effects/SkMorphologyImageFilter.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'include/effects') diff --git a/include/effects/SkMorphologyImageFilter.h b/include/effects/SkMorphologyImageFilter.h index def01e8e0a..d63f49dab9 100644 --- a/include/effects/SkMorphologyImageFilter.h +++ b/include/effects/SkMorphologyImageFilter.h @@ -14,7 +14,7 @@ class SK_API SkMorphologyImageFilter : public SkImageFilter { public: - SkMorphologyImageFilter(int radiusX, int radiusY, SkImageFilter* input); + SkMorphologyImageFilter(int radiusX, int radiusY, SkImageFilter* input, const SkIRect* cropRect); protected: SkMorphologyImageFilter(SkFlattenableReadBuffer& buffer); @@ -32,8 +32,10 @@ private: class SK_API SkDilateImageFilter : public SkMorphologyImageFilter { public: - SkDilateImageFilter(int radiusX, int radiusY, SkImageFilter* input = NULL) - : INHERITED(radiusX, radiusY, input) {} + SkDilateImageFilter(int radiusX, int radiusY, + SkImageFilter* input = NULL, + const SkIRect* cropRect = NULL) + : INHERITED(radiusX, radiusY, input, cropRect) {} virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&, SkBitmap* result, SkIPoint* offset) SK_OVERRIDE; @@ -53,8 +55,10 @@ private: class SK_API SkErodeImageFilter : public SkMorphologyImageFilter { public: - SkErodeImageFilter(int radiusX, int radiusY, SkImageFilter* input = NULL) - : INHERITED(radiusX, radiusY, input) {} + SkErodeImageFilter(int radiusX, int radiusY, + SkImageFilter* input = NULL, + const SkIRect* cropRect = NULL) + : INHERITED(radiusX, radiusY, input, cropRect) {} virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&, SkBitmap* result, SkIPoint* offset) SK_OVERRIDE; -- cgit v1.2.3