SkGlobalInitialization_default.cpp revision 1108fc3058e64a9363f7ea4ef41e2b04ca51f539
1bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant/*
2bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant * Copyright 2011 Google Inc.
3f5256e16dfc425c1d466f6308d4026d529ce9e0bHoward Hinnant *
4bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant * Use of this source code is governed by a BSD-style license that can be
5bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant * found in the LICENSE file.
6bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant */
7bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
8bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkTypes.h"
9bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
10bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkBitmapProcShader.h"
11bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkMallocPixelRef.h"
12bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkPathEffect.h"
13bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkPixelRef.h"
14bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkXfermode.h"
15bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
16bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "Sk1DPathEffect.h"
17bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "Sk2DPathEffect.h"
18bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkAnnotation.h"
19bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkArithmeticMode.h"
20bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkAvoidXfermode.h"
21bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkBicubicImageFilter.h"
22bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkBitmapSource.h"
23bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkBlurDrawLooper.h"
24bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkBlurImageFilter.h"
25bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkBlurMaskFilter.h"
26bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkColorFilter.h"
27bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkColorFilterImageFilter.h"
28bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkColorMatrixFilter.h"
29bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkColorShader.h"
30bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkColorTable.h"
31bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkComposeImageFilter.h"
32bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkComposeShader.h"
33bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkCornerPathEffect.h"
34bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkDashPathEffect.h"
35bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkData.h"
36bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkDataSet.h"
37bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkDiscretePathEffect.h"
38bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkDisplacementMapEffect.h"
39bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkDropShadowImageFilter.h"
40bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkEmptyShader.h"
41bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkEmbossMaskFilter.h"
42bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkFlattenable.h"
43bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkGradientShader.h"
44bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkImages.h"
45bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkLayerDrawLooper.h"
46bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkLayerRasterizer.h"
47bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkLerpXfermode.h"
48bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkLightingImageFilter.h"
49bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkLumaColorFilter.h"
50bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkMagnifierImageFilter.h"
51bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkMatrixConvolutionImageFilter.h"
52bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkMergeImageFilter.h"
53bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkMorphologyImageFilter.h"
54bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkOffsetImageFilter.h"
55bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkPerlinNoiseShader.h"
56bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkPixelXorXfermode.h"
57bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkRectShaderImageFilter.h"
58bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkStippleMaskFilter.h"
59bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkTableColorFilter.h"
60bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkTestImageFilters.h"
61bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkTileImageFilter.h"
62bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "SkXfermodeImageFilter.h"
63bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
64bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantvoid SkFlattenable::InitializeFlattenables() {
65bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
66bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkAnnotation)
67bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkAvoidXfermode)
68    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBicubicImageFilter)
69    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapProcShader)
70    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapSource)
71    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurDrawLooper)
72    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurImageFilter)
73    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorMatrixFilter)
74    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorShader)
75    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorTable)
76    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposePathEffect)
77    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeShader)
78    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkCornerPathEffect)
79    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDashPathEffect)
80    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkData)
81    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDataSet)
82    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDilateImageFilter)
83    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDiscretePathEffect)
84    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDisplacementMapEffect)
85    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDropShadowImageFilter)
86    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkEmbossMaskFilter)
87    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkEmptyShader)
88    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkErodeImageFilter)
89    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLayerDrawLooper)
90    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLayerRasterizer)
91    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLerpXfermode)
92    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLumaColorFilter)
93    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPath1DPathEffect)
94    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(Sk2DPathEffect)
95    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLine2DPathEffect)
96    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPath2DPathEffect)
97    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPerlinNoiseShader)
98    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPixelXorXfermode)
99    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkRectShaderImageFilter)
100    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkStippleMaskFilter)
101    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSumPathEffect)
102    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkTileImageFilter)
103    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkXfermodeImageFilter)
104    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMagnifierImageFilter)
105    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMatrixConvolutionImageFilter)
106
107    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkOffsetImageFilter)
108    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeImageFilter)
109    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMergeImageFilter)
110    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorFilterImageFilter)
111    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDownSampleImageFilter)
112    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMallocPixelRef)
113
114    SkArithmeticMode::InitializeFlattenables();
115    SkBlurMaskFilter::InitializeFlattenables();
116    SkColorFilter::InitializeFlattenables();
117    SkGradientShader::InitializeFlattenables();
118    SkImages::InitializeFlattenables();
119    SkLightingImageFilter::InitializeFlattenables();
120    SkTableColorFilter::InitializeFlattenables();
121    SkXfermode::InitializeFlattenables();
122}
123