# Copyright 2018 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_skottie_public = [
  "$_include/Skottie.h",
  "$_include/ExternalLayer.h",
  "$_include/SkottieProperty.h",
]

skia_skottie_sources = [
  "$_src/Adapter.h",
  "$_src/Camera.cpp",
  "$_src/Camera.h",
  "$_src/Composition.cpp",
  "$_src/Composition.h",
  "$_src/Layer.cpp",
  "$_src/Layer.h",
  "$_src/Path.cpp",
  "$_src/Skottie.cpp",
  "$_src/SkottieJson.cpp",
  "$_src/SkottieJson.h",
  "$_src/SkottiePriv.h",
  "$_src/SkottieProperty.cpp",
  "$_src/SkottieValue.h",
  "$_src/Transform.cpp",
  "$_src/Transform.h",
  "$_src/animator/Animator.cpp",
  "$_src/animator/Animator.h",
  "$_src/animator/KeyframeAnimator.cpp",
  "$_src/animator/KeyframeAnimator.h",
  "$_src/animator/ScalarKeyframeAnimator.cpp",
  "$_src/animator/ShapeKeyframeAnimator.cpp",
  "$_src/animator/TextKeyframeAnimator.cpp",
  "$_src/animator/Vec2KeyframeAnimator.cpp",
  "$_src/animator/VectorKeyframeAnimator.cpp",
  "$_src/animator/VectorKeyframeAnimator.h",
  "$_src/effects/BlackAndWhiteEffect.cpp",
  "$_src/effects/BrightnessContrastEffect.cpp",
  "$_src/effects/CCToner.cpp",
  "$_src/effects/CornerPinEffect.cpp",
  "$_src/effects/DisplacementMapEffect.cpp",
  "$_src/effects/DropShadowEffect.cpp",
  "$_src/effects/Effects.cpp",
  "$_src/effects/Effects.h",
  "$_src/effects/FillEffect.cpp",
  "$_src/effects/FractalNoiseEffect.cpp",
  "$_src/effects/GaussianBlurEffect.cpp",
  "$_src/effects/GlowStyles.cpp",
  "$_src/effects/GradientEffect.cpp",
  "$_src/effects/HueSaturationEffect.cpp",
  "$_src/effects/InvertEffect.cpp",
  "$_src/effects/LevelsEffect.cpp",
  "$_src/effects/LinearWipeEffect.cpp",
  "$_src/effects/MotionBlurEffect.cpp",
  "$_src/effects/MotionBlurEffect.h",
  "$_src/effects/MotionTileEffect.cpp",
  "$_src/effects/RadialWipeEffect.cpp",
  "$_src/effects/ShadowStyles.cpp",
  "$_src/effects/ShiftChannelsEffect.cpp",
  "$_src/effects/SphereEffect.cpp",
  "$_src/effects/ThresholdEffect.cpp",
  "$_src/effects/TintEffect.cpp",
  "$_src/effects/TransformEffect.cpp",
  "$_src/effects/TritoneEffect.cpp",
  "$_src/effects/VenetianBlindsEffect.cpp",
  "$_src/layers/AudioLayer.cpp",
  "$_src/layers/FootageLayer.cpp",
  "$_src/layers/NullLayer.cpp",
  "$_src/layers/PrecompLayer.cpp",
  "$_src/layers/SolidLayer.cpp",
  "$_src/layers/TextLayer.cpp",
  "$_src/layers/shapelayer/Ellipse.cpp",
  "$_src/layers/shapelayer/FillStroke.cpp",
  "$_src/layers/shapelayer/Gradient.cpp",
  "$_src/layers/shapelayer/MergePaths.cpp",
  "$_src/layers/shapelayer/OffsetPaths.cpp",
  "$_src/layers/shapelayer/Polystar.cpp",
  "$_src/layers/shapelayer/PuckerBloat.cpp",
  "$_src/layers/shapelayer/Rectangle.cpp",
  "$_src/layers/shapelayer/Repeater.cpp",
  "$_src/layers/shapelayer/RoundCorners.cpp",
  "$_src/layers/shapelayer/ShapeLayer.cpp",
  "$_src/layers/shapelayer/ShapeLayer.h",
  "$_src/layers/shapelayer/TrimPaths.cpp",
  "$_src/text/RangeSelector.cpp",
  "$_src/text/RangeSelector.h",
  "$_src/text/SkottieShaper.cpp",
  "$_src/text/SkottieShaper.h",
  "$_src/text/TextAdapter.cpp",
  "$_src/text/TextAdapter.h",
  "$_src/text/TextAnimator.cpp",
  "$_src/text/TextAnimator.h",
  "$_src/text/TextValue.cpp",
  "$_src/text/TextValue.h",
]
