# Copyright 2020 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_svg_public = [
  "$_include/SkSVGAttribute.h",
  "$_include/SkSVGAttributeParser.h",
  "$_include/SkSVGCircle.h",
  "$_include/SkSVGClipPath.h",
  "$_include/SkSVGContainer.h",
  "$_include/SkSVGDefs.h",
  "$_include/SkSVGDOM.h",
  "$_include/SkSVGEllipse.h",
  "$_include/SkSVGFe.h",
  "$_include/SkSVGFeBlend.h",
  "$_include/SkSVGFeColorMatrix.h",
  "$_include/SkSVGFeComposite.h",
  "$_include/SkSVGFeDisplacementMap.h",
  "$_include/SkSVGFeFlood.h",
  "$_include/SkSVGFeGaussianBlur.h",
  "$_include/SkSVGFeLightSource.h",
  "$_include/SkSVGFeLighting.h",
  "$_include/SkSVGFeMorphology.h",
  "$_include/SkSVGFeOffset.h",
  "$_include/SkSVGFeTurbulence.h",
  "$_include/SkSVGFilter.h",
  "$_include/SkSVGFilterContext.h",
  "$_include/SkSVGG.h",
  "$_include/SkSVGGradient.h",
  "$_include/SkSVGHiddenContainer.h",
  "$_include/SkSVGIDMapper.h",
  "$_include/SkSVGImage.h",
  "$_include/SkSVGLinearGradient.h",
  "$_include/SkSVGLine.h",
  "$_include/SkSVGMask.h",
  "$_include/SkSVGNode.h",
  "$_include/SkSVGPath.h",
  "$_include/SkSVGPattern.h",
  "$_include/SkSVGPoly.h",
  "$_include/SkSVGRadialGradient.h",
  "$_include/SkSVGRect.h",
  "$_include/SkSVGRenderContext.h",
  "$_include/SkSVGShape.h",
  "$_include/SkSVGStop.h",
  "$_include/SkSVGSVG.h",
  "$_include/SkSVGText.h",
  "$_include/SkSVGTransformableNode.h",
  "$_include/SkSVGTypes.h",
  "$_include/SkSVGUse.h",
  "$_include/SkSVGValue.h",
]

skia_svg_sources = [
  "$_src/SkSVGAttribute.cpp",
  "$_src/SkSVGAttributeParser.cpp",
  "$_src/SkSVGCircle.cpp",
  "$_src/SkSVGClipPath.cpp",
  "$_src/SkSVGContainer.cpp",
  "$_src/SkSVGDOM.cpp",
  "$_src/SkSVGEllipse.cpp",
  "$_src/SkSVGFe.cpp",
  "$_src/SkSVGFeBlend.cpp",
  "$_src/SkSVGFeColorMatrix.cpp",
  "$_src/SkSVGFeComposite.cpp",
  "$_src/SkSVGFeDisplacementMap.cpp",
  "$_src/SkSVGFeFlood.cpp",
  "$_src/SkSVGFeGaussianBlur.cpp",
  "$_src/SkSVGFeLightSource.cpp",
  "$_src/SkSVGFeLighting.cpp",
  "$_src/SkSVGFeMorphology.cpp",
  "$_src/SkSVGFeOffset.cpp",
  "$_src/SkSVGFeTurbulence.cpp",
  "$_src/SkSVGFilter.cpp",
  "$_src/SkSVGFilterContext.cpp",
  "$_src/SkSVGGradient.cpp",
  "$_src/SkSVGImage.cpp",
  "$_src/SkSVGLine.cpp",
  "$_src/SkSVGLinearGradient.cpp",
  "$_src/SkSVGMask.cpp",
  "$_src/SkSVGNode.cpp",
  "$_src/SkSVGPath.cpp",
  "$_src/SkSVGPattern.cpp",
  "$_src/SkSVGPoly.cpp",
  "$_src/SkSVGRadialGradient.cpp",
  "$_src/SkSVGRect.cpp",
  "$_src/SkSVGRenderContext.cpp",
  "$_src/SkSVGSVG.cpp",
  "$_src/SkSVGShape.cpp",
  "$_src/SkSVGStop.cpp",
  "$_src/SkSVGText.cpp",
  "$_src/SkSVGTextPriv.h",
  "$_src/SkSVGTransformableNode.cpp",
  "$_src/SkSVGUse.cpp",
  "$_src/SkSVGValue.cpp",
]
