|  | /* | 
|  | * 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 "include/core/SkFlattenable.h" | 
|  |  | 
|  | #if defined(SK_DISABLE_EFFECT_DESERIALIZATION) | 
|  |  | 
|  | void SkFlattenable::PrivateInitializer::InitEffects() {} | 
|  | void SkFlattenable::PrivateInitializer::InitImageFilters() {} | 
|  |  | 
|  | #else | 
|  |  | 
|  | #include "include/core/SkBBHFactory.h" | 
|  | #include "include/core/SkColorFilter.h" | 
|  | #include "include/core/SkPathEffect.h" | 
|  | #include "include/effects/Sk1DPathEffect.h" | 
|  | #include "include/effects/Sk2DPathEffect.h" | 
|  | #include "include/effects/SkCornerPathEffect.h" | 
|  | #include "include/effects/SkDiscretePathEffect.h" | 
|  | #include "include/effects/SkImageFilters.h" | 
|  | #include "include/effects/SkOverdrawColorFilter.h" | 
|  | #include "include/effects/SkPerlinNoiseShader.h" | 
|  | #include "include/effects/SkRuntimeEffect.h" | 
|  | #include "include/effects/SkShaderMaskFilter.h" | 
|  | #include "src/core/SkBlendModeBlender.h" | 
|  | #include "src/core/SkImageFilter_Base.h" | 
|  | #include "src/core/SkLocalMatrixImageFilter.h" | 
|  | #include "src/core/SkRecordedDrawable.h" | 
|  | #include "src/effects/SkDashImpl.h" | 
|  | #include "src/effects/SkEmbossMaskFilter.h" | 
|  | #include "src/effects/SkTrimPE.h" | 
|  | #include "src/shaders/SkBitmapProcShader.h" | 
|  | #include "src/shaders/SkColorFilterShader.h" | 
|  | #include "src/shaders/SkImageShader.h" | 
|  | #include "src/shaders/SkLocalMatrixShader.h" | 
|  | #include "src/shaders/SkPictureShader.h" | 
|  | #include "src/shaders/SkShaderBase.h" | 
|  | #include "src/shaders/gradients/SkGradientBaseShader.h" | 
|  |  | 
|  | #ifdef SK_SUPPORT_LEGACY_DRAWLOOPER | 
|  | #include "include/effects/SkLayerDrawLooper.h" | 
|  | #endif | 
|  |  | 
|  | /** | 
|  | *  Register most effects for deserialization. | 
|  | * | 
|  | *  None of these are strictly required for Skia to operate, so if you're | 
|  | *  not using deserialization yourself, you can define | 
|  | *  SK_DISABLE_EFFECT_SERIALIZATION, or modify/replace this file as needed. | 
|  | */ | 
|  | void SkFlattenable::PrivateInitializer::InitEffects() { | 
|  | // Shaders. | 
|  | SkRegisterBlendShaderFlattenable(); | 
|  | SkRegisterColor4ShaderFlattenable(); | 
|  | SK_REGISTER_FLATTENABLE(SkColorFilterShader); | 
|  | SkRegisterColorShaderFlattenable(); | 
|  | SkRegisterCoordClampShaderFlattenable(); | 
|  | SkRegisterEmptyShaderFlattenable(); | 
|  | SK_REGISTER_FLATTENABLE(SkLocalMatrixShader); | 
|  | SK_REGISTER_FLATTENABLE(SkPictureShader); | 
|  | SkRegisterConicalGradientShaderFlattenable(); | 
|  | SkRegisterLinearGradientShaderFlattenable(); | 
|  | SkRegisterRadialGradientShaderFlattenable(); | 
|  | SkRegisterSweepGradientShaderFlattenable(); | 
|  | SkRegisterPerlinNoiseShaderFlattenable(); | 
|  | SkShaderBase::RegisterFlattenables(); | 
|  |  | 
|  | // Color filters. | 
|  | SkRegisterMatrixColorFilterFlattenable(); | 
|  | SkRegisterComposeColorFilterFlattenable(); | 
|  | SkRegisterModeColorFilterFlattenable(); | 
|  | SkRegisterSkColorSpaceXformColorFilterFlattenable(); | 
|  | SkRegisterWorkingFormatColorFilterFlattenable(); | 
|  | SkRegisterTableColorFilterFlattenable(); | 
|  |  | 
|  | // Blenders. | 
|  | SK_REGISTER_FLATTENABLE(SkBlendModeBlender); | 
|  |  | 
|  | // Runtime shaders, color filters, and blenders. | 
|  | SkRuntimeEffect::RegisterFlattenables(); | 
|  |  | 
|  | // Mask filters. | 
|  | SK_REGISTER_FLATTENABLE(SkEmbossMaskFilter); | 
|  | SkMaskFilter::RegisterFlattenables(); | 
|  | SkShaderMaskFilter::RegisterFlattenables(); | 
|  |  | 
|  | // Path effects. | 
|  | SkCornerPathEffect::RegisterFlattenables(); | 
|  | SK_REGISTER_FLATTENABLE(SkDashImpl); | 
|  | SkDiscretePathEffect::RegisterFlattenables(); | 
|  | SkLine2DPathEffect::RegisterFlattenables(); | 
|  | SkPath2DPathEffect::RegisterFlattenables(); | 
|  | SkPath1DPathEffect::RegisterFlattenables(); | 
|  | SK_REGISTER_FLATTENABLE(SkTrimPE); | 
|  | SkPathEffectBase::RegisterFlattenables(); | 
|  |  | 
|  | // Misc. | 
|  | #ifdef SK_SUPPORT_LEGACY_DRAWLOOPER | 
|  | SK_REGISTER_FLATTENABLE(SkLayerDrawLooper); | 
|  | #endif | 
|  | SK_REGISTER_FLATTENABLE(SkRecordedDrawable); | 
|  | } | 
|  |  | 
|  | /* | 
|  | *  Register SkImageFilters for deserialization. | 
|  | * | 
|  | *  None of these are strictly required for Skia to operate, so if you're | 
|  | *  not using deserialization yourself, you can define | 
|  | *  SK_DISABLE_EFFECT_SERIALIZATION, or modify/replace this file as needed. | 
|  | */ | 
|  | void SkFlattenable::PrivateInitializer::InitImageFilters() { | 
|  | SkRegisterBlendImageFilterFlattenable(); | 
|  | SkRegisterBlurImageFilterFlattenable(); | 
|  | SkRegisterColorFilterImageFilterFlattenable(); | 
|  | SkRegisterComposeImageFilterFlattenable(); | 
|  | SkRegisterCropImageFilterFlattenable(); | 
|  | SkRegisterDisplacementMapImageFilterFlattenable(); | 
|  | SkRegisterImageImageFilterFlattenable(); | 
|  | SkRegisterLightingImageFilterFlattenables(); | 
|  | SkRegisterMagnifierImageFilterFlattenable(); | 
|  | SkRegisterMatrixConvolutionImageFilterFlattenable(); | 
|  | SkRegisterMatrixTransformImageFilterFlattenable(); | 
|  | SkRegisterMergeImageFilterFlattenable(); | 
|  | SkRegisterMorphologyImageFilterFlattenables(); | 
|  | SkRegisterPictureImageFilterFlattenable(); | 
|  | SkRegisterRuntimeImageFilterFlattenable(); | 
|  | SkRegisterShaderImageFilterFlattenable(); | 
|  | SK_REGISTER_FLATTENABLE(SkLocalMatrixImageFilter); | 
|  |  | 
|  | SkRegisterLegacyDropShadowImageFilterFlattenable(); | 
|  | } | 
|  |  | 
|  | #endif |