aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar Matt Sarett <msarett@google.com>2017-04-10 16:35:33 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-04-10 21:28:43 +0000
commit6d72ed918d8763e65899183c2d12b06958c791f4 (patch)
tree0ae05fc489d85aed6f0f928680533fc7d15e1540 /include
parent67cadde35b9fceef49c332ce892d025c576b5983 (diff)
SkImageFilter::onMakeColorSpace() - more overrides
Fills out most of the simple implementations. Improves 22 gms in gbr-8888. Bug: skia: Change-Id: I881ade140993568263de75be51aed240d2de8cc6 Reviewed-on: https://skia-review.googlesource.com/13126 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/core/SkImageFilter.h16
-rw-r--r--include/effects/SkColorFilterImageFilter.h1
-rw-r--r--include/effects/SkComposeImageFilter.h1
-rw-r--r--include/effects/SkDisplacementMapEffect.h1
-rw-r--r--include/effects/SkDropShadowImageFilter.h1
-rw-r--r--include/effects/SkImageSource.h1
-rw-r--r--include/effects/SkMagnifierImageFilter.h1
-rw-r--r--include/effects/SkMatrixConvolutionImageFilter.h1
-rw-r--r--include/effects/SkMergeImageFilter.h1
-rw-r--r--include/effects/SkMorphologyImageFilter.h1
-rw-r--r--include/effects/SkOffsetImageFilter.h1
-rw-r--r--include/effects/SkTileImageFilter.h1
12 files changed, 27 insertions, 0 deletions
diff --git a/include/core/SkImageFilter.h b/include/core/SkImageFilter.h
index 74e8d80c31..ee24d96964 100644
--- a/include/core/SkImageFilter.h
+++ b/include/core/SkImageFilter.h
@@ -411,8 +411,24 @@ protected:
}
private:
+ // For makeColorSpace().
friend class ArithmeticImageFilterImpl;
+ friend class SkAlphaThresholdFilterImpl;
+ friend class SkBlurImageFilterImpl;
+ friend class SkColorFilterImageFilter;
friend class SkColorSpaceXformer;
+ friend class SkComposeImageFilter;
+ friend class SkDisplacementMapEffect;
+ friend class SkDropShadowImageFilter;
+ friend class SkImageSource;
+ friend class SkMagnifierImageFilter;
+ friend class SkMatrixConvolutionImageFilter;
+ friend class SkMergeImageFilter;
+ friend class SkMorphologyImageFilter;
+ friend class SkOffsetImageFilter;
+ friend class SkTileImageFilter;
+ friend class SkXfermodeImageFilter_Base;
+
friend class SkGraphics;
static void PurgeCache();
diff --git a/include/effects/SkColorFilterImageFilter.h b/include/effects/SkColorFilterImageFilter.h
index 7255ba0ac5..e9af51c4d9 100644
--- a/include/effects/SkColorFilterImageFilter.h
+++ b/include/effects/SkColorFilterImageFilter.h
@@ -25,6 +25,7 @@ protected:
void flatten(SkWriteBuffer&) const override;
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&,
SkIPoint* offset) const override;
+ sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
bool onIsColorFilterNode(SkColorFilter**) const override;
bool onCanHandleComplexCTM() const override { return true; }
bool affectsTransparentBlack() const override;
diff --git a/include/effects/SkComposeImageFilter.h b/include/effects/SkComposeImageFilter.h
index 48757a7569..02200117fb 100644
--- a/include/effects/SkComposeImageFilter.h
+++ b/include/effects/SkComposeImageFilter.h
@@ -26,6 +26,7 @@ protected:
}
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&,
SkIPoint* offset) const override;
+ sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
SkIRect onFilterBounds(const SkIRect&, const SkMatrix&, MapDirection) const override;
bool onCanHandleComplexCTM() const override { return true; }
diff --git a/include/effects/SkDisplacementMapEffect.h b/include/effects/SkDisplacementMapEffect.h
index 72c70a1f8c..c5442799f9 100644
--- a/include/effects/SkDisplacementMapEffect.h
+++ b/include/effects/SkDisplacementMapEffect.h
@@ -35,6 +35,7 @@ public:
virtual SkIRect onFilterBounds(const SkIRect& src, const SkMatrix&,
MapDirection) const override;
+ sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
SkIRect onFilterNodeBounds(const SkIRect&, const SkMatrix&, MapDirection) const override;
SK_TO_STRING_OVERRIDE()
diff --git a/include/effects/SkDropShadowImageFilter.h b/include/effects/SkDropShadowImageFilter.h
index aaa8b096d9..b041c0efc6 100644
--- a/include/effects/SkDropShadowImageFilter.h
+++ b/include/effects/SkDropShadowImageFilter.h
@@ -36,6 +36,7 @@ protected:
void flatten(SkWriteBuffer&) const override;
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&,
SkIPoint* offset) const override;
+ sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
SkIRect onFilterNodeBounds(const SkIRect& src, const SkMatrix&, MapDirection) const override;
private:
diff --git a/include/effects/SkImageSource.h b/include/effects/SkImageSource.h
index 6953497ea7..04348c68e8 100644
--- a/include/effects/SkImageSource.h
+++ b/include/effects/SkImageSource.h
@@ -29,6 +29,7 @@ protected:
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&,
SkIPoint* offset) const override;
+ sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
private:
explicit SkImageSource(sk_sp<SkImage>);
diff --git a/include/effects/SkMagnifierImageFilter.h b/include/effects/SkMagnifierImageFilter.h
index 84cc9db57d..fa9a996298 100644
--- a/include/effects/SkMagnifierImageFilter.h
+++ b/include/effects/SkMagnifierImageFilter.h
@@ -30,6 +30,7 @@ protected:
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&,
SkIPoint* offset) const override;
+ sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
private:
SkRect fSrcRect;
diff --git a/include/effects/SkMatrixConvolutionImageFilter.h b/include/effects/SkMatrixConvolutionImageFilter.h
index a18898dccf..5615469e07 100644
--- a/include/effects/SkMatrixConvolutionImageFilter.h
+++ b/include/effects/SkMatrixConvolutionImageFilter.h
@@ -81,6 +81,7 @@ protected:
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&,
SkIPoint* offset) const override;
+ sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
SkIRect onFilterNodeBounds(const SkIRect&, const SkMatrix&, MapDirection) const override;
bool affectsTransparentBlack() const override;
diff --git a/include/effects/SkMergeImageFilter.h b/include/effects/SkMergeImageFilter.h
index f4cd4134d5..03f0cea4e0 100644
--- a/include/effects/SkMergeImageFilter.h
+++ b/include/effects/SkMergeImageFilter.h
@@ -27,6 +27,7 @@ protected:
void flatten(SkWriteBuffer&) const override;
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&,
SkIPoint* offset) const override;
+ sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
bool onCanHandleComplexCTM() const override { return true; }
private:
diff --git a/include/effects/SkMorphologyImageFilter.h b/include/effects/SkMorphologyImageFilter.h
index 57413f230e..9785091888 100644
--- a/include/effects/SkMorphologyImageFilter.h
+++ b/include/effects/SkMorphologyImageFilter.h
@@ -42,6 +42,7 @@ protected:
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source,
const Context&,
SkIPoint* offset) const override;
+ sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
void flatten(SkWriteBuffer&) const override;
SkISize radius() const { return fRadius; }
diff --git a/include/effects/SkOffsetImageFilter.h b/include/effects/SkOffsetImageFilter.h
index cc3ccbf489..5d1f70397b 100644
--- a/include/effects/SkOffsetImageFilter.h
+++ b/include/effects/SkOffsetImageFilter.h
@@ -26,6 +26,7 @@ protected:
void flatten(SkWriteBuffer&) const override;
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&,
SkIPoint* offset) const override;
+ sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
SkIRect onFilterNodeBounds(const SkIRect&, const SkMatrix&, MapDirection) const override;
private:
diff --git a/include/effects/SkTileImageFilter.h b/include/effects/SkTileImageFilter.h
index d525fe973d..2707741ec8 100644
--- a/include/effects/SkTileImageFilter.h
+++ b/include/effects/SkTileImageFilter.h
@@ -33,6 +33,7 @@ protected:
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&,
SkIPoint* offset) const override;
+ sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
private:
SkTileImageFilter(const SkRect& srcRect, const SkRect& dstRect, sk_sp<SkImageFilter> input)