Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Side by Side Diff: src/core/SkGlobalInitialization_core.cpp

Issue 2195893002: Always return ImageShader, even from SkShader::MakeBitmapShader (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: update serialize-8888 ignore list: skbug.com/5595 Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2016 Google Inc. 2 * Copyright 2016 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkBitmapProcShader.h" 8 #include "SkBitmapProcShader.h"
9 #include "SkColorFilter.h" 9 #include "SkColorFilter.h"
10 #include "SkColorFilterShader.h" 10 #include "SkColorFilterShader.h"
(...skipping 11 matching lines...) Expand all
22 #include "SkXfermode.h" 22 #include "SkXfermode.h"
23 23
24 /* 24 /*
25 * Registers all of the required effects subclasses for picture deserialization . 25 * Registers all of the required effects subclasses for picture deserialization .
26 * 26 *
27 * Optional subclasses (e.g. Blur) should be registered in the ports/ version o f this file, 27 * Optional subclasses (e.g. Blur) should be registered in the ports/ version o f this file,
28 * inside the InitEffects() method. 28 * inside the InitEffects() method.
29 */ 29 */
30 void SkFlattenable::PrivateInitializer::InitCore() { 30 void SkFlattenable::PrivateInitializer::InitCore() {
31 // Shader 31 // Shader
32 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapProcShader)
33 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorFilterShader) 32 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorFilterShader)
34 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorShader) 33 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorShader)
35 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColor4Shader) 34 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColor4Shader)
36 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeShader) 35 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeShader)
37 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkEmptyShader) 36 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkEmptyShader)
38 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkImageShader)
39 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLocalMatrixShader) 37 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLocalMatrixShader)
40 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPictureShader) 38 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPictureShader)
41 39
42 // PathEffect 40 // PathEffect
43 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposePathEffect) 41 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposePathEffect)
44 42
45 // ImageFilter 43 // ImageFilter
46 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMatrixImageFilter) 44 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMatrixImageFilter)
47 45
48 // ColorFilter 46 // ColorFilter
49 SkColorFilter::InitializeFlattenables(); 47 SkColorFilter::InitializeFlattenables();
50 48
49 SkShader::InitializeFlattenables();
50
51 // Xfermode 51 // Xfermode
52 SkXfermode::InitializeFlattenables(); 52 SkXfermode::InitializeFlattenables();
53 53
54 // Drawable 54 // Drawable
55 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkRecordedDrawable) 55 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkRecordedDrawable)
56 56
57 // Now initialize any optional/additional effects (implemented in src/ports) 57 // Now initialize any optional/additional effects (implemented in src/ports)
58 InitEffects(); 58 InitEffects();
59 }; 59 };
60 60
61 void SkFlattenable::InitializeFlattenablesIfNeeded() { 61 void SkFlattenable::InitializeFlattenablesIfNeeded() {
62 static SkOnce once; 62 static SkOnce once;
63 once(SkFlattenable::PrivateInitializer::InitCore); 63 once(SkFlattenable::PrivateInitializer::InitCore);
64 } 64 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698