# DO NOT EDIT: This is a generated file.
# See //bazel/exporter_tool/README.md for more information.
#
# The sources of truth are:
#   //modules/svg/include/BUILD.bazel
#   //modules/svg/src/BUILD.bazel

# To update this file, run make -C bazel generate_gni

_modules = get_path_info("../../modules", "abspath")

# Generated by Bazel rule //modules/svg/include:public_hdrs
skia_svg_public = [
  "$_modules/svg/include/SkSVGAttribute.h",
  "$_modules/svg/include/SkSVGAttributeParser.h",
  "$_modules/svg/include/SkSVGCircle.h",
  "$_modules/svg/include/SkSVGClipPath.h",
  "$_modules/svg/include/SkSVGContainer.h",
  "$_modules/svg/include/SkSVGDOM.h",
  "$_modules/svg/include/SkSVGDefs.h",
  "$_modules/svg/include/SkSVGEllipse.h",
  "$_modules/svg/include/SkSVGFe.h",
  "$_modules/svg/include/SkSVGFeBlend.h",
  "$_modules/svg/include/SkSVGFeColorMatrix.h",
  "$_modules/svg/include/SkSVGFeComponentTransfer.h",
  "$_modules/svg/include/SkSVGFeComposite.h",
  "$_modules/svg/include/SkSVGFeDisplacementMap.h",
  "$_modules/svg/include/SkSVGFeFlood.h",
  "$_modules/svg/include/SkSVGFeGaussianBlur.h",
  "$_modules/svg/include/SkSVGFeImage.h",
  "$_modules/svg/include/SkSVGFeLightSource.h",
  "$_modules/svg/include/SkSVGFeLighting.h",
  "$_modules/svg/include/SkSVGFeMerge.h",
  "$_modules/svg/include/SkSVGFeMorphology.h",
  "$_modules/svg/include/SkSVGFeOffset.h",
  "$_modules/svg/include/SkSVGFeTurbulence.h",
  "$_modules/svg/include/SkSVGFilter.h",
  "$_modules/svg/include/SkSVGFilterContext.h",
  "$_modules/svg/include/SkSVGG.h",
  "$_modules/svg/include/SkSVGGradient.h",
  "$_modules/svg/include/SkSVGHiddenContainer.h",
  "$_modules/svg/include/SkSVGIDMapper.h",
  "$_modules/svg/include/SkSVGImage.h",
  "$_modules/svg/include/SkSVGLine.h",
  "$_modules/svg/include/SkSVGLinearGradient.h",
  "$_modules/svg/include/SkSVGMask.h",
  "$_modules/svg/include/SkSVGNode.h",
  "$_modules/svg/include/SkSVGOpenTypeSVGDecoder.h",
  "$_modules/svg/include/SkSVGPath.h",
  "$_modules/svg/include/SkSVGPattern.h",
  "$_modules/svg/include/SkSVGPoly.h",
  "$_modules/svg/include/SkSVGRadialGradient.h",
  "$_modules/svg/include/SkSVGRect.h",
  "$_modules/svg/include/SkSVGRenderContext.h",
  "$_modules/svg/include/SkSVGSVG.h",
  "$_modules/svg/include/SkSVGShape.h",
  "$_modules/svg/include/SkSVGStop.h",
  "$_modules/svg/include/SkSVGText.h",
  "$_modules/svg/include/SkSVGTransformableNode.h",
  "$_modules/svg/include/SkSVGTypes.h",
  "$_modules/svg/include/SkSVGUse.h",
  "$_modules/svg/include/SkSVGValue.h",
]

# List generated by Bazel rules:
#  //modules/svg/src:private_hdrs
#  //modules/svg/src:srcs
skia_svg_sources = [
  "$_modules/svg/src/SkSVGAttribute.cpp",
  "$_modules/svg/src/SkSVGAttributeParser.cpp",
  "$_modules/svg/src/SkSVGCircle.cpp",
  "$_modules/svg/src/SkSVGClipPath.cpp",
  "$_modules/svg/src/SkSVGContainer.cpp",
  "$_modules/svg/src/SkSVGDOM.cpp",
  "$_modules/svg/src/SkSVGEllipse.cpp",
  "$_modules/svg/src/SkSVGFe.cpp",
  "$_modules/svg/src/SkSVGFeBlend.cpp",
  "$_modules/svg/src/SkSVGFeColorMatrix.cpp",
  "$_modules/svg/src/SkSVGFeComponentTransfer.cpp",
  "$_modules/svg/src/SkSVGFeComposite.cpp",
  "$_modules/svg/src/SkSVGFeDisplacementMap.cpp",
  "$_modules/svg/src/SkSVGFeFlood.cpp",
  "$_modules/svg/src/SkSVGFeGaussianBlur.cpp",
  "$_modules/svg/src/SkSVGFeImage.cpp",
  "$_modules/svg/src/SkSVGFeLightSource.cpp",
  "$_modules/svg/src/SkSVGFeLighting.cpp",
  "$_modules/svg/src/SkSVGFeMerge.cpp",
  "$_modules/svg/src/SkSVGFeMorphology.cpp",
  "$_modules/svg/src/SkSVGFeOffset.cpp",
  "$_modules/svg/src/SkSVGFeTurbulence.cpp",
  "$_modules/svg/src/SkSVGFilter.cpp",
  "$_modules/svg/src/SkSVGFilterContext.cpp",
  "$_modules/svg/src/SkSVGGradient.cpp",
  "$_modules/svg/src/SkSVGImage.cpp",
  "$_modules/svg/src/SkSVGLine.cpp",
  "$_modules/svg/src/SkSVGLinearGradient.cpp",
  "$_modules/svg/src/SkSVGMask.cpp",
  "$_modules/svg/src/SkSVGNode.cpp",
  "$_modules/svg/src/SkSVGOpenTypeSVGDecoder.cpp",
  "$_modules/svg/src/SkSVGPath.cpp",
  "$_modules/svg/src/SkSVGPattern.cpp",
  "$_modules/svg/src/SkSVGPoly.cpp",
  "$_modules/svg/src/SkSVGRadialGradient.cpp",
  "$_modules/svg/src/SkSVGRect.cpp",
  "$_modules/svg/src/SkSVGRectPriv.h",
  "$_modules/svg/src/SkSVGRenderContext.cpp",
  "$_modules/svg/src/SkSVGSVG.cpp",
  "$_modules/svg/src/SkSVGShape.cpp",
  "$_modules/svg/src/SkSVGStop.cpp",
  "$_modules/svg/src/SkSVGText.cpp",
  "$_modules/svg/src/SkSVGTextPriv.h",
  "$_modules/svg/src/SkSVGTransformableNode.cpp",
  "$_modules/svg/src/SkSVGUse.cpp",
  "$_modules/svg/src/SkSVGValue.cpp",
]
