#include "cc/input/page_scale_animation.h"
#include <math.h>
#include "base/check.h"
#include "base/memory/ptr_util.h"
#include "ui/gfx/geometry/point_f.h"
#include "ui/gfx/geometry/rect_f.h"
#include "ui/gfx/geometry/vector2d_conversions.h"
namespace {
gfx::Vector2dF NormalizeFromViewport(const gfx::Vector2dF& denormalized,
const gfx::SizeF& viewport_size) { … }
gfx::Vector2dF DenormalizeToViewport(const gfx::Vector2dF& normalized,
const gfx::SizeF& viewport_size) { … }
gfx::Vector2dF InterpolateBetween(const gfx::Vector2dF& start,
const gfx::Vector2dF& end,
float interp) { … }
}
namespace cc {
TimeTicks;
std::unique_ptr<PageScaleAnimation> PageScaleAnimation::Create(
const gfx::PointF& start_scroll_offset,
float start_page_scale_factor,
const gfx::SizeF& viewport_size,
const gfx::SizeF& root_layer_size) { … }
PageScaleAnimation::PageScaleAnimation(const gfx::PointF& start_scroll_offset,
float start_page_scale_factor,
const gfx::SizeF& viewport_size,
const gfx::SizeF& root_layer_size)
: … { … }
PageScaleAnimation::~PageScaleAnimation() = default;
void PageScaleAnimation::ZoomTo(const gfx::PointF& target_scroll_offset,
float target_page_scale_factor,
double duration) { … }
void PageScaleAnimation::ZoomWithAnchor(const gfx::PointF& anchor,
float target_page_scale_factor,
double duration) { … }
void PageScaleAnimation::InferTargetScrollOffsetFromStartAnchor() { … }
void PageScaleAnimation::InferTargetAnchorFromScrollOffsets() { … }
void PageScaleAnimation::ClampTargetScrollOffset() { … }
gfx::SizeF PageScaleAnimation::StartViewportSize() const { … }
gfx::SizeF PageScaleAnimation::TargetViewportSize() const { … }
gfx::SizeF PageScaleAnimation::ViewportSizeAt(float interp) const { … }
bool PageScaleAnimation::IsAnimationStarted() const { … }
void PageScaleAnimation::StartAnimation(base::TimeTicks time) { … }
gfx::PointF PageScaleAnimation::ScrollOffsetAtTime(base::TimeTicks time) const { … }
float PageScaleAnimation::PageScaleFactorAtTime(base::TimeTicks time) const { … }
bool PageScaleAnimation::IsAnimationCompleteAtTime(base::TimeTicks time) const { … }
float PageScaleAnimation::InterpAtTime(base::TimeTicks monotonic_time) const { … }
gfx::PointF PageScaleAnimation::ScrollOffsetAt(float interp) const { … }
gfx::PointF PageScaleAnimation::AnchorAt(float interp) const { … }
gfx::Vector2dF PageScaleAnimation::ViewportRelativeAnchorAt(
float interp) const { … }
float PageScaleAnimation::PageScaleFactorAt(float interp) const { … }
}