/* * Registers all of the required effects subclasses for picture deserialization. * * Optional subclasses (e.g. Blur) should be registered in the ports/ version of this file, * inside the InitEffects() method. */ void SkFlattenable::PrivateInitializer::InitCore() { // Shader SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapProcShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorFilterShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkEmptyShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkImageShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLocalMatrixShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPictureShader) // PathEffect SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposePathEffect) // ImageFilter SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMatrixImageFilter) // ColorFilter SkColorFilter::InitializeFlattenables(); // Xfermode SkXfermode::InitializeFlattenables(); // Now initialize any optional/additional effects (implemented in src/ports) InitEffects(); };
/* * 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::InitEffects() { SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapSourceDeserializer) // Rasterizer SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLayerRasterizer) // Shader SkGradientShader::InitializeFlattenables(); // PathEffect SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDashPathEffect) // ImageFilter SkImageFilter::InitializeFlattenables(); }
static void Init() { SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkAvoidXfermode) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapProcShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapSource) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurDrawLooper) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorMatrixFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposePathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkCornerPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDashPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDilateImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDiscretePathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDisplacementMapEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDropShadowImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkEmbossMaskFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkEmptyShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkErodeImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLayerDrawLooper) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLayerRasterizer) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLerpXfermode) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLocalMatrixShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLumaColorFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPath1DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLine2DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPath2DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPerlinNoiseShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPictureImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPictureShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPixelXorXfermode) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkRectShaderImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSumPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkTileImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMatrixImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkXfermodeImageFilter) 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) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDownSampleImageFilter) SkArithmeticMode::InitializeFlattenables(); SkBlurMaskFilter::InitializeFlattenables(); SkColorFilter::InitializeFlattenables(); SkGradientShader::InitializeFlattenables(); SkLightingImageFilter::InitializeFlattenables(); SkTableColorFilter::InitializeFlattenables(); SkXfermode::InitializeFlattenables(); }
/* * Copyright 2012 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" #include "SkImageRef_GlobalPool.h" #include "SkImages.h" #ifdef SK_BUILD_FOR_ANDROID #include "SkImageRef_ashmem.h" #endif void SkImages::InitializeFlattenables() { SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkImageRef_GlobalPool) #ifdef SK_BUILD_FOR_ANDROID SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkImageRef_ashmem) #endif }
/* * 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::InitEffects() { // MaskFilter SkMaskFilter::InitializeFlattenables(); SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkEmbossMaskFilter) SkBlurMaskFilter::InitializeFlattenables(); SkRRectsGaussianEdgeMaskFilter::InitializeFlattenables(); SkShaderMaskFilter::InitializeFlattenables(); // DrawLooper SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLayerDrawLooper) // ColorFilter 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(); // Shader SkPerlinNoiseShader::InitializeFlattenables(); SkGradientShader::InitializeFlattenables(); // PathEffect SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkCornerPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDashImpl) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDiscretePathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPath1DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLine2DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPath2DPathEffect) // 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(); }
void SkFlattenable::InitializeFlattenables() { SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkAnnotation) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkAvoidXfermode) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBicubicImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapProcShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapSource) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlendImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurDrawLooper) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorMatrixFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorTable) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposePathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkCornerPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDashPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkData) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDataSet) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDilateImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDiscretePathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDisplacementMapEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkEmbossMaskFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkEmptyShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkErodeImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLayerDrawLooper) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLayerRasterizer) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLerpXfermode) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPath1DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(Sk2DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLine2DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPath2DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPerlinNoiseShader) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPixelXorXfermode) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkStippleMaskFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSumPathEffect) 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) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDownSampleImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMallocPixelRef) SkBlurMaskFilter::InitializeFlattenables(); SkColorFilter::InitializeFlattenables(); SkGradientShader::InitializeFlattenables(); SkImages::InitializeFlattenables(); SkLightingImageFilter::InitializeFlattenables(); SkTableColorFilter::InitializeFlattenables(); SkXfermode::InitializeFlattenables(); }