diff options
author | 2013-09-17 13:41:43 +0000 | |
---|---|---|
committer | 2013-09-17 13:41:43 +0000 | |
commit | 8fcad9879173d627ee8638c52709d924034e34ce (patch) | |
tree | ef6f26ca87e39051d5ffe8749ee8b0eb7730b403 /include/effects | |
parent | ef45a646a730b779f419e8ea11df374adeec8206 (diff) |
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
Diffstat (limited to 'include/effects')
-rw-r--r-- | include/effects/SkMorphologyImageFilter.h | 14 |
1 files changed, 9 insertions, 5 deletions
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; |