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

Side by Side Diff: ash/wm/workspace/desktop_background_fade_controller.cc

Issue 99783005: Remove unused ColoredWindowController/DesktopBackgroundFadeController (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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/wm/workspace/desktop_background_fade_controller.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "ash/wm/workspace/desktop_background_fade_controller.h"
6
7 #include "ash/wm/window_animations.h"
8 #include "ash/wm/workspace/colored_window_controller.h"
9 #include "base/time/time.h"
10 #include "ui/aura/window.h"
11 #include "ui/compositor/scoped_layer_animation_settings.h"
12 #include "ui/views/widget/widget.h"
13
14 namespace ash {
15 namespace internal {
16
17 DesktopBackgroundFadeController::DesktopBackgroundFadeController(
18 aura::Window* parent,
19 aura::Window* position_above,
20 base::TimeDelta duration,
21 Direction direction) {
22 SkColor start_color, target_color;
23 gfx::Tween::Type tween_type;
24 if (direction == FADE_OUT) {
25 start_color = SkColorSetARGB(0, 0, 0, 0);
26 target_color = SK_ColorBLACK;
27 tween_type = gfx::Tween::EASE_IN_OUT;
28 } else {
29 start_color = SK_ColorBLACK;
30 target_color = SkColorSetARGB(0, 0, 0, 0);
31 tween_type = gfx::Tween::EASE_IN_OUT;
32 }
33
34 window_controller_.reset(
35 new ColoredWindowController(parent, "DesktopFade"));
36
37 // Force the window to be directly on top of the desktop.
38 aura::Window* fade_window = window_controller_->GetWidget()->GetNativeView();
39 parent->StackChildBelow(fade_window, position_above);
40 parent->StackChildAbove(fade_window, position_above);
41 window_controller_->SetColor(start_color);
42 views::corewm::SetWindowVisibilityAnimationTransition(
43 window_controller_->GetWidget()->GetNativeView(),
44 views::corewm::ANIMATE_NONE);
45 window_controller_->GetWidget()->Show();
46 {
47 ui::ScopedLayerAnimationSettings scoped_setter(
48 fade_window->layer()->GetAnimator());
49 scoped_setter.AddObserver(this);
50 scoped_setter.SetTweenType(tween_type);
51 scoped_setter.SetTransitionDuration(duration);
52 window_controller_->SetColor(target_color);
53 }
54 }
55
56 DesktopBackgroundFadeController::~DesktopBackgroundFadeController() {
57 StopObservingImplicitAnimations();
58 }
59
60 void DesktopBackgroundFadeController::OnImplicitAnimationsCompleted() {
61 window_controller_.reset();
62 }
63
64 } // namespace internal
65 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/workspace/desktop_background_fade_controller.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698