#include "include/core/SkContourMeasure.h"
#include "include/core/SkCubicMap.h"
#include "include/core/SkM44.h"
#include "include/core/SkPathBuilder.h"
#include "include/core/SkPoint.h"
#include "include/core/SkRefCnt.h"
#include "include/core/SkScalar.h"
#include "include/core/SkString.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkTo.h"
#include "modules/skottie/include/Skottie.h"
#include "modules/skottie/include/SlotManager.h"
#include "modules/skottie/src/SkottieJson.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/skottie/src/SkottieValue.h"
#include "modules/skottie/src/animator/Animator.h"
#include "modules/skottie/src/animator/KeyframeAnimator.h"
#include "src/utils/SkJSON.h"
#include <algorithm>
#include <cmath>
#include <utility>
#include <vector>
namespace skottie::internal {
namespace {
class Vec2KeyframeAnimator final : public KeyframeAnimator { … };
class Vec2ExpressionAnimator final : public Animator { … };
class Vec2AnimatorBuilder final : public AnimatorBuilder { … };
}
bool AnimatablePropertyContainer::bindAutoOrientable(const AnimationBuilder& abuilder,
const skjson::ObjectValue* jprop,
Vec2Value* v, float* orientation) { … }
template <>
bool AnimatablePropertyContainer::bind<Vec2Value>(const AnimationBuilder& abuilder,
const skjson::ObjectValue* jprop,
Vec2Value* v) { … }
}