OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/aura_shell/desktop_layout_manager.h" | 5 #include "ui/aura_shell/desktop_layout_manager.h" |
6 | 6 |
7 #include "ui/aura/window.h" | 7 #include "ui/aura/window.h" |
| 8 #include "ui/aura_shell/shelf_layout_controller.h" |
8 #include "ui/views/widget/widget.h" | 9 #include "ui/views/widget/widget.h" |
9 | 10 |
10 namespace aura_shell { | 11 namespace aura_shell { |
11 namespace internal { | 12 namespace internal { |
12 | 13 |
13 //////////////////////////////////////////////////////////////////////////////// | 14 //////////////////////////////////////////////////////////////////////////////// |
14 // DesktopLayoutManager, public: | 15 // DesktopLayoutManager, public: |
15 | 16 |
16 DesktopLayoutManager::DesktopLayoutManager(aura::Window* owner) | 17 DesktopLayoutManager::DesktopLayoutManager(aura::Window* owner) |
17 : owner_(owner), | 18 : owner_(owner), |
18 background_widget_(NULL) { | 19 background_widget_(NULL), |
| 20 shelf_(NULL) { |
19 } | 21 } |
20 | 22 |
21 DesktopLayoutManager::~DesktopLayoutManager() { | 23 DesktopLayoutManager::~DesktopLayoutManager() { |
22 } | 24 } |
23 | 25 |
24 //////////////////////////////////////////////////////////////////////////////// | 26 //////////////////////////////////////////////////////////////////////////////// |
25 // DesktopLayoutManager, aura::LayoutManager implementation: | 27 // DesktopLayoutManager, aura::LayoutManager implementation: |
26 | 28 |
27 void DesktopLayoutManager::OnWindowResized() { | 29 void DesktopLayoutManager::OnWindowResized() { |
28 gfx::Rect fullscreen_bounds = | 30 gfx::Rect fullscreen_bounds = |
29 gfx::Rect(owner_->bounds().width(), owner_->bounds().height()); | 31 gfx::Rect(owner_->bounds().width(), owner_->bounds().height()); |
30 | 32 |
31 aura::Window::Windows::const_iterator i; | 33 aura::Window::Windows::const_iterator i; |
32 for (i = owner_->children().begin(); i != owner_->children().end(); ++i) | 34 for (i = owner_->children().begin(); i != owner_->children().end(); ++i) |
33 (*i)->SetBounds(fullscreen_bounds); | 35 (*i)->SetBounds(fullscreen_bounds); |
34 | 36 |
35 background_widget_->SetBounds(fullscreen_bounds); | 37 background_widget_->SetBounds(fullscreen_bounds); |
| 38 |
| 39 if (shelf_) |
| 40 shelf_->LayoutShelf(); |
36 } | 41 } |
37 | 42 |
38 void DesktopLayoutManager::OnWindowAddedToLayout(aura::Window* child) { | 43 void DesktopLayoutManager::OnWindowAddedToLayout(aura::Window* child) { |
39 } | 44 } |
40 | 45 |
41 void DesktopLayoutManager::OnWillRemoveWindowFromLayout(aura::Window* child) { | 46 void DesktopLayoutManager::OnWillRemoveWindowFromLayout(aura::Window* child) { |
42 } | 47 } |
43 | 48 |
44 void DesktopLayoutManager::OnChildWindowVisibilityChanged(aura::Window* child, | 49 void DesktopLayoutManager::OnChildWindowVisibilityChanged(aura::Window* child, |
45 bool visible) { | 50 bool visible) { |
46 } | 51 } |
47 | 52 |
48 void DesktopLayoutManager::SetChildBounds(aura::Window* child, | 53 void DesktopLayoutManager::SetChildBounds(aura::Window* child, |
49 const gfx::Rect& requested_bounds) { | 54 const gfx::Rect& requested_bounds) { |
50 SetChildBoundsDirect(child, requested_bounds); | 55 SetChildBoundsDirect(child, requested_bounds); |
51 } | 56 } |
52 | 57 |
| 58 |
53 } // namespace internal | 59 } // namespace internal |
54 } // namespace aura_shell | 60 } // namespace aura_shell |
OLD | NEW |