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

Unified Diff: content/browser/android/edge_effect_l.cc

Issue 543123002: [Android] Overscroll appearance tweaks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | content/browser/android/system_ui_resource_manager_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/android/edge_effect_l.cc
diff --git a/content/browser/android/edge_effect_l.cc b/content/browser/android/edge_effect_l.cc
index 4bf264651455f26f4b1044dfa228408d4c7c8ba9..ccec8a41c47217acde500f6973eb71088cf78ae2 100644
--- a/content/browser/android/edge_effect_l.cc
+++ b/content/browser/android/edge_effect_l.cc
@@ -12,12 +12,16 @@ namespace content {
namespace {
// Time it will take the effect to fully recede in ms
-const int kRecedeTimeMs = 1000;
+const int kRecedeTimeMs = 600;
// Time it will take before a pulled glow begins receding in ms
const int kPullTimeMs = 167;
-const float kMaxAlpha = 1.f;
+// Time it will take for a pulled glow to decay to partial strength before
+// release
+const int kPullDecayTimeMs = 2000;
+
+const float kMaxAlpha = 0.5f;
const float kPullGlowBegin = 0.f;
@@ -32,9 +36,9 @@ const float kCos = 0.866f; // cos(PI / 6);
// How much dragging should effect the height of the glow image.
// Number determined by user testing.
-const float kPullDistanceAlphaGlowFactor = 1.1f;
+const float kPullDistanceAlphaGlowFactor = 0.8f;
-const int kVelocityGlowFactor = 12;
+const int kVelocityGlowFactor = 6;
const ui::SystemUIResourceManager::ResourceType kResourceType =
ui::SystemUIResourceManager::OVERSCROLL_GLOW_L;
@@ -196,7 +200,16 @@ bool EdgeEffectL::Update(base::TimeTicks current_time) {
glow_scale_y_finish_ = 0.f;
break;
case STATE_PULL:
- // Hold in this state until explicitly released.
+ state_ = STATE_PULL_DECAY;
+ start_time_ = current_time;
+ duration_ = base::TimeDelta::FromMilliseconds(kPullDecayTimeMs);
+
+ glow_alpha_start_ = glow_alpha_;
+ glow_scale_y_start_ = glow_scale_y_;
+
+ // After pull, the glow should fade to nothing.
+ glow_alpha_finish_ = 0.f;
+ glow_scale_y_finish_ = 0.f;
break;
case STATE_PULL_DECAY:
state_ = STATE_RECEDE;
@@ -233,8 +246,13 @@ void EdgeEffectL::ApplyToLayers(const gfx::SizeF& size,
const float r = size.width() * 0.75f / kSin;
const float y = kCos * r;
const float h = r - y;
+ const float o_r = size.height() * 0.75f / kSin;
+ const float o_y = kCos * o_r;
+ const float o_h = o_r - o_y;
+ const float base_glow_scale = h > 0.f ? std::min(o_h / h, 1.f) : 1.f;
bounds_ = gfx::Size(size.width(), (int)std::min(size.height(), h));
- gfx::Size image_bounds(r, std::min(1.f, glow_scale_y_) * bounds_.height());
+ gfx::Size image_bounds(
+ r, std::min(1.f, glow_scale_y_) * base_glow_scale * bounds_.height());
glow_->SetIsDrawable(true);
glow_->SetUIResourceId(resource_manager_->GetUIResourceId(kResourceType));
« no previous file with comments | « no previous file | content/browser/android/system_ui_resource_manager_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698