aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-03-22 08:59:19 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-03-22 08:59:19 -0700
commitd6889293dd0942f27f9593f679722c956831f2c4 (patch)
treee7c4f9aa9ee2c4e318e8e5c8d69f6918fba1e865 /include
parent1088db92348baa013511a49392178fccf03e8008 (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.h24
-rw-r--r--include/core/SkPaint.h2
-rw-r--r--include/core/SkShader.h6
-rw-r--r--include/effects/SkBlurDrawLooper.h2
-rw-r--r--include/effects/SkColorCubeFilter.h6
-rw-r--r--include/effects/SkColorFilterImageFilter.h3
-rw-r--r--include/effects/SkColorMatrixFilter.h21
-rw-r--r--include/effects/SkLumaColorFilter.h6
-rw-r--r--include/effects/SkTableColorFilter.h18
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()
};