From 95376a0dde3cdf414eb97a20cef3af19ed7e0151 Mon Sep 17 00:00:00 2001 From: schenney Date: Tue, 6 Oct 2015 12:59:55 -0700 Subject: Revert of factories should return baseclass, allowing the impl to specialize (patchset #4 id:60001 of https://codereview.chromium.org/1390523005/ ) Reason for revert: Breaks Chrome with this link error: ../../third_party/skia/include/effects/SkMorphologyImageFilter.h:75: error: undefined reference to 'SkMorphologyImageFilter::SkMorphologyImageFilter(int, int, SkImageFilter*, SkImageFilter::CropRect const*)' ../../third_party/skia/include/effects/SkMorphologyImageFilter.h:104: error: undefined reference to 'SkMorphologyImageFilter::SkMorphologyImageFilter(int, int, SkImageFilter*, SkImageFilter::CropRect const*)' Presumably due to code in third_party/WebKit/Source/platform/graphics/filters/FEMorphology.cpp that contains: #include "SkMorphologyImageFilter.h" ... if (m_type == FEMORPHOLOGY_OPERATOR_DILATE) return adoptRef(SkDilateImageFilter::Create(radiusX, radiusY, input.get(), &rect)); return adoptRef(SkErodeImageFilter::Create(radiusX, radiusY, input.get(), &rect)); Original issue's description: > factories should return baseclass, allowing the impl to specialize > > waiting on https://codereview.chromium.org/1386163002/# to land > > BUG=skia:4424 > > Committed: https://skia.googlesource.com/skia/+/80a6dcaa1b757826ed7414f64b035d512d9ccbf8 TBR=senorblanco@google.com,robertphillips@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4424 Review URL: https://codereview.chromium.org/1389063002 --- include/effects/SkTileImageFilter.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'include/effects/SkTileImageFilter.h') diff --git a/include/effects/SkTileImageFilter.h b/include/effects/SkTileImageFilter.h index a2a1bb0fe1..4dccf852be 100644 --- a/include/effects/SkTileImageFilter.h +++ b/include/effects/SkTileImageFilter.h @@ -15,11 +15,12 @@ class SK_API SkTileImageFilter : public SkImageFilter { public: /** Create a tile image filter - @param src Defines the pixels to tile - @param dst Defines the pixels where tiles are drawn + @param srcRect Defines the pixels to tile + @param dstRect Defines the pixels where tiles are drawn @param input Input from which the subregion defined by srcRect will be tiled */ - static SkImageFilter* Create(const SkRect& src, const SkRect& dst, SkImageFilter* input); + static SkTileImageFilter* Create(const SkRect& srcRect, const SkRect& dstRect, + SkImageFilter* input); bool onFilterImage(Proxy* proxy, const SkBitmap& src, const Context& ctx, SkBitmap* dst, SkIPoint* offset) const override; @@ -31,12 +32,12 @@ public: SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTileImageFilter) protected: - void flatten(SkWriteBuffer& buffer) const override; - -private: SkTileImageFilter(const SkRect& srcRect, const SkRect& dstRect, SkImageFilter* input) : INHERITED(1, &input, NULL), fSrcRect(srcRect), fDstRect(dstRect) {} + void flatten(SkWriteBuffer& buffer) const override; + +private: SkRect fSrcRect; SkRect fDstRect; }; -- cgit v1.2.3