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

Side by Side Diff: ash/system/tray/system_tray_bubble.cc

Issue 23531053: ui/base/animation -> ui/gfx/animation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge 2 trunk Created 7 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 | Annotate | Revision Log
« no previous file with comments | « ash/system/chromeos/network/network_icon_animation.cc ('k') | ash/system/tray/tray_item_view.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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ash/system/tray/system_tray_bubble.h" 5 #include "ash/system/tray/system_tray_bubble.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "ash/system/tray/system_tray.h" 8 #include "ash/system/tray/system_tray.h"
9 #include "ash/system/tray/system_tray_delegate.h" 9 #include "ash/system/tray/system_tray_delegate.h"
10 #include "ash/system/tray/system_tray_item.h" 10 #include "ash/system/tray/system_tray_item.h"
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 DCHECK(layer); 164 DCHECK(layer);
165 layer->SuppressPaint(); 165 layer->SuppressPaint();
166 166
167 // When transitioning from detailed view to default view, animate the 167 // When transitioning from detailed view to default view, animate the
168 // existing view (slide out towards the right). 168 // existing view (slide out towards the right).
169 if (bubble_type == BUBBLE_TYPE_DEFAULT) { 169 if (bubble_type == BUBBLE_TYPE_DEFAULT) {
170 ui::ScopedLayerAnimationSettings settings(layer->GetAnimator()); 170 ui::ScopedLayerAnimationSettings settings(layer->GetAnimator());
171 settings.AddObserver( 171 settings.AddObserver(
172 new AnimationObserverDeleteLayer(scoped_layer.release())); 172 new AnimationObserverDeleteLayer(scoped_layer.release()));
173 settings.SetTransitionDuration(swipe_duration); 173 settings.SetTransitionDuration(swipe_duration);
174 settings.SetTweenType(ui::Tween::EASE_OUT); 174 settings.SetTweenType(gfx::Tween::EASE_OUT);
175 gfx::Transform transform; 175 gfx::Transform transform;
176 transform.Translate(layer->bounds().width(), 0.0); 176 transform.Translate(layer->bounds().width(), 0.0);
177 layer->SetTransform(transform); 177 layer->SetTransform(transform);
178 } 178 }
179 179
180 { 180 {
181 // Add a shadow layer to make the old layer darker as the animation 181 // Add a shadow layer to make the old layer darker as the animation
182 // progresses. 182 // progresses.
183 ui::Layer* shadow = new ui::Layer(ui::LAYER_SOLID_COLOR); 183 ui::Layer* shadow = new ui::Layer(ui::LAYER_SOLID_COLOR);
184 shadow->SetColor(SK_ColorBLACK); 184 shadow->SetColor(SK_ColorBLACK);
185 shadow->SetOpacity(0.01f); 185 shadow->SetOpacity(0.01f);
186 shadow->SetBounds(layer->bounds()); 186 shadow->SetBounds(layer->bounds());
187 layer->Add(shadow); 187 layer->Add(shadow);
188 layer->StackAtTop(shadow); 188 layer->StackAtTop(shadow);
189 { 189 {
190 // Animate the darkening effect a little longer than the swipe-in. This 190 // Animate the darkening effect a little longer than the swipe-in. This
191 // is to make sure the darkening animation does not end up finishing 191 // is to make sure the darkening animation does not end up finishing
192 // early, because the dark layer goes away at the end of the animation, 192 // early, because the dark layer goes away at the end of the animation,
193 // and there is a brief moment when the old view is still visible, but 193 // and there is a brief moment when the old view is still visible, but
194 // it does not have the shadow layer on top. 194 // it does not have the shadow layer on top.
195 ui::ScopedLayerAnimationSettings settings(shadow->GetAnimator()); 195 ui::ScopedLayerAnimationSettings settings(shadow->GetAnimator());
196 settings.AddObserver(new AnimationObserverDeleteLayer(shadow)); 196 settings.AddObserver(new AnimationObserverDeleteLayer(shadow));
197 settings.SetTransitionDuration(swipe_duration + 197 settings.SetTransitionDuration(swipe_duration +
198 base::TimeDelta::FromMilliseconds(150)); 198 base::TimeDelta::FromMilliseconds(150));
199 settings.SetTweenType(ui::Tween::LINEAR); 199 settings.SetTweenType(gfx::Tween::LINEAR);
200 shadow->SetOpacity(0.15f); 200 shadow->SetOpacity(0.15f);
201 } 201 }
202 } 202 }
203 } 203 }
204 204
205 DestroyItemViews(); 205 DestroyItemViews();
206 bubble_view_->RemoveAllChildViews(true); 206 bubble_view_->RemoveAllChildViews(true);
207 207
208 items_ = items; 208 items_ = items;
209 bubble_type_ = bubble_type; 209 bubble_type_ = bubble_type;
(...skipping 25 matching lines...) Expand all
235 gfx::Rect bounds = new_layer->bounds(); 235 gfx::Rect bounds = new_layer->bounds();
236 gfx::Transform transform; 236 gfx::Transform transform;
237 transform.Translate(bounds.width(), 0.0); 237 transform.Translate(bounds.width(), 0.0);
238 new_layer->SetTransform(transform); 238 new_layer->SetTransform(transform);
239 { 239 {
240 ui::ScopedLayerAnimationSettings settings(new_layer->GetAnimator()); 240 ui::ScopedLayerAnimationSettings settings(new_layer->GetAnimator());
241 settings.AddObserver( 241 settings.AddObserver(
242 new AnimationObserverDeleteLayer(scoped_layer.release())); 242 new AnimationObserverDeleteLayer(scoped_layer.release()));
243 settings.SetTransitionDuration( 243 settings.SetTransitionDuration(
244 base::TimeDelta::FromMilliseconds(kSwipeDelayMS)); 244 base::TimeDelta::FromMilliseconds(kSwipeDelayMS));
245 settings.SetTweenType(ui::Tween::EASE_OUT); 245 settings.SetTweenType(gfx::Tween::EASE_OUT);
246 new_layer->SetTransform(gfx::Transform()); 246 new_layer->SetTransform(gfx::Transform());
247 } 247 }
248 } 248 }
249 } 249 }
250 } 250 }
251 251
252 void SystemTrayBubble::InitView(views::View* anchor, 252 void SystemTrayBubble::InitView(views::View* anchor,
253 user::LoginStatus login_status, 253 user::LoginStatus login_status,
254 TrayBubbleView::InitParams* init_params) { 254 TrayBubbleView::InitParams* init_params) {
255 DCHECK(bubble_view_ == NULL); 255 DCHECK(bubble_view_ == NULL);
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 // For default view, draw bottom border for each item, except the last 364 // For default view, draw bottom border for each item, except the last
365 // 2 items, which are the bottom header row and the one just above it. 365 // 2 items, which are the bottom header row and the one just above it.
366 bubble_view_->AddChildView(new TrayPopupItemContainer( 366 bubble_view_->AddChildView(new TrayPopupItemContainer(
367 item_views[i], is_default_bubble, 367 item_views[i], is_default_bubble,
368 is_default_bubble && (i < item_views.size() - 2))); 368 is_default_bubble && (i < item_views.size() - 2)));
369 } 369 }
370 } 370 }
371 371
372 } // namespace internal 372 } // namespace internal
373 } // namespace ash 373 } // namespace ash
OLDNEW
« no previous file with comments | « ash/system/chromeos/network/network_icon_animation.cc ('k') | ash/system/tray/tray_item_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698