OLD | NEW |
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/launcher/launcher.h" | 5 #include "ash/launcher/launcher.h" |
6 | 6 |
7 #include "ash/focus_cycler.h" | 7 #include "ash/focus_cycler.h" |
8 #include "ash/launcher/launcher_delegate.h" | 8 #include "ash/launcher/launcher_delegate.h" |
9 #include "ash/launcher/launcher_model.h" | 9 #include "ash/launcher/launcher_model.h" |
10 #include "ash/launcher/launcher_navigator.h" | 10 #include "ash/launcher/launcher_navigator.h" |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 int w = std::max(0, width() - launcher_->status_size_.width()); | 88 int w = std::max(0, width() - launcher_->status_size_.width()); |
89 child_at(0)->SetBounds(0, 0, w, height()); | 89 child_at(0)->SetBounds(0, 0, w, height()); |
90 } else { | 90 } else { |
91 int h = std::max(0, height() - launcher_->status_size_.height()); | 91 int h = std::max(0, height() - launcher_->status_size_.height()); |
92 child_at(0)->SetBounds(0, 0, width(), h); | 92 child_at(0)->SetBounds(0, 0, width(), h); |
93 } | 93 } |
94 } | 94 } |
95 | 95 |
96 // Launcher -------------------------------------------------------------------- | 96 // Launcher -------------------------------------------------------------------- |
97 | 97 |
98 Launcher::Launcher(aura::Window* window_container) | 98 Launcher::Launcher(aura::Window* window_container, |
| 99 internal::ShelfLayoutManager* shelf_layout_manager) |
99 : widget_(NULL), | 100 : widget_(NULL), |
100 window_container_(window_container), | 101 window_container_(window_container), |
101 delegate_view_(NULL), | 102 delegate_view_(NULL), |
102 launcher_view_(NULL), | 103 launcher_view_(NULL), |
103 alignment_(SHELF_ALIGNMENT_BOTTOM), | 104 alignment_(SHELF_ALIGNMENT_BOTTOM), |
104 ALLOW_THIS_IN_INITIALIZER_LIST( | 105 ALLOW_THIS_IN_INITIALIZER_LIST( |
105 background_animator_(this, 0, kBackgroundAlpha)) { | 106 background_animator_(this, 0, kBackgroundAlpha)) { |
106 model_.reset(new LauncherModel); | 107 model_.reset(new LauncherModel); |
107 if (Shell::GetInstance()->delegate()) { | 108 if (Shell::GetInstance()->delegate()) { |
108 delegate_.reset( | 109 delegate_.reset( |
109 Shell::GetInstance()->delegate()->CreateLauncherDelegate(model_.get())); | 110 Shell::GetInstance()->delegate()->CreateLauncherDelegate(model_.get())); |
110 } | 111 } |
111 | 112 |
112 widget_.reset(new views::Widget); | 113 widget_.reset(new views::Widget); |
113 views::Widget::InitParams params( | 114 views::Widget::InitParams params( |
114 views::Widget::InitParams::TYPE_WINDOW_FRAMELESS); | 115 views::Widget::InitParams::TYPE_WINDOW_FRAMELESS); |
115 // The launcher only ever draws a solid color. | 116 // The launcher only ever draws a solid color. |
116 params.layer_type = ui::LAYER_SOLID_COLOR; | 117 params.layer_type = ui::LAYER_SOLID_COLOR; |
117 params.transparent = true; | 118 params.transparent = true; |
118 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; | 119 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
119 params.parent = Shell::GetContainer( | 120 params.parent = Shell::GetContainer( |
120 window_container_->GetRootWindow(), | 121 window_container_->GetRootWindow(), |
121 ash::internal::kShellWindowId_LauncherContainer); | 122 ash::internal::kShellWindowId_LauncherContainer); |
122 launcher_view_ = new internal::LauncherView(model_.get(), delegate_.get()); | 123 launcher_view_ = new internal::LauncherView( |
| 124 model_.get(), delegate_.get(), shelf_layout_manager); |
123 launcher_view_->Init(); | 125 launcher_view_->Init(); |
124 delegate_view_ = new DelegateView(this); | 126 delegate_view_ = new DelegateView(this); |
125 delegate_view_->AddChildView(launcher_view_); | 127 delegate_view_->AddChildView(launcher_view_); |
126 params.delegate = delegate_view_; | 128 params.delegate = delegate_view_; |
127 widget_->Init(params); | 129 widget_->Init(params); |
128 widget_->GetNativeWindow()->SetName("LauncherWindow"); | 130 widget_->GetNativeWindow()->SetName("LauncherWindow"); |
129 gfx::Size pref = | 131 gfx::Size pref = |
130 static_cast<views::View*>(launcher_view_)->GetPreferredSize(); | 132 static_cast<views::View*>(launcher_view_)->GetPreferredSize(); |
131 widget_->SetBounds(gfx::Rect(pref)); | 133 widget_->SetBounds(gfx::Rect(pref)); |
132 // The launcher should not take focus when it is initially shown. | 134 // The launcher should not take focus when it is initially shown. |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 internal::LauncherView* Launcher::GetLauncherViewForTest() { | 218 internal::LauncherView* Launcher::GetLauncherViewForTest() { |
217 return launcher_view_; | 219 return launcher_view_; |
218 } | 220 } |
219 | 221 |
220 void Launcher::UpdateBackground(int alpha) { | 222 void Launcher::UpdateBackground(int alpha) { |
221 ui::Layer* layer = widget_->GetNativeView()->layer(); | 223 ui::Layer* layer = widget_->GetNativeView()->layer(); |
222 layer->SetColor(SkColorSetARGB(alpha, 0, 0, 0)); | 224 layer->SetColor(SkColorSetARGB(alpha, 0, 0, 0)); |
223 } | 225 } |
224 | 226 |
225 } // namespace ash | 227 } // namespace ash |
OLD | NEW |