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

Side by Side Diff: ui/android/overscroll_glow.cc

Issue 2884423003: Use scroll-boundary-behavior to control overscroll-refresh/glow on android. (Closed)
Patch Set: Rebase Created 3 years, 3 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 unified diff | Download patch
« no previous file with comments | « ui/android/overscroll_glow.h ('k') | ui/android/overscroll_refresh.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/android/overscroll_glow.h" 5 #include "ui/android/overscroll_glow.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "cc/layers/layer.h" 9 #include "cc/layers/layer.h"
10 #include "ui/android/edge_effect_base.h" 10 #include "ui/android/edge_effect_base.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 float OverscrollGlow::GetVisibleAlpha() const { 67 float OverscrollGlow::GetVisibleAlpha() const {
68 float max_alpha = 0; 68 float max_alpha = 0;
69 for (size_t i = 0; i < EDGE_COUNT; ++i) { 69 for (size_t i = 0; i < EDGE_COUNT; ++i) {
70 if (!edge_effects_[i]->IsFinished()) 70 if (!edge_effects_[i]->IsFinished())
71 max_alpha = std::max(max_alpha, edge_effects_[i]->GetAlpha()); 71 max_alpha = std::max(max_alpha, edge_effects_[i]->GetAlpha());
72 } 72 }
73 return std::min(max_alpha, 1.f); 73 return std::min(max_alpha, 1.f);
74 } 74 }
75 75
76 bool OverscrollGlow::OnOverscrolled(base::TimeTicks current_time, 76 bool OverscrollGlow::OnOverscrolled(base::TimeTicks current_time,
77 const gfx::Vector2dF& accumulated_overscroll, 77 gfx::Vector2dF accumulated_overscroll,
78 gfx::Vector2dF overscroll_delta, 78 gfx::Vector2dF overscroll_delta,
79 gfx::Vector2dF velocity, 79 gfx::Vector2dF velocity,
80 const gfx::Vector2dF& overscroll_location) { 80 gfx::Vector2dF overscroll_location) {
81 // The size of the glow determines the relative effect of the inputs; an 81 // The size of the glow determines the relative effect of the inputs; an
82 // empty-sized effect is effectively disabled. 82 // empty-sized effect is effectively disabled.
83 if (viewport_size_.IsEmpty()) 83 if (viewport_size_.IsEmpty())
84 return false; 84 return false;
85 85
86 if (!allow_horizontal_overscroll_) { 86 if (!allow_horizontal_overscroll_) {
87 overscroll_delta.set_x(0); 87 overscroll_delta.set_x(0);
88 velocity.set_x(0); 88 velocity.set_x(0);
89 } 89 }
90 if (!allow_vertical_overscroll_) { 90 if (!allow_vertical_overscroll_) {
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 for (size_t i = 0; i < EDGE_COUNT; ++i) 272 for (size_t i = 0; i < EDGE_COUNT; ++i)
273 edge_effects_[i]->Release(current_time); 273 edge_effects_[i]->Release(current_time);
274 } 274 }
275 275
276 EdgeEffectBase* OverscrollGlow::GetOppositeEdge(int edge_index) { 276 EdgeEffectBase* OverscrollGlow::GetOppositeEdge(int edge_index) {
277 DCHECK(initialized_); 277 DCHECK(initialized_);
278 return edge_effects_[(edge_index + 2) % EDGE_COUNT].get(); 278 return edge_effects_[(edge_index + 2) % EDGE_COUNT].get();
279 } 279 }
280 280
281 } // namespace ui 281 } // namespace ui
OLDNEW
« no previous file with comments | « ui/android/overscroll_glow.h ('k') | ui/android/overscroll_refresh.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698