diff options
author | reed <reed@google.com> | 2016-03-22 08:59:19 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-22 08:59:19 -0700 |
commit | d6889293dd0942f27f9593f679722c956831f2c4 (patch) | |
tree | e7c4f9aa9ee2c4e318e8e5c8d69f6918fba1e865 /include | |
parent | 1088db92348baa013511a49392178fccf03e8008 (diff) |
Revert of Revert[2] of "switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.o… (patchset #3 id:40001 of https://codereview.chromium.org/1825073002/ )
Reason for revert:
CreateModeFilter not compiling
Original issue's description:
> Revert[2] of "switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.org/1822623002/ )"
>
> Fixed legacy withColorFilter to call new(er) make method
>
> This reverts commit 1eb81db650d31f50be67b12d60c4f9e7dd08432f.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825073002
>
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/4c9776b046dd5e9e46e2d1ce35154855c8fcb381
TBR=
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1821103004
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkColorFilter.h | 24 | ||||
-rw-r--r-- | include/core/SkPaint.h | 2 | ||||
-rw-r--r-- | include/core/SkShader.h | 6 | ||||
-rw-r--r-- | include/effects/SkBlurDrawLooper.h | 2 | ||||
-rw-r--r-- | include/effects/SkColorCubeFilter.h | 6 | ||||
-rw-r--r-- | include/effects/SkColorFilterImageFilter.h | 3 | ||||
-rw-r--r-- | include/effects/SkColorMatrixFilter.h | 21 | ||||
-rw-r--r-- | include/effects/SkLumaColorFilter.h | 6 | ||||
-rw-r--r-- | include/effects/SkTableColorFilter.h | 18 |
9 files changed, 24 insertions, 64 deletions
diff --git a/include/core/SkColorFilter.h b/include/core/SkColorFilter.h index 7ac335fb10..4c9795c271 100644 --- a/include/core/SkColorFilter.h +++ b/include/core/SkColorFilter.h @@ -86,7 +86,7 @@ public: * * e.g. result(color) == this_filter(inner(color)) */ - virtual sk_sp<SkColorFilter> makeComposed(sk_sp<SkColorFilter>) const { return nullptr; } + virtual SkColorFilter* newComposed(const SkColorFilter* /*inner*/) const { return NULL; } /** * Apply this colorfilter to the specified SkColor. This routine handles @@ -110,7 +110,7 @@ public: @return colorfilter object that applies the src color and mode, or NULL if the mode will have no effect. */ - static sk_sp<SkColorFilter> MakeModeFilter(SkColor c, SkXfermode::Mode mode); + static SkColorFilter* CreateModeFilter(SkColor c, SkXfermode::Mode mode); /** Construct a colorfilter whose effect is to first apply the inner filter and then apply * the outer filter to the result of the inner's. @@ -119,28 +119,12 @@ public: * Due to internal limits, it is possible that this will return NULL, so the caller must * always check. */ - static sk_sp<SkColorFilter> MakeComposeFilter(sk_sp<SkColorFilter> outer, - sk_sp<SkColorFilter> inner); + static SkColorFilter* CreateComposeFilter(SkColorFilter* outer, SkColorFilter* inner); /** Construct a color filter that transforms a color by a 4x5 matrix. The matrix is in row- * major order and the translation column is specified in unnormalized, 0...255, space. */ - static sk_sp<SkColorFilter> MakeMatrixFilterRowMajor255(const SkScalar array[20]); - -#ifdef SK_SUPPORT_LEGACY_COLORFILTER_PTR - static SkColorFilter* CreateModeFilter(SkColor c, SkXfermode::Mode mode) { - return MakeModeFilter(c, mode).release(); - } - static SkColorFilter* CreateComposeFilter(SkColorFilter* outer, SkColorFilter* inner) { - return MakeComposeFilter(sk_ref_sp(outer), sk_ref_sp(inner)).release(); - } - static SkColorFilter* CreateMatrixFilterRowMajor255(const SkScalar array[20]) { - return MakeMatrixFilterRowMajor255(array).release(); - } - virtual SkColorFilter* newComposed(const SkColorFilter* inner) const { - return this->makeComposed(sk_ref_sp(const_cast<SkColorFilter*>(inner))).release(); - } -#endif + static SkColorFilter* CreateMatrixFilterRowMajor255(const SkScalar array[20]); /** * A subclass may implement this factory function to work with the GPU backend. It returns diff --git a/include/core/SkPaint.h b/include/core/SkPaint.h index 21d7109cbb..f5c3bc3d4b 100644 --- a/include/core/SkPaint.h +++ b/include/core/SkPaint.h @@ -515,9 +515,7 @@ public: @param filter May be NULL. The filter to be installed in the paint @return filter */ -#ifdef SK_SUPPORT_LEGACY_COLORFILTER_PTR SkColorFilter* setColorFilter(SkColorFilter* filter); -#endif void setColorFilter(sk_sp<SkColorFilter>); /** Get the paint's xfermode object. diff --git a/include/core/SkShader.h b/include/core/SkShader.h index e2ebda5f10..c9c760d06d 100644 --- a/include/core/SkShader.h +++ b/include/core/SkShader.h @@ -359,7 +359,7 @@ public: * Create a new shader that produces the same colors as invoking this shader and then applying * the colorfilter. */ - sk_sp<SkShader> makeWithColorFilter(sk_sp<SkColorFilter>) const; + sk_sp<SkShader> makeWithColorFilter(SkColorFilter*) const; ////////////////////////////////////////////////////////////////////////// // Factory methods for stock shaders @@ -393,7 +393,9 @@ public: SkShader* newWithLocalMatrix(const SkMatrix& matrix) const { return this->makeWithLocalMatrix(matrix).release(); } - SkShader* newWithColorFilter(SkColorFilter* filter) const; + SkShader* newWithColorFilter(SkColorFilter* filter) const { + return this->makeWithColorFilter(filter).release(); + } #endif /** diff --git a/include/effects/SkBlurDrawLooper.h b/include/effects/SkBlurDrawLooper.h index 49b0c51f25..0371700ba4 100644 --- a/include/effects/SkBlurDrawLooper.h +++ b/include/effects/SkBlurDrawLooper.h @@ -65,7 +65,7 @@ protected: private: SkMaskFilter* fBlur; - sk_sp<SkColorFilter> fColorFilter; + SkColorFilter* fColorFilter; SkScalar fDx, fDy, fSigma; SkColor fBlurColor; uint32_t fBlurFlags; diff --git a/include/effects/SkColorCubeFilter.h b/include/effects/SkColorCubeFilter.h index 8b621292b0..8d63667c32 100644 --- a/include/effects/SkColorCubeFilter.h +++ b/include/effects/SkColorCubeFilter.h @@ -20,11 +20,7 @@ public: * This cube contains a transform where (x,y,z) maps to the (r,g,b). * The alpha components of the colors must be 0xFF. */ - static sk_sp<SkColorFilter> Make(sk_sp<SkData> cubeData, int cubeDimension); - -#ifdef SK_SUPPORT_LEGACY_COLORFILTER_PTR static SkColorFilter* Create(SkData* cubeData, int cubeDimension); -#endif void filterSpan(const SkPMColor src[], int count, SkPMColor[]) const override; uint32_t getFlags() const override; @@ -37,7 +33,7 @@ public: SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorCubeFilter) protected: - SkColorCubeFilter(sk_sp<SkData> cubeData, int cubeDimension); + SkColorCubeFilter(SkData* cubeData, int cubeDimension); void flatten(SkWriteBuffer&) const override; private: diff --git a/include/effects/SkColorFilterImageFilter.h b/include/effects/SkColorFilterImageFilter.h index c34e9ced59..6dd9df2495 100644 --- a/include/effects/SkColorFilterImageFilter.h +++ b/include/effects/SkColorFilterImageFilter.h @@ -31,8 +31,9 @@ private: SkColorFilterImageFilter(SkColorFilter* cf, SkImageFilter* input, const CropRect* cropRect); + virtual ~SkColorFilterImageFilter(); - sk_sp<SkColorFilter> fColorFilter; + SkColorFilter* fColorFilter; typedef SkImageFilter INHERITED; }; diff --git a/include/effects/SkColorMatrixFilter.h b/include/effects/SkColorMatrixFilter.h index 6e74bee315..d71d2ed533 100644 --- a/include/effects/SkColorMatrixFilter.h +++ b/include/effects/SkColorMatrixFilter.h @@ -13,25 +13,20 @@ class SK_API SkColorMatrixFilter : public SkColorFilter { public: + static SkColorFilter* Create(const SkColorMatrix& cm) { + return SkColorFilter::CreateMatrixFilterRowMajor255(cm.fMat); + } + static SkColorFilter* Create(const SkScalar array[20]) { + return SkColorFilter::CreateMatrixFilterRowMajor255(array); + } + /** * Create a colorfilter that multiplies the RGB channels by one color, and * then adds a second color, pinning the result for each component to * [0..255]. The alpha components of the mul and add arguments * are ignored. */ - static sk_sp<SkColorFilter> MakeLightingFilter(SkColor mul, SkColor add); - -#ifdef SK_SUPPORT_LEGACY_COLORFILTER_PTR - static SkColorFilter* Create(const SkColorMatrix& cm) { - return SkColorFilter::MakeMatrixFilterRowMajor255(cm.fMat).release(); - } - static SkColorFilter* Create(const SkScalar array[20]) { - return SkColorFilter::MakeMatrixFilterRowMajor255(array).release(); - } - static SkColorFilter* CreateLightingFilter(SkColor mul, SkColor add) { - return MakeLightingFilter(mul, add).release(); - } -#endif + static SkColorFilter* CreateLightingFilter(SkColor mul, SkColor add); }; #endif diff --git a/include/effects/SkLumaColorFilter.h b/include/effects/SkLumaColorFilter.h index 3a68607b19..8dd519af4a 100644 --- a/include/effects/SkLumaColorFilter.h +++ b/include/effects/SkLumaColorFilter.h @@ -23,11 +23,7 @@ */ class SK_API SkLumaColorFilter : public SkColorFilter { public: - static sk_sp<SkColorFilter> Make(); - -#ifdef SK_SUPPORT_LEGACY_COLORFILTER_PTR - static SkColorFilter* Create() { return Make().release(); } -#endif + static SkColorFilter* Create(); void filterSpan(const SkPMColor src[], int count, SkPMColor[]) const override; diff --git a/include/effects/SkTableColorFilter.h b/include/effects/SkTableColorFilter.h index fe31149464..e4d42dc00c 100644 --- a/include/effects/SkTableColorFilter.h +++ b/include/effects/SkTableColorFilter.h @@ -23,7 +23,7 @@ public: * colors are premultiplied, they are temporarily unpremultiplied, then * the table is applied, and then the result is remultiplied. */ - static sk_sp<SkColorFilter> Make(const uint8_t table[256]); + static SkColorFilter* Create(const uint8_t table[256]); /** * Create a table colorfilter, with a different table for each @@ -31,23 +31,11 @@ public: * treated as identity, with the component left unchanged. If a table * is not null, then its contents are copied into the filter. */ - static sk_sp<SkColorFilter> MakeARGB(const uint8_t tableA[256], - const uint8_t tableR[256], - const uint8_t tableG[256], - const uint8_t tableB[256]); - -#ifdef SK_SUPPORT_LEGACY_COLORFILTER_PTR - static SkColorFilter* Create(const uint8_t table[256]) { - return Make(table).release(); - } static SkColorFilter* CreateARGB(const uint8_t tableA[256], const uint8_t tableR[256], const uint8_t tableG[256], - const uint8_t tableB[256]) { - return MakeARGB(tableA, tableR, tableG, tableB).release(); - } -#endif - + const uint8_t tableB[256]); + SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP() }; |