SkGlobalInitialization_default.cpp 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. /*
  2. * Copyright 2011 Google Inc.
  3. *
  4. * Use of this source code is governed by a BSD-style license that can be
  5. * found in the LICENSE file.
  6. */
  7. #include "include/core/SkFlattenable.h"
  8. #if defined(SK_DISABLE_EFFECT_DESERIALIZATION)
  9. void SkFlattenable::PrivateInitializer::InitEffects() {}
  10. void SkFlattenable::PrivateInitializer::InitImageFilters() {}
  11. #else
  12. #include "include/core/SkColorFilter.h"
  13. #include "include/core/SkPathEffect.h"
  14. #include "include/effects/Sk1DPathEffect.h"
  15. #include "include/effects/Sk2DPathEffect.h"
  16. #include "include/effects/SkCornerPathEffect.h"
  17. #include "include/effects/SkDiscretePathEffect.h"
  18. #include "include/effects/SkGradientShader.h"
  19. #include "include/effects/SkHighContrastFilter.h"
  20. #include "include/effects/SkLayerDrawLooper.h"
  21. #include "include/effects/SkLumaColorFilter.h"
  22. #include "include/effects/SkOverdrawColorFilter.h"
  23. #include "include/effects/SkPerlinNoiseShader.h"
  24. #include "include/effects/SkShaderMaskFilter.h"
  25. #include "include/effects/SkTableColorFilter.h"
  26. #include "src/core/SkColorFilter_Matrix.h"
  27. #include "src/core/SkNormalSource.h"
  28. #include "src/core/SkRecordedDrawable.h"
  29. #include "src/effects/SkDashImpl.h"
  30. #include "src/effects/SkEmbossMaskFilter.h"
  31. #include "src/effects/SkOpPE.h"
  32. #include "src/effects/SkTrimPE.h"
  33. #include "src/shaders/SkBitmapProcShader.h"
  34. #include "src/shaders/SkColorFilterShader.h"
  35. #include "src/shaders/SkColorShader.h"
  36. #include "src/shaders/SkComposeShader.h"
  37. #include "src/shaders/SkEmptyShader.h"
  38. #include "src/shaders/SkImageShader.h"
  39. #include "src/shaders/SkLightingShader.h"
  40. #include "src/shaders/SkLocalMatrixShader.h"
  41. #include "src/shaders/SkPictureShader.h"
  42. #include "src/shaders/SkRTShader.h"
  43. #include "src/shaders/SkShaderBase.h"
  44. #include "include/effects/SkAlphaThresholdFilter.h"
  45. #include "include/effects/SkBlurImageFilter.h"
  46. #include "include/effects/SkColorFilterImageFilter.h"
  47. #include "include/effects/SkComposeImageFilter.h"
  48. #include "include/effects/SkDisplacementMapEffect.h"
  49. #include "include/effects/SkDropShadowImageFilter.h"
  50. #include "include/effects/SkImageSource.h"
  51. #include "include/effects/SkLightingImageFilter.h"
  52. #include "include/effects/SkMagnifierImageFilter.h"
  53. #include "include/effects/SkMatrixConvolutionImageFilter.h"
  54. #include "include/effects/SkMergeImageFilter.h"
  55. #include "include/effects/SkMorphologyImageFilter.h"
  56. #include "include/effects/SkOffsetImageFilter.h"
  57. #include "include/effects/SkPaintImageFilter.h"
  58. #include "include/effects/SkPictureImageFilter.h"
  59. #include "include/effects/SkTileImageFilter.h"
  60. #include "include/effects/SkXfermodeImageFilter.h"
  61. #include "src/core/SkLocalMatrixImageFilter.h"
  62. #include "src/core/SkMatrixImageFilter.h"
  63. /*
  64. * Register most effects for deserialization.
  65. *
  66. * None of these are strictly required for Skia to operate, so if you're
  67. * not using deserialization yourself, you can define
  68. * SK_DISABLE_EFFECT_SERIALIZATION, or modify/replace this file as needed.
  69. */
  70. void SkFlattenable::PrivateInitializer::InitEffects() {
  71. // Shaders.
  72. SK_REGISTER_FLATTENABLE(SkColor4Shader);
  73. SK_REGISTER_FLATTENABLE(SkColorFilterShader);
  74. SK_REGISTER_FLATTENABLE(SkColorShader);
  75. SK_REGISTER_FLATTENABLE(SkShader_Blend);
  76. SK_REGISTER_FLATTENABLE(SkShader_Lerp);
  77. SK_REGISTER_FLATTENABLE(SkShader_LerpRed);
  78. SK_REGISTER_FLATTENABLE(SkEmptyShader);
  79. SK_REGISTER_FLATTENABLE(SkLocalMatrixShader);
  80. SK_REGISTER_FLATTENABLE(SkPictureShader);
  81. SK_REGISTER_FLATTENABLE(SkRTShader);
  82. SkGradientShader::RegisterFlattenables();
  83. SkLightingShader::RegisterFlattenables();
  84. SkPerlinNoiseShader::RegisterFlattenables();
  85. SkShaderBase::RegisterFlattenables();
  86. // Color filters.
  87. SkColorFilter_Matrix::RegisterFlattenables();
  88. SK_REGISTER_FLATTENABLE(SkLumaColorFilter);
  89. SkColorFilter::RegisterFlattenables();
  90. SkHighContrastFilter::RegisterFlattenables();
  91. SkOverdrawColorFilter::RegisterFlattenables();
  92. SkTableColorFilter::RegisterFlattenables();
  93. // Mask filters.
  94. SK_REGISTER_FLATTENABLE(SkEmbossMaskFilter);
  95. SkMaskFilter::RegisterFlattenables();
  96. SkShaderMaskFilter::RegisterFlattenables();
  97. // Path effects.
  98. SK_REGISTER_FLATTENABLE(SkCornerPathEffect);
  99. SK_REGISTER_FLATTENABLE(SkDashImpl);
  100. SK_REGISTER_FLATTENABLE(SkDiscretePathEffect);
  101. SK_REGISTER_FLATTENABLE(SkLine2DPathEffect);
  102. SK_REGISTER_FLATTENABLE(SkMatrixPE);
  103. SK_REGISTER_FLATTENABLE(SkOpPE);
  104. SK_REGISTER_FLATTENABLE(SkPath1DPathEffect);
  105. SK_REGISTER_FLATTENABLE(SkPath2DPathEffect);
  106. SK_REGISTER_FLATTENABLE(SkStrokePE);
  107. SK_REGISTER_FLATTENABLE(SkTrimPE);
  108. SkPathEffect::RegisterFlattenables();
  109. // Misc.
  110. SK_REGISTER_FLATTENABLE(SkLayerDrawLooper);
  111. SK_REGISTER_FLATTENABLE(SkRecordedDrawable);
  112. SkNormalSource::RegisterFlattenables();
  113. }
  114. /*
  115. * Register SkImageFilters for deserialization.
  116. *
  117. * None of these are strictly required for Skia to operate, so if you're
  118. * not using deserialization yourself, you can define
  119. * SK_DISABLE_EFFECT_SERIALIZATION, or modify/replace this file as needed.
  120. */
  121. void SkFlattenable::PrivateInitializer::InitImageFilters() {
  122. SkAlphaThresholdFilter::RegisterFlattenables();
  123. SkImageFilter::RegisterFlattenables();
  124. SkArithmeticImageFilter::RegisterFlattenables();
  125. SkXfermodeImageFilter::RegisterFlattenables();
  126. SK_REGISTER_FLATTENABLE(SkDilateImageFilter);
  127. SK_REGISTER_FLATTENABLE(SkDisplacementMapEffect);
  128. SK_REGISTER_FLATTENABLE(SkDropShadowImageFilter);
  129. SK_REGISTER_FLATTENABLE(SkErodeImageFilter);
  130. SK_REGISTER_FLATTENABLE(SkImageSource);
  131. SK_REGISTER_FLATTENABLE(SkLocalMatrixImageFilter);
  132. SK_REGISTER_FLATTENABLE(SkPaintImageFilter);
  133. SK_REGISTER_FLATTENABLE(SkPictureImageFilter);
  134. SK_REGISTER_FLATTENABLE(SkTileImageFilter);
  135. SK_REGISTER_FLATTENABLE(SkMagnifierImageFilter);
  136. SK_REGISTER_FLATTENABLE(SkMatrixConvolutionImageFilter);
  137. SK_REGISTER_FLATTENABLE(SkMatrixImageFilter);
  138. SK_REGISTER_FLATTENABLE(SkOffsetImageFilter);
  139. SK_REGISTER_FLATTENABLE(SkComposeImageFilter);
  140. SK_REGISTER_FLATTENABLE(SkMergeImageFilter);
  141. SK_REGISTER_FLATTENABLE(SkColorFilterImageFilter);
  142. SkLightingImageFilter::RegisterFlattenables();
  143. }
  144. #endif