# Copyright 2019 Google LLC.

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

skparagraph_public = [
  "$_include/ParagraphStyle.h",
  "$_include/TextStyle.h",
  "$_include/TextShadow.h",
  "$_include/FontCollection.h",
  "$_include/Paragraph.h",
  "$_include/ParagraphBuilder.h",
  "$_include/DartTypes.h",
  "$_include/TypefaceFontProvider.h",
]

skparagraph_sources = [
  "$_src/FontCollection.cpp",
  "$_src/FontIterator.h",
  "$_src/FontIterator.cpp",
  "$_src/FontResolver.h",
  "$_src/FontResolver.cpp",
  "$_src/TextLine.h",
  "$_src/TextLine.cpp",
  "$_src/ParagraphBuilderImpl.h",
  "$_src/ParagraphBuilderImpl.cpp",
  "$_src/ParagraphImpl.h",
  "$_src/ParagraphImpl.cpp",
  "$_src/ParagraphStyle.cpp",
  "$_src/Run.h",
  "$_src/Run.cpp",
  "$_src/TextShadow.cpp",
  "$_src/TextStyle.cpp",
  "$_src/TextWrapper.h",
  "$_src/TextWrapper.cpp",
  "$_src/TypefaceFontProvider.cpp",
]

skparagraph_utils = [
  "$_utils/TestFontCollection.h",
  "$_utils/TestFontCollection.cpp",
]
