# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Things are easiest for everyone if these source paths are absolute.
_src = get_path_info("../src", "abspath")
_include = get_path_info("../include", "abspath")

skia_effects_sources = [
  "$_src/effects/GrCircleBlurFragmentProcessor.cpp",
  "$_src/effects/GrCircleBlurFragmentProcessor.h",
  "$_src/effects/GrAlphaThresholdFragmentProcessor.cpp",
  "$_src/effects/GrAlphaThresholdFragmentProcessor.h",

  "$_src/effects/Sk1DPathEffect.cpp",
  "$_src/effects/Sk2DPathEffect.cpp",
  "$_src/effects/SkAlphaThresholdFilter.cpp",
  "$_src/effects/SkArcToPathEffect.cpp",
  "$_src/effects/SkArithmeticMode.cpp",
  "$_src/effects/SkArithmeticMode_gpu.cpp",
  "$_src/effects/SkArithmeticMode_gpu.h",
  "$_src/effects/SkBlurDrawLooper.cpp",
  "$_src/effects/SkBlurMask.cpp",
  "$_src/effects/SkBlurMask.h",
  "$_src/effects/SkBlurMaskFilter.cpp",
  "$_src/effects/SkColorCubeFilter.cpp",
  "$_src/effects/SkColorFilterImageFilter.cpp",
  "$_src/effects/SkColorMatrix.cpp",
  "$_src/effects/SkColorMatrixFilter.cpp",
  "$_src/effects/SkComposeImageFilter.cpp",
  "$_src/effects/SkCornerPathEffect.cpp",
  "$_src/effects/SkDashPathEffect.cpp",
  "$_src/effects/SkDiscretePathEffect.cpp",
  "$_src/effects/SkDisplacementMapEffect.cpp",
  "$_src/effects/SkDropShadowImageFilter.cpp",
  "$_src/effects/SkEmbossMask.cpp",
  "$_src/effects/SkEmbossMask.h",
  "$_src/effects/SkEmbossMask_Table.h",
  "$_src/effects/SkEmbossMaskFilter.cpp",
  "$_src/effects/SkImageSource.cpp",
  "$_src/effects/SkGammaColorFilter.cpp",
  "$_src/effects/SkGaussianEdgeShader.cpp",
  "$_src/effects/SkLayerDrawLooper.cpp",
  "$_src/effects/SkLayerRasterizer.cpp",
  "$_src/effects/SkLightingImageFilter.cpp",
  "$_src/effects/SkLumaColorFilter.cpp",
  "$_src/effects/SkMagnifierImageFilter.cpp",
  "$_src/effects/SkMatrixConvolutionImageFilter.cpp",
  "$_src/effects/SkMergeImageFilter.cpp",
  "$_src/effects/SkMorphologyImageFilter.cpp",
  "$_src/effects/SkOffsetImageFilter.cpp",
  "$_src/effects/SkPackBits.cpp",
  "$_src/effects/SkPackBits.h",
  "$_src/effects/SkPaintFlagsDrawFilter.cpp",
  "$_src/effects/SkPaintImageFilter.cpp",
  "$_src/effects/SkPerlinNoiseShader.cpp",
  "$_src/effects/SkPictureImageFilter.cpp",
  "$_src/effects/SkRRectsGaussianEdgeMaskFilter.cpp",
  "$_src/effects/SkShadowMaskFilter.cpp",
  "$_src/effects/SkTableColorFilter.cpp",
  "$_src/effects/SkTableMaskFilter.cpp",
  "$_src/effects/SkTileImageFilter.cpp",
  "$_src/effects/SkXfermodeImageFilter.cpp",

  "$_src/effects/gradients/Sk4fGradientBase.cpp",
  "$_src/effects/gradients/Sk4fGradientBase.h",
  "$_src/effects/gradients/Sk4fGradientPriv.h",
  "$_src/effects/gradients/Sk4fLinearGradient.cpp",
  "$_src/effects/gradients/Sk4fLinearGradient.h",
  "$_src/effects/gradients/SkClampRange.cpp",
  "$_src/effects/gradients/SkClampRange.h",
  "$_src/effects/gradients/SkGradientBitmapCache.cpp",
  "$_src/effects/gradients/SkGradientBitmapCache.h",
  "$_src/effects/gradients/SkGradientShader.cpp",
  "$_src/effects/gradients/SkGradientShaderPriv.h",
  "$_src/effects/gradients/SkLinearGradient.cpp",
  "$_src/effects/gradients/SkLinearGradient.h",
  "$_src/effects/gradients/SkRadialGradient.cpp",
  "$_src/effects/gradients/SkRadialGradient.h",
  "$_src/effects/gradients/SkTwoPointConicalGradient.cpp",
  "$_src/effects/gradients/SkTwoPointConicalGradient.h",
  "$_src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp",
  "$_src/effects/gradients/SkTwoPointConicalGradient_gpu.h",
  "$_src/effects/gradients/SkSweepGradient.cpp",
  "$_src/effects/gradients/SkSweepGradient.h",

  "$_include/effects/Sk1DPathEffect.h",
  "$_include/effects/Sk2DPathEffect.h",
  "$_include/effects/SkAlphaThresholdFilter.h",
  "$_include/effects/SkArithmeticMode.h",
  "$_include/effects/SkBlurDrawLooper.h",
  "$_include/effects/SkBlurImageFilter.h",
  "$_include/effects/SkBlurMaskFilter.h",
  "$_include/effects/SkColorCubeFilter.h",
  "$_include/effects/SkColorFilterImageFilter.h",
  "$_include/effects/SkColorMatrix.h",
  "$_include/effects/SkColorMatrixFilter.h",
  "$_include/effects/SkCornerPathEffect.h",
  "$_include/effects/SkDashPathEffect.h",
  "$_include/effects/SkDiscretePathEffect.h",
  "$_include/effects/SkDisplacementMapEffect.h",
  "$_include/effects/SkDropShadowImageFilter.h",
  "$_include/effects/SkEmbossMaskFilter.h",
  "$_include/effects/SkGammaColorFilter.h",
  "$_include/effects/SkGaussianEdgeShader.h",
  "$_include/effects/SkGradientShader.h",
  "$_include/effects/SkImageSource.h",
  "$_include/effects/SkLayerDrawLooper.h",
  "$_include/effects/SkLayerRasterizer.h",
  "$_include/effects/SkLightingImageFilter.h",
  "$_include/effects/SkLumaColorFilter.h",
  "$_include/effects/SkMagnifierImageFilter.h",
  "$_include/effects/SkMorphologyImageFilter.h",
  "$_include/effects/SkOffsetImageFilter.h",
  "$_include/effects/SkPaintFlagsDrawFilter.h",
  "$_include/effects/SkPaintImageFilter.h",
  "$_include/effects/SkPerlinNoiseShader.h",
  "$_include/effects/SkRRectsGaussianEdgeMaskFilter.h",
  "$_include/effects/SkShadowMaskFilter.h",
  "$_include/effects/SkTableColorFilter.h",
  "$_include/effects/SkTableMaskFilter.h",
  "$_include/effects/SkTileImageFilter.h",
  "$_include/effects/SkXfermodeImageFilter.h",
]
