Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1603)

Unified Diff: cc/input/page_scale_animation.h

Issue 1057283003: Remove parts of //cc we aren't using (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/input/layer_selection_bound.cc ('k') | cc/input/page_scale_animation.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/input/page_scale_animation.h
diff --git a/cc/input/page_scale_animation.h b/cc/input/page_scale_animation.h
deleted file mode 100644
index 0e430c212fe805854be09c049170934999e8ab1c..0000000000000000000000000000000000000000
--- a/cc/input/page_scale_animation.h
+++ /dev/null
@@ -1,135 +0,0 @@
-// Copyright 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CC_INPUT_PAGE_SCALE_ANIMATION_H_
-#define CC_INPUT_PAGE_SCALE_ANIMATION_H_
-
-#include "base/basictypes.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/time/time.h"
-#include "cc/base/cc_export.h"
-#include "ui/gfx/geometry/size.h"
-#include "ui/gfx/geometry/vector2d.h"
-#include "ui/gfx/geometry/vector2d_f.h"
-
-namespace cc {
-
-class TimingFunction;
-
-// Used in the CC to pass around a scale animation that hasn't yet been
-// initialized.
-struct PendingPageScaleAnimation {
- PendingPageScaleAnimation(
- const gfx::Vector2d _target_offset,
- bool _use_anchor,
- float _scale,
- const base::TimeDelta& _duration)
- : target_offset(_target_offset),
- use_anchor(_use_anchor),
- scale(_scale),
- duration(_duration) {}
- gfx::Vector2d target_offset;
- bool use_anchor;
- float scale;
- base::TimeDelta duration;
-};
-
-// A small helper class that does the math for zoom animations, primarily for
-// double-tap zoom. Initialize it with starting and ending scroll/page scale
-// positions and an animation length time, then call ...AtTime() at every frame
-// to obtain the current interpolated position. The supplied timing function
-// is used to ease the animation.
-//
-// All sizes and vectors in this class's public methods are in the root scroll
-// layer's coordinate space.
-class CC_EXPORT PageScaleAnimation {
- public:
- // Construct with the state at the beginning of the animation.
- static scoped_ptr<PageScaleAnimation> Create(
- const gfx::Vector2dF& start_scroll_offset,
- float start_page_scale_factor,
- const gfx::SizeF& viewport_size,
- const gfx::SizeF& root_layer_size,
- scoped_ptr<TimingFunction> timing_function);
-
- ~PageScaleAnimation();
-
- // The following methods initialize the animation. Call one of them
- // immediately after construction to set the final scroll and page scale.
-
- // Zoom while explicitly specifying the top-left scroll position.
- void ZoomTo(const gfx::Vector2dF& target_scroll_offset,
- float target_page_scale_factor,
- double duration);
-
- // Zoom based on a specified anchor. The animator will attempt to keep it
- // at the same position on the physical display throughout the animation,
- // unless the edges of the root layer are hit. The anchor is specified
- // as an offset from the content layer.
- void ZoomWithAnchor(const gfx::Vector2dF& anchor,
- float target_page_scale_factor,
- double duration);
-
- // These should be called before the first frame of animation to initialize
- // the start time. StartAnimation should only be called once after creation.
- bool IsAnimationStarted() const;
- void StartAnimation(base::TimeTicks time);
-
- // Call these functions while the animation is in progress to output the
- // current state.
- gfx::Vector2dF ScrollOffsetAtTime(base::TimeTicks time) const;
- float PageScaleFactorAtTime(base::TimeTicks time) const;
- bool IsAnimationCompleteAtTime(base::TimeTicks time) const;
-
- // The following methods return state which is invariant throughout the
- // course of the animation.
- base::TimeTicks start_time() const { return start_time_; }
- base::TimeDelta duration() const { return duration_; }
- base::TimeTicks end_time() const { return start_time_ + duration_; }
- gfx::Vector2dF target_scroll_offset() const { return target_scroll_offset_; }
- float target_page_scale_factor() const { return target_page_scale_factor_; }
-
- protected:
- PageScaleAnimation(const gfx::Vector2dF& start_scroll_offset,
- float start_page_scale_factor,
- const gfx::SizeF& viewport_size,
- const gfx::SizeF& root_layer_size,
- scoped_ptr<TimingFunction> timing_function);
-
- private:
- void ClampTargetScrollOffset();
- void InferTargetScrollOffsetFromStartAnchor();
- void InferTargetAnchorFromScrollOffsets();
-
- gfx::SizeF StartViewportSize() const;
- gfx::SizeF TargetViewportSize() const;
- float InterpAtTime(base::TimeTicks time) const;
- gfx::SizeF ViewportSizeAt(float interp) const;
- gfx::Vector2dF ScrollOffsetAt(float interp) const;
- gfx::Vector2dF AnchorAt(float interp) const;
- gfx::Vector2dF ViewportRelativeAnchorAt(float interp) const;
- float PageScaleFactorAt(float interp) const;
-
- float start_page_scale_factor_;
- float target_page_scale_factor_;
- gfx::Vector2dF start_scroll_offset_;
- gfx::Vector2dF target_scroll_offset_;
-
- gfx::Vector2dF start_anchor_;
- gfx::Vector2dF target_anchor_;
-
- gfx::SizeF viewport_size_;
- gfx::SizeF root_layer_size_;
-
- base::TimeTicks start_time_;
- base::TimeDelta duration_;
-
- scoped_ptr<TimingFunction> timing_function_;
-
- DISALLOW_COPY_AND_ASSIGN(PageScaleAnimation);
-};
-
-} // namespace cc
-
-#endif // CC_INPUT_PAGE_SCALE_ANIMATION_H_
« no previous file with comments | « cc/input/layer_selection_bound.cc ('k') | cc/input/page_scale_animation.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698