diff options
-rw-r--r-- | BUILD.gn | 11 | ||||
-rw-r--r-- | gn/effects.gni | 34 | ||||
-rw-r--r-- | gn/effects_imagefilters.gni | 44 | ||||
-rw-r--r-- | gn/shared_sources.gni | 1 | ||||
-rw-r--r-- | include/core/SkFlattenable.h | 1 | ||||
-rw-r--r-- | src/core/SkGlobalInitialization_core.cpp | 1 | ||||
-rw-r--r-- | src/effects/imagefilters/SkAlphaThresholdFilter.cpp (renamed from src/effects/SkAlphaThresholdFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkArithmeticImageFilter.cpp (renamed from src/effects/SkArithmeticImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkColorFilterImageFilter.cpp (renamed from src/effects/SkColorFilterImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkComposeImageFilter.cpp (renamed from src/effects/SkComposeImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkDisplacementMapEffect.cpp (renamed from src/effects/SkDisplacementMapEffect.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkDropShadowImageFilter.cpp (renamed from src/effects/SkDropShadowImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkImageSource.cpp (renamed from src/effects/SkImageSource.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkLightingImageFilter.cpp (renamed from src/effects/SkLightingImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkMagnifierImageFilter.cpp (renamed from src/effects/SkMagnifierImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkMatrixConvolutionImageFilter.cpp (renamed from src/effects/SkMatrixConvolutionImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkMergeImageFilter.cpp (renamed from src/effects/SkMergeImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkMorphologyImageFilter.cpp (renamed from src/effects/SkMorphologyImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkOffsetImageFilter.cpp (renamed from src/effects/SkOffsetImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkPaintImageFilter.cpp (renamed from src/effects/SkPaintImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkPictureImageFilter.cpp (renamed from src/effects/SkPictureImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkTileImageFilter.cpp (renamed from src/effects/SkTileImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/effects/imagefilters/SkXfermodeImageFilter.cpp (renamed from src/effects/SkXfermodeImageFilter.cpp) | 0 | ||||
-rw-r--r-- | src/ports/SkGlobalInitialization_default.cpp | 49 | ||||
-rw-r--r-- | src/ports/SkGlobalInitialization_default_imagefilters.cpp | 57 | ||||
-rw-r--r-- | src/ports/SkGlobalInitialization_none_imagefilters.cpp | 10 |
26 files changed, 124 insertions, 84 deletions
@@ -34,6 +34,7 @@ declare_args() { skia_android_serial = "" skia_enable_discrete_gpu = true skia_enable_effects = true + skia_enable_effects_imagefilters = true skia_enable_flutter_defines = false skia_enable_fontmgr_empty = false skia_enable_gpu = true @@ -371,7 +372,15 @@ optional("effects") { ] sources = skia_effects_sources + [ "src/ports/SkGlobalInitialization_default.cpp" ] - sources_when_disabled = [ "src/ports/SkGlobalInitialization_none.cpp" ] + if (skia_enable_effects_imagefilters) { + sources += skia_effects_imagefilter_sources + } else { + sources += [ "src/ports/SkGlobalInitialization_none_imagefilters.cpp" ] + } + sources_when_disabled = [ + "src/ports/SkGlobalInitialization_none.cpp", + "src/ports/SkGlobalInitialization_none_imagefilters.cpp", + ] } optional("fontmgr_android") { diff --git a/gn/effects.gni b/gn/effects.gni index 93dbf7ea1c..299d5e986d 100644 --- a/gn/effects.gni +++ b/gn/effects.gni @@ -12,43 +12,26 @@ skia_effects_sources = [ "$_src/effects/Sk1DPathEffect.cpp", "$_src/effects/Sk2DPathEffect.cpp", - "$_src/effects/SkAlphaThresholdFilter.cpp", - "$_src/effects/SkArithmeticImageFilter.cpp", - "$_src/effects/SkColorFilterImageFilter.cpp", "$_src/effects/SkColorMatrix.cpp", "$_src/effects/SkColorMatrixFilter.cpp", - "$_src/effects/SkComposeImageFilter.cpp", "$_src/effects/SkCornerPathEffect.cpp", "$_src/effects/SkDashPathEffect.cpp", "$_src/effects/SkDiscretePathEffect.cpp", - "$_src/effects/SkDisplacementMapEffect.cpp", - "$_src/effects/SkDropShadowImageFilter.cpp", "$_src/effects/SkEmbossMask.cpp", "$_src/effects/SkEmbossMask.h", "$_src/effects/SkEmbossMaskFilter.cpp", - "$_src/effects/SkImageSource.cpp", "$_src/effects/SkHighContrastFilter.cpp", "$_src/effects/SkLayerDrawLooper.cpp", - "$_src/effects/SkLightingImageFilter.cpp", "$_src/effects/SkLumaColorFilter.cpp", - "$_src/effects/SkMagnifierImageFilter.cpp", - "$_src/effects/SkMatrixConvolutionImageFilter.cpp", - "$_src/effects/SkMergeImageFilter.cpp", - "$_src/effects/SkMorphologyImageFilter.cpp", - "$_src/effects/SkOffsetImageFilter.cpp", "$_src/effects/SkOverdrawColorFilter.cpp", "$_src/effects/SkPackBits.cpp", "$_src/effects/SkPackBits.h", "$_src/effects/SkPaintFlagsDrawFilter.cpp", - "$_src/effects/SkPaintImageFilter.cpp", - "$_src/effects/SkPictureImageFilter.cpp", "$_src/effects/SkShaderMaskFilter.cpp", "$_src/effects/SkTableColorFilter.cpp", "$_src/effects/SkTableMaskFilter.cpp", - "$_src/effects/SkTileImageFilter.cpp", "$_src/effects/SkToSRGBColorFilter.cpp", "$_src/effects/SkTrimPathEffect.cpp", - "$_src/effects/SkXfermodeImageFilter.cpp", "$_src/shaders/SkPerlinNoiseShader.cpp", "$_src/shaders/gradients/Sk4fGradientBase.cpp", @@ -73,37 +56,20 @@ skia_effects_sources = [ "$_include/effects/Sk1DPathEffect.h", "$_include/effects/Sk2DPathEffect.h", - "$_include/effects/SkAlphaThresholdFilter.h", - "$_include/effects/SkArithmeticImageFilter.h", "$_include/effects/SkBlurDrawLooper.h", - "$_include/effects/SkBlurImageFilter.h", "$_include/effects/SkBlurMaskFilter.h", - "$_include/effects/SkColorFilterImageFilter.h", "$_include/effects/SkColorMatrix.h", "$_include/effects/SkColorMatrixFilter.h", "$_include/effects/SkCornerPathEffect.h", "$_include/effects/SkDashPathEffect.h", "$_include/effects/SkDiscretePathEffect.h", - "$_include/effects/SkDisplacementMapEffect.h", - "$_include/effects/SkDropShadowImageFilter.h", "$_include/effects/SkGradientShader.h", - "$_include/effects/SkImageSource.h", "$_include/effects/SkLayerDrawLooper.h", - "$_include/effects/SkLightingImageFilter.h", "$_include/effects/SkLumaColorFilter.h", - "$_include/effects/SkMagnifierImageFilter.h", - "$_include/effects/SkMorphologyImageFilter.h", - "$_include/effects/SkOffsetImageFilter.h", "$_include/effects/SkOverdrawColorFilter.h", "$_include/effects/SkPaintFlagsDrawFilter.h", - "$_include/effects/SkPaintImageFilter.h", "$_include/effects/SkPerlinNoiseShader.h", "$_include/effects/SkTableColorFilter.h", "$_include/effects/SkTableMaskFilter.h", - "$_include/effects/SkTileImageFilter.h", "$_include/effects/SkToSRGBColorFilter.h", - "$_include/effects/SkXfermodeImageFilter.h", ] - -# this will move to a real file after we land a reference to this in chrome -skia_effects_imagefilter_sources = [] diff --git a/gn/effects_imagefilters.gni b/gn/effects_imagefilters.gni new file mode 100644 index 0000000000..70c30c8d0b --- /dev/null +++ b/gn/effects_imagefilters.gni @@ -0,0 +1,44 @@ +# Copyright 2016 Google Inc. +# +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# Things are easiest for everyone if these source paths are absolute. +_src = get_path_info("../src", "abspath") +_include = get_path_info("../include", "abspath") + +skia_effects_imagefilter_sources = [ + "$_src/ports/SkGlobalInitialization_default_imagefilters.cpp", + + "$_src/effects/imagefilters/SkAlphaThresholdFilter.cpp", + "$_src/effects/imagefilters/SkArithmeticImageFilter.cpp", + "$_src/effects/imagefilters/SkColorFilterImageFilter.cpp", + "$_src/effects/imagefilters/SkComposeImageFilter.cpp", + "$_src/effects/imagefilters/SkDisplacementMapEffect.cpp", + "$_src/effects/imagefilters/SkDropShadowImageFilter.cpp", + "$_src/effects/imagefilters/SkImageSource.cpp", + "$_src/effects/imagefilters/SkLightingImageFilter.cpp", + "$_src/effects/imagefilters/SkMagnifierImageFilter.cpp", + "$_src/effects/imagefilters/SkMatrixConvolutionImageFilter.cpp", + "$_src/effects/imagefilters/SkMergeImageFilter.cpp", + "$_src/effects/imagefilters/SkMorphologyImageFilter.cpp", + "$_src/effects/imagefilters/SkOffsetImageFilter.cpp", + "$_src/effects/imagefilters/SkPaintImageFilter.cpp", + "$_src/effects/imagefilters/SkPictureImageFilter.cpp", + "$_src/effects/imagefilters/SkTileImageFilter.cpp", + "$_src/effects/imagefilters/SkXfermodeImageFilter.cpp", + + "$_include/effects/SkAlphaThresholdFilter.h", + "$_include/effects/SkArithmeticImageFilter.h", + "$_include/effects/SkColorFilterImageFilter.h", + "$_include/effects/SkDisplacementMapEffect.h", + "$_include/effects/SkDropShadowImageFilter.h", + "$_include/effects/SkImageSource.h", + "$_include/effects/SkLightingImageFilter.h", + "$_include/effects/SkMagnifierImageFilter.h", + "$_include/effects/SkMorphologyImageFilter.h", + "$_include/effects/SkOffsetImageFilter.h", + "$_include/effects/SkPaintImageFilter.h", + "$_include/effects/SkTileImageFilter.h", + "$_include/effects/SkXfermodeImageFilter.h", +] diff --git a/gn/shared_sources.gni b/gn/shared_sources.gni index 6df999921a..648d3ee7a9 100644 --- a/gn/shared_sources.gni +++ b/gn/shared_sources.gni @@ -5,6 +5,7 @@ import("core.gni") import("effects.gni") +import("effects_imagefilters.gni") import("gpu.gni") import("opts.gni") import("pdf.gni") diff --git a/include/core/SkFlattenable.h b/include/core/SkFlattenable.h index 19fabe4086..1bee00a403 100644 --- a/include/core/SkFlattenable.h +++ b/include/core/SkFlattenable.h @@ -90,6 +90,7 @@ protected: public: static void InitCore(); static void InitEffects(); + static void InitImageFilters(); }; private: diff --git a/src/core/SkGlobalInitialization_core.cpp b/src/core/SkGlobalInitialization_core.cpp index cb4d1d0549..27f801d6c1 100644 --- a/src/core/SkGlobalInitialization_core.cpp +++ b/src/core/SkGlobalInitialization_core.cpp @@ -50,6 +50,7 @@ void SkFlattenable::PrivateInitializer::InitCore() { // Now initialize any optional/additional effects (implemented in src/ports) InitEffects(); + InitImageFilters(); // Finalize flattenable initialization. SkFlattenable::Finalize(); diff --git a/src/effects/SkAlphaThresholdFilter.cpp b/src/effects/imagefilters/SkAlphaThresholdFilter.cpp index 9dc8ae4b02..9dc8ae4b02 100644 --- a/src/effects/SkAlphaThresholdFilter.cpp +++ b/src/effects/imagefilters/SkAlphaThresholdFilter.cpp diff --git a/src/effects/SkArithmeticImageFilter.cpp b/src/effects/imagefilters/SkArithmeticImageFilter.cpp index 3fc065536b..3fc065536b 100644 --- a/src/effects/SkArithmeticImageFilter.cpp +++ b/src/effects/imagefilters/SkArithmeticImageFilter.cpp diff --git a/src/effects/SkColorFilterImageFilter.cpp b/src/effects/imagefilters/SkColorFilterImageFilter.cpp index fcbe2261db..fcbe2261db 100644 --- a/src/effects/SkColorFilterImageFilter.cpp +++ b/src/effects/imagefilters/SkColorFilterImageFilter.cpp diff --git a/src/effects/SkComposeImageFilter.cpp b/src/effects/imagefilters/SkComposeImageFilter.cpp index 842588d9c6..842588d9c6 100644 --- a/src/effects/SkComposeImageFilter.cpp +++ b/src/effects/imagefilters/SkComposeImageFilter.cpp diff --git a/src/effects/SkDisplacementMapEffect.cpp b/src/effects/imagefilters/SkDisplacementMapEffect.cpp index 8983fcacbd..8983fcacbd 100644 --- a/src/effects/SkDisplacementMapEffect.cpp +++ b/src/effects/imagefilters/SkDisplacementMapEffect.cpp diff --git a/src/effects/SkDropShadowImageFilter.cpp b/src/effects/imagefilters/SkDropShadowImageFilter.cpp index 36a9d7110d..36a9d7110d 100644 --- a/src/effects/SkDropShadowImageFilter.cpp +++ b/src/effects/imagefilters/SkDropShadowImageFilter.cpp diff --git a/src/effects/SkImageSource.cpp b/src/effects/imagefilters/SkImageSource.cpp index 960de37b33..960de37b33 100644 --- a/src/effects/SkImageSource.cpp +++ b/src/effects/imagefilters/SkImageSource.cpp diff --git a/src/effects/SkLightingImageFilter.cpp b/src/effects/imagefilters/SkLightingImageFilter.cpp index 064c16d48a..064c16d48a 100644 --- a/src/effects/SkLightingImageFilter.cpp +++ b/src/effects/imagefilters/SkLightingImageFilter.cpp diff --git a/src/effects/SkMagnifierImageFilter.cpp b/src/effects/imagefilters/SkMagnifierImageFilter.cpp index 40624ab05a..40624ab05a 100644 --- a/src/effects/SkMagnifierImageFilter.cpp +++ b/src/effects/imagefilters/SkMagnifierImageFilter.cpp diff --git a/src/effects/SkMatrixConvolutionImageFilter.cpp b/src/effects/imagefilters/SkMatrixConvolutionImageFilter.cpp index 9e71ab629e..9e71ab629e 100644 --- a/src/effects/SkMatrixConvolutionImageFilter.cpp +++ b/src/effects/imagefilters/SkMatrixConvolutionImageFilter.cpp diff --git a/src/effects/SkMergeImageFilter.cpp b/src/effects/imagefilters/SkMergeImageFilter.cpp index 3225ba8821..3225ba8821 100644 --- a/src/effects/SkMergeImageFilter.cpp +++ b/src/effects/imagefilters/SkMergeImageFilter.cpp diff --git a/src/effects/SkMorphologyImageFilter.cpp b/src/effects/imagefilters/SkMorphologyImageFilter.cpp index 8b3e76cb5d..8b3e76cb5d 100644 --- a/src/effects/SkMorphologyImageFilter.cpp +++ b/src/effects/imagefilters/SkMorphologyImageFilter.cpp diff --git a/src/effects/SkOffsetImageFilter.cpp b/src/effects/imagefilters/SkOffsetImageFilter.cpp index 8dacc11120..8dacc11120 100644 --- a/src/effects/SkOffsetImageFilter.cpp +++ b/src/effects/imagefilters/SkOffsetImageFilter.cpp diff --git a/src/effects/SkPaintImageFilter.cpp b/src/effects/imagefilters/SkPaintImageFilter.cpp index c0be41fdb9..c0be41fdb9 100644 --- a/src/effects/SkPaintImageFilter.cpp +++ b/src/effects/imagefilters/SkPaintImageFilter.cpp diff --git a/src/effects/SkPictureImageFilter.cpp b/src/effects/imagefilters/SkPictureImageFilter.cpp index b9c298dbac..b9c298dbac 100644 --- a/src/effects/SkPictureImageFilter.cpp +++ b/src/effects/imagefilters/SkPictureImageFilter.cpp diff --git a/src/effects/SkTileImageFilter.cpp b/src/effects/imagefilters/SkTileImageFilter.cpp index 7ced09ec6e..7ced09ec6e 100644 --- a/src/effects/SkTileImageFilter.cpp +++ b/src/effects/imagefilters/SkTileImageFilter.cpp diff --git a/src/effects/SkXfermodeImageFilter.cpp b/src/effects/imagefilters/SkXfermodeImageFilter.cpp index 7393ab9485..7393ab9485 100644 --- a/src/effects/SkXfermodeImageFilter.cpp +++ b/src/effects/imagefilters/SkXfermodeImageFilter.cpp diff --git a/src/ports/SkGlobalInitialization_default.cpp b/src/ports/SkGlobalInitialization_default.cpp index 83a35acd4e..22aabc2314 100644 --- a/src/ports/SkGlobalInitialization_default.cpp +++ b/src/ports/SkGlobalInitialization_default.cpp @@ -7,48 +7,21 @@ #include "Sk1DPathEffect.h" #include "Sk2DPathEffect.h" -#include "SkAlphaThresholdFilter.h" -#include "SkBlurImageFilter.h" -#include "SkColorFilterImageFilter.h" #include "SkColorMatrixFilterRowMajor255.h" -#include "SkComposeImageFilter.h" #include "SkCornerPathEffect.h" #include "../../src/effects/SkDashImpl.h" #include "SkDiscretePathEffect.h" -#include "SkDisplacementMapEffect.h" -#include "SkDropShadowImageFilter.h" #include "../../src/effects/SkEmbossMaskFilter.h" #include "SkGradientShader.h" #include "SkHighContrastFilter.h" -#include "SkImageSource.h" #include "SkLayerDrawLooper.h" -#include "SkLightingImageFilter.h" -#include "SkLocalMatrixImageFilter.h" #include "SkLumaColorFilter.h" -#include "SkMagnifierImageFilter.h" -#include "SkMatrixConvolutionImageFilter.h" -#include "SkMergeImageFilter.h" -#include "SkMorphologyImageFilter.h" -#include "SkOffsetImageFilter.h" #include "SkOverdrawColorFilter.h" -#include "SkPaintImageFilter.h" #include "SkPerlinNoiseShader.h" -#include "SkPictureImageFilter.h" #include "SkShaderMaskFilter.h" #include "SkTableColorFilter.h" -#include "SkTileImageFilter.h" #include "SkToSRGBColorFilter.h" #include "../../src/effects/SkTrimPE.h" -#include "SkXfermodeImageFilter.h" - -// Security note: -// -// As new subclasses are added here, they should be reviewed by chrome security before they -// support deserializing cross-process: chrome-security@google.com. SampleFilterFuzz.cpp should -// also be amended to exercise the new subclass. -// -// See SkReadBuffer::isCrossProcess() and SkPicture::PictureIOSecurityPrecautionsEnabled() -// /* * None of these are strictly "required" for Skia to operate. @@ -71,7 +44,6 @@ void SkFlattenable::PrivateInitializer::InitEffects() { SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorMatrixFilterRowMajor255) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLumaColorFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkToSRGBColorFilter) - SkAlphaThresholdFilter::InitializeFlattenables(); SkTableColorFilter::InitializeFlattenables(); SkOverdrawColorFilter::InitializeFlattenables(); SkHighContrastFilter::InitializeFlattenables(); @@ -88,25 +60,4 @@ void SkFlattenable::PrivateInitializer::InitEffects() { SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLine2DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPath2DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkTrimPE) - - // ImageFilter - SkImageFilter::InitializeFlattenables(); - SkArithmeticImageFilter::InitializeFlattenables(); - SkXfermodeImageFilter::InitializeFlattenables(); - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDilateImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDisplacementMapEffect) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDropShadowImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkErodeImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkImageSource) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLocalMatrixImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPaintImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPictureImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkTileImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMagnifierImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMatrixConvolutionImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkOffsetImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMergeImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorFilterImageFilter) - SkLightingImageFilter::InitializeFlattenables(); } diff --git a/src/ports/SkGlobalInitialization_default_imagefilters.cpp b/src/ports/SkGlobalInitialization_default_imagefilters.cpp new file mode 100644 index 0000000000..5d731778e3 --- /dev/null +++ b/src/ports/SkGlobalInitialization_default_imagefilters.cpp @@ -0,0 +1,57 @@ +/* + * Copyright 2011 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "SkFlattenablePriv.h" +#include "SkAlphaThresholdFilter.h" +#include "SkBlurImageFilter.h" +#include "SkColorFilterImageFilter.h" +#include "SkComposeImageFilter.h" +#include "SkDisplacementMapEffect.h" +#include "SkDropShadowImageFilter.h" +#include "SkImageSource.h" +#include "SkLightingImageFilter.h" +#include "SkLocalMatrixImageFilter.h" +#include "SkMagnifierImageFilter.h" +#include "SkMatrixConvolutionImageFilter.h" +#include "SkMergeImageFilter.h" +#include "SkMorphologyImageFilter.h" +#include "SkOffsetImageFilter.h" +#include "SkPaintImageFilter.h" +#include "SkPictureImageFilter.h" +#include "SkTileImageFilter.h" +#include "SkXfermodeImageFilter.h" + +/* + * None of these are strictly "required" for Skia to operate. + * + * These are the bulk of our "effects" -- subclasses of various effects on SkPaint. + * + * Clients should feel free to dup this file and modify it as needed. This function "InitEffects" + * will automatically be called before any of skia's effects are asked to be deserialized. + */ +void SkFlattenable::PrivateInitializer::InitImageFilters() { + SkAlphaThresholdFilter::InitializeFlattenables(); + SkImageFilter::InitializeFlattenables(); + SkArithmeticImageFilter::InitializeFlattenables(); + SkXfermodeImageFilter::InitializeFlattenables(); + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDilateImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDisplacementMapEffect) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDropShadowImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkErodeImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkImageSource) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLocalMatrixImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPaintImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPictureImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkTileImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMagnifierImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMatrixConvolutionImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkOffsetImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMergeImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorFilterImageFilter) + SkLightingImageFilter::InitializeFlattenables(); +} diff --git a/src/ports/SkGlobalInitialization_none_imagefilters.cpp b/src/ports/SkGlobalInitialization_none_imagefilters.cpp new file mode 100644 index 0000000000..c3b622fa1a --- /dev/null +++ b/src/ports/SkGlobalInitialization_none_imagefilters.cpp @@ -0,0 +1,10 @@ +/* + * Copyright 2017 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "SkFlattenable.h" + +void SkFlattenable::PrivateInitializer::InitImageFilters() {} |