#include "ui/gfx/animation/keyframe/keyframe_model.h"
#include "base/memory/ptr_util.h"
#include "base/notreached.h"
#include "base/time/time.h"
namespace gfx {
namespace {
static constexpr auto s_runStateNames = …;
static_assert …;
}
std::string KeyframeModel::ToString(RunState state) { … }
std::unique_ptr<KeyframeModel> KeyframeModel::Create(
std::unique_ptr<AnimationCurve> curve,
int keyframe_model_id,
int target_property_id) { … }
KeyframeModel::KeyframeModel(std::unique_ptr<AnimationCurve> curve,
int keyframe_model_id,
int target_property_id)
: … { … }
KeyframeModel::~KeyframeModel() { … }
int KeyframeModel::TargetProperty() const { … }
void KeyframeModel::SetRunState(RunState run_state,
base::TimeTicks monotonic_time) { … }
void KeyframeModel::Pause(base::TimeDelta pause_offset) { … }
KeyframeModel::Phase KeyframeModel::CalculatePhaseForTesting(
base::TimeDelta local_time) const { … }
KeyframeModel::Phase KeyframeModel::CalculatePhase(
base::TimeDelta local_time) const { … }
std::optional<base::TimeDelta> KeyframeModel::CalculateActiveTime(
base::TimeTicks monotonic_time) const { … }
std::optional<base::TimeDelta> KeyframeModel::CalculateActiveTime(
base::TimeDelta local_time,
KeyframeModel::Phase phase) const { … }
bool KeyframeModel::IsFinishedAt(base::TimeTicks monotonic_time) const { … }
bool KeyframeModel::HasActiveTime(base::TimeTicks monotonic_time) const { … }
bool KeyframeModel::StartShouldBeDeferred() const { … }
base::TimeDelta KeyframeModel::TrimTimeToCurrentIteration(
base::TimeTicks monotonic_time,
TimingFunction::LimitDirection* limit_direction) const { … }
base::TimeDelta KeyframeModel::ConvertMonotonicTimeToLocalTime(
base::TimeTicks monotonic_time) const { … }
}