# 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/BulgeEffect.cpp",
  "$_src/effects/CCTonerEffect.cpp",
  "$_src/effects/CornerPinEffect.cpp",
  "$_src/effects/DirectionalBlur.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/SharpenEffect.cpp",
  "$_src/effects/ShiftChannelsEffect.cpp",
  "$_src/effects/SkSLEffect.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",
]
