#include "include/core/SkPoint.h"
#include "include/core/SkScalar.h"
#include "include/private/base/SkFloatingPoint.h"
#include "modules/skottie/src/Camera.h"
#include "modules/skottie/src/SkottiePriv.h"
#include "modules/sksg/include/SkSGTransform.h"
#include "src/utils/SkJSON.h"
#include <algorithm>
#include <cmath>
#include <utility>
namespace skottie {
namespace internal {
namespace {
SkM44 ComputeCameraMatrix(const SkV3& position,
const SkV3& poi,
const SkV3& rotation,
const SkSize& viewport_size,
float zoom) { … }
}
CameraAdaper::CameraAdaper(const skjson::ObjectValue& jlayer,
const skjson::ObjectValue& jtransform,
const AnimationBuilder& abuilder,
const SkSize& viewport_size)
: … { … }
CameraAdaper::~CameraAdaper() = default;
SkM44 CameraAdaper::totalMatrix() const { … }
SkV3 CameraAdaper::poi(const SkV3& pos) const { … }
sk_sp<sksg::Transform> CameraAdaper::DefaultCameraTransform(const SkSize& viewport_size) { … }
sk_sp<sksg::Transform> AnimationBuilder::attachCamera(const skjson::ObjectValue& jlayer,
const skjson::ObjectValue& jtransform,
sk_sp<sksg::Transform> parent,
const SkSize& viewport_size) const { … }
}
}