# 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_utils_public = [
  "$_include/utils/SkAnimCodecPlayer.h",
  "$_include/utils/SkBase64.h",
  "$_include/utils/SkCamera.h",
  "$_include/utils/SkCanvasStateUtils.h",
  "$_include/utils/SkEventTracer.h",
  "$_include/utils/SkFrontBufferedStream.h",
  "$_include/utils/SkInterpolator.h",
  "$_include/utils/SkNWayCanvas.h",
  "$_include/utils/SkNoDrawCanvas.h",
  "$_include/utils/SkNullCanvas.h",
  "$_include/utils/SkPaintFilterCanvas.h",
  "$_include/utils/SkParse.h",
  "$_include/utils/SkParsePath.h",
  "$_include/utils/SkRandom.h",
  "$_include/utils/SkShadowUtils.h",

  #mac
  "$_include/utils/mac/SkCGUtils.h",
]

skia_utils_sources = [
  "$_src/utils/Sk3D.cpp",
  "$_src/utils/SkAnimCodecPlayer.cpp",
  "$_src/utils/SkBase64.cpp",
  "$_src/utils/SkBitSet.h",
  "$_src/utils/SkCallableTraits.h",
  "$_src/utils/SkCamera.cpp",
  "$_src/utils/SkCanvasStack.h",
  "$_src/utils/SkCanvasStack.cpp",
  "$_src/utils/SkCanvasStateUtils.cpp",
  "$_src/utils/SkCharToGlyphCache.cpp",
  "$_src/utils/SkCharToGlyphCache.h",
  "$_src/utils/SkDashPath.cpp",
  "$_src/utils/SkDashPathPriv.h",
  "$_src/utils/SkEventTracer.cpp",
  "$_src/utils/SkFloatToDecimal.cpp",
  "$_src/utils/SkFloatToDecimal.h",
  "$_src/utils/SkFloatUtils.h",
  "$_src/utils/SkFrontBufferedStream.cpp",
  "$_src/utils/SkInterpolator.cpp",
  "$_src/utils/SkJSON.cpp",
  "$_src/utils/SkJSON.h",
  "$_src/utils/SkJSONWriter.cpp",
  "$_src/utils/SkJSONWriter.h",
  "$_src/utils/SkMatrix22.cpp",
  "$_src/utils/SkMatrix22.h",
  "$_src/utils/SkMultiPictureDocument.cpp",
  "$_src/utils/SkNWayCanvas.cpp",
  "$_src/utils/SkNullCanvas.cpp",
  "$_src/utils/SkOSPath.cpp",
  "$_src/utils/SkOSPath.h",
  "$_src/utils/SkPaintFilterCanvas.cpp",
  "$_src/utils/SkParse.cpp",
  "$_src/utils/SkParseColor.cpp",
  "$_src/utils/SkParsePath.cpp",
  "$_src/utils/SkPatchUtils.cpp",
  "$_src/utils/SkPatchUtils.h",
  "$_src/utils/SkPolyUtils.cpp",
  "$_src/utils/SkPolyUtils.h",
  "$_src/utils/SkShadowTessellator.cpp",
  "$_src/utils/SkShadowTessellator.h",
  "$_src/utils/SkShadowUtils.cpp",
  "$_src/utils/SkShaperJSONWriter.h",
  "$_src/utils/SkShaperJSONWriter.cpp",
  "$_src/utils/SkTextUtils.cpp",
  "$_src/utils/SkThreadUtils_pthread.cpp",
  "$_src/utils/SkThreadUtils_win.cpp",
  "$_src/utils/SkUTF.cpp",
  "$_src/utils/SkUTF.h",
  "$_src/utils/SkWhitelistTypefaces.cpp",

  #mac
  "$_src/utils/mac/SkCreateCGImageRef.cpp",
  "$_src/utils/mac/SkUniqueCFRef.h",

  #windows
  "$_src/utils/win/SkAutoCoInitialize.h",
  "$_src/utils/win/SkAutoCoInitialize.cpp",
  "$_src/utils/win/SkDWrite.h",
  "$_src/utils/win/SkDWrite.cpp",
  "$_src/utils/win/SkDWriteFontFileStream.cpp",
  "$_src/utils/win/SkDWriteFontFileStream.h",
  "$_src/utils/win/SkDWriteGeometrySink.cpp",
  "$_src/utils/win/SkDWriteGeometrySink.h",
  "$_src/utils/win/SkDWriteNTDDI_VERSION.h",
  "$_src/utils/win/SkHRESULT.h",
  "$_src/utils/win/SkHRESULT.cpp",
  "$_src/utils/win/SkIStream.h",
  "$_src/utils/win/SkIStream.cpp",
  "$_src/utils/win/SkObjBase.h",
  "$_src/utils/win/SkTScopedComPtr.h",
  "$_src/utils/win/SkWGL.h",
  "$_src/utils/win/SkWGL_win.cpp",
]
