# 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/BlendModes.cpp",
  "$_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",
]
