SkGlobalInitialization_default.cpp revision f44fcdca01722959c3be335f44e88b59dbb33a10
1d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com/*
2d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com * Copyright 2011 Google Inc.
3d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com *
4d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com * Use of this source code is governed by a BSD-style license that can be
5d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com * found in the LICENSE file.
6d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com */
7d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com
8d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com#include "SkTypes.h"
9d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com
10d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com#include "SkBitmapProcShader.h"
11d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com#include "SkMallocPixelRef.h"
12d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com#include "SkPathEffect.h"
13d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com#include "SkPixelRef.h"
14d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com#include "SkXfermode.h"
15d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com
16a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "Sk1DPathEffect.h"
17a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "Sk2DPathEffect.h"
18b58772f86659cfe0e8d9247fcee878dddd8fdad9epoger@google.com#include "SkAnnotation.h"
199a6eb0e1e8a8de7371cd9604f34619b8f87de66fsenorblanco@chromium.org#include "SkArithmeticMode.h"
20a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkAvoidXfermode.h"
213f2d45aff69260fcf39d4eea8586387ed44402bbsenorblanco@chromium.org#include "SkBicubicImageFilter.h"
22d912ca419927e8548e9e931156bbbc81f26969aesenorblanco@chromium.org#include "SkBitmapSource.h"
23a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkBlurDrawLooper.h"
24a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkBlurImageFilter.h"
25a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkBlurMaskFilter.h"
26a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkColorFilter.h"
27392e14eaaf952565e25e11b8e5133507e4e7d0d8senorblanco@chromium.org#include "SkColorFilterImageFilter.h"
28a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkColorMatrixFilter.h"
29a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkColorShader.h"
30b3c0f4886e22b6d2041c1049a1f295943959fff1scroggo#include "SkColorTable.h"
311c4c9ef43747b42d2c31b5f17fe5e054fb3fee64commit-bot@chromium.org#include "SkComposeImageFilter.h"
32b3c0f4886e22b6d2041c1049a1f295943959fff1scroggo#include "SkComposeShader.h"
33a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkCornerPathEffect.h"
34a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkDashPathEffect.h"
35b58772f86659cfe0e8d9247fcee878dddd8fdad9epoger@google.com#include "SkData.h"
36b58772f86659cfe0e8d9247fcee878dddd8fdad9epoger@google.com#include "SkDataSet.h"
37a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkDiscretePathEffect.h"
38781cc76e0f1ebb06e0796a9237045ae9d4bddd21sugoi@google.com#include "SkDisplacementMapEffect.h"
39f44fcdca01722959c3be335f44e88b59dbb33a10junov@chromium.org#include "SkDropShadowImageFilter.h"
40a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkEmptyShader.h"
4172ae6bd24eb72be13d5745129c16058e4d54e2f4scroggo@google.com#include "SkEmbossMaskFilter.h"
42a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkFlattenable.h"
43a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkGradientShader.h"
445a7c6be72b940dde8ff6ad2485a09aecd56a2660scroggo@google.com#include "SkImages.h"
45a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkLayerDrawLooper.h"
46a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkLayerRasterizer.h"
478c6411a603266e94dd87445ac30e0b1abc36b0afreed@google.com#include "SkLerpXfermode.h"
480833777df1f05adafd9b70c666a72d80defa4f6bdjsollen@google.com#include "SkLightingImageFilter.h"
4935c5ff0be81f2bbba9a7f31b055124a51e6168f4senorblanco@chromium.org#include "SkMagnifierImageFilter.h"
50b4ca9df976951adf632388371f9a8a9219d93014senorblanco@chromium.org#include "SkMatrixConvolutionImageFilter.h"
514a9a612b5200597cca0bda0a356250835cbdc7d6senorblanco@chromium.org#include "SkMergeImageFilter.h"
52a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkMorphologyImageFilter.h"
534a9a612b5200597cca0bda0a356250835cbdc7d6senorblanco@chromium.org#include "SkOffsetImageFilter.h"
54e3b4c5097a6fd9b6c09d2ffbc3db170a287fdd99sugoi@google.com#include "SkPerlinNoiseShader.h"
55a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkPixelXorXfermode.h"
56088719ecdc89b399dd3a3a65f8cced262e50d951robertphillips@google.com#include "SkStippleMaskFilter.h"
57a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkTableColorFilter.h"
58a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com#include "SkTestImageFilters.h"
5986fc266eda887920e3dd104bee8121ae19729cf5senorblanco@chromium.org#include "SkXfermodeImageFilter.h"
60a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com
61d26147adbbdca85f07dff432025afee0c8614387caryclark@google.comvoid SkFlattenable::InitializeFlattenables() {
62a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com
63b58772f86659cfe0e8d9247fcee878dddd8fdad9epoger@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkAnnotation)
64a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkAvoidXfermode)
653f2d45aff69260fcf39d4eea8586387ed44402bbsenorblanco@chromium.org    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBicubicImageFilter)
66a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapProcShader)
67d912ca419927e8548e9e931156bbbc81f26969aesenorblanco@chromium.org    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapSource)
68a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurDrawLooper)
69a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurImageFilter)
70a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorMatrixFilter)
71a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorShader)
72b3c0f4886e22b6d2041c1049a1f295943959fff1scroggo    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorTable)
73a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposePathEffect)
74b3c0f4886e22b6d2041c1049a1f295943959fff1scroggo    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeShader)
75a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkCornerPathEffect)
76a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDashPathEffect)
77b58772f86659cfe0e8d9247fcee878dddd8fdad9epoger@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkData)
78b58772f86659cfe0e8d9247fcee878dddd8fdad9epoger@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDataSet)
79a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDilateImageFilter)
80a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDiscretePathEffect)
81781cc76e0f1ebb06e0796a9237045ae9d4bddd21sugoi@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDisplacementMapEffect)
82f44fcdca01722959c3be335f44e88b59dbb33a10junov@chromium.org    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDropShadowImageFilter)
8372ae6bd24eb72be13d5745129c16058e4d54e2f4scroggo@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkEmbossMaskFilter)
84a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkEmptyShader)
85a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkErodeImageFilter)
86a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLayerDrawLooper)
87a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLayerRasterizer)
888c6411a603266e94dd87445ac30e0b1abc36b0afreed@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLerpXfermode)
89a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPath1DPathEffect)
90d8a6cc814f1a0a8faaddad05ae765ad2f6b11aacscroggo@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(Sk2DPathEffect)
91d8a6cc814f1a0a8faaddad05ae765ad2f6b11aacscroggo@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLine2DPathEffect)
92a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPath2DPathEffect)
93e3b4c5097a6fd9b6c09d2ffbc3db170a287fdd99sugoi@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPerlinNoiseShader)
94a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPixelXorXfermode)
95941ee9303b62163ae08bbdcd7ad514e1a6389bdarobertphillips@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkStippleMaskFilter)
96a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSumPathEffect)
9786fc266eda887920e3dd104bee8121ae19729cf5senorblanco@chromium.org    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkXfermodeImageFilter)
9882aa7482cbf55ce6d42c692550cadee5e23146e4bsalomon@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMagnifierImageFilter)
99b4ca9df976951adf632388371f9a8a9219d93014senorblanco@chromium.org    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMatrixConvolutionImageFilter)
100a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com
101a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkOffsetImageFilter)
102a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeImageFilter)
103a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMergeImageFilter)
104a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorFilterImageFilter)
105a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDownSampleImageFilter)
1065370cd969d8f3957e4306068e6195ac1bca3d6cddjsollen@google.com    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMallocPixelRef)
1075370cd969d8f3957e4306068e6195ac1bca3d6cddjsollen@google.com
1089a6eb0e1e8a8de7371cd9604f34619b8f87de66fsenorblanco@chromium.org    SkArithmeticMode::InitializeFlattenables();
109a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SkBlurMaskFilter::InitializeFlattenables();
110a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SkColorFilter::InitializeFlattenables();
111a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SkGradientShader::InitializeFlattenables();
1125a7c6be72b940dde8ff6ad2485a09aecd56a2660scroggo@google.com    SkImages::InitializeFlattenables();
1130833777df1f05adafd9b70c666a72d80defa4f6bdjsollen@google.com    SkLightingImageFilter::InitializeFlattenables();
114a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SkTableColorFilter::InitializeFlattenables();
115a2ca41e3afdd8fad5e0e924dec029f33918e0a67djsollen@google.com    SkXfermode::InitializeFlattenables();
116d26147adbbdca85f07dff432025afee0c8614387caryclark@google.com}
117