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

Unified Diff: ui/gfx/android/scroller.h

Issue 634373003: Consolidate content fling implementations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix win build Created 6 years, 2 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 | « ui/gfx/BUILD.gn ('k') | ui/gfx/android/scroller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/android/scroller.h
diff --git a/ui/gfx/android/scroller.h b/ui/gfx/android/scroller.h
deleted file mode 100644
index 39d7255dc8771be2495122ae04342194e7e8333c..0000000000000000000000000000000000000000
--- a/ui/gfx/android/scroller.h
+++ /dev/null
@@ -1,148 +0,0 @@
-// Copyright 2014 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 UI_GFX_ANDROID_SCROLLER_H_
-#define UI_GFX_ANDROID_SCROLLER_H_
-
-#include "base/time/time.h"
-#include "ui/gfx/gfx_export.h"
-
-namespace gfx {
-
-// Native port of android.widget.Scroller.
-// * Change-Id: I4365946f890a76fcfa78ca9d69f2a8e0848095a9
-// * Please update the Change-Id as upstream Android changes are pulled.
-class GFX_EXPORT Scroller {
- public:
- struct Config {
- Config();
-
- // Controls fling deceleration. Defaults to 0.015f.
- float fling_friction;
-
- // Controls fling accumulation. Defaults to disabled.
- bool flywheel_enabled;
- };
-
- explicit Scroller(const Config& config);
- ~Scroller();
-
- // Start scrolling by providing a starting point and the distance to travel.
- // The default value of 250 milliseconds will be used for the duration.
- void StartScroll(float start_x,
- float start_y,
- float dx,
- float dy,
- base::TimeTicks start_time);
-
- // Start scrolling by providing a starting point, the distance to travel,
- // and the duration of the scroll.
- void StartScroll(float start_x,
- float start_y,
- float dx,
- float dy,
- base::TimeTicks start_time,
- base::TimeDelta duration);
-
- // Start scrolling based on a fling gesture. The distance travelled will
- // depend on the initial velocity of the fling.
- void Fling(float start_x,
- float start_y,
- float velocity_x,
- float velocity_y,
- float min_x,
- float max_x,
- float min_y,
- float max_y,
- base::TimeTicks start_time);
-
- // Call this when you want to know the new location. If it returns true,
- // the animation is not yet finished.
- bool ComputeScrollOffset(base::TimeTicks time);
-
- // Extend the scroll animation by |extend|. This allows a running animation
- // to scroll further and longer when used with |SetFinalX()| or |SetFinalY()|.
- void ExtendDuration(base::TimeDelta extend);
- void SetFinalX(float new_x);
- void SetFinalY(float new_y);
-
- // Stops the animation. Contrary to |ForceFinished()|, aborting the animation
- // causes the scroller to move to the final x and y position.
- void AbortAnimation();
-
- // Terminate the scroll without affecting the current x and y positions.
- void ForceFinished(bool finished);
-
- // Returns whether the scroller has finished scrolling.
- bool IsFinished() const;
-
- // Returns the time elapsed since the beginning of the scrolling.
- base::TimeDelta GetTimePassed() const;
-
- // Returns how long the scroll event will take.
- base::TimeDelta GetDuration() const;
-
- float GetStartX() const;
- float GetStartY() const;
- float GetCurrX() const;
- float GetCurrY() const;
- float GetCurrVelocity() const;
- float GetCurrVelocityX() const;
- float GetCurrVelocityY() const;
- float GetFinalX() const;
- float GetFinalY() const;
-
- bool IsScrollingInDirection(float xvel, float yvel) const;
-
- private:
- enum Mode {
- UNDEFINED,
- SCROLL_MODE,
- FLING_MODE,
- };
-
- void OnDurationChanged();
- void RecomputeDeltas();
-
- double GetSplineDeceleration(float velocity) const;
- base::TimeDelta GetSplineFlingDuration(float velocity) const;
- double GetSplineFlingDistance(float velocity) const;
-
- Mode mode_;
-
- float start_x_;
- float start_y_;
- float final_x_;
- float final_y_;
-
- float min_x_;
- float max_x_;
- float min_y_;
- float max_y_;
-
- float curr_x_;
- float curr_y_;
- base::TimeTicks start_time_;
- base::TimeTicks curr_time_;
- base::TimeDelta duration_;
- double duration_seconds_reciprocal_;
- float delta_x_;
- float delta_x_norm_;
- float delta_y_;
- float delta_y_norm_;
- bool finished_;
- bool flywheel_enabled_;
-
- float velocity_;
- float curr_velocity_;
- float distance_;
-
- float fling_friction_;
- float deceleration_;
- float tuning_coeff_;
-};
-
-} // namespace gfx
-
-#endif // UI_GFX_ANDROID_SCROLLER_H_
« no previous file with comments | « ui/gfx/BUILD.gn ('k') | ui/gfx/android/scroller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698