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 #ifndef UI_AURA_SHELL_DESKTOP_LAYOUT_MANAGER_H_ | 5 #ifndef UI_AURA_SHELL_DESKTOP_LAYOUT_MANAGER_H_ |
6 #define UI_AURA_SHELL_DESKTOP_LAYOUT_MANAGER_H_ | 6 #define UI_AURA_SHELL_DESKTOP_LAYOUT_MANAGER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
11 #include "ui/aura/layout_manager.h" | 11 #include "ui/aura/layout_manager.h" |
12 | 12 |
13 namespace aura { | 13 namespace aura { |
14 class Window; | 14 class Window; |
15 } | 15 } |
16 namespace gfx { | 16 namespace gfx { |
17 class Rect; | 17 class Rect; |
18 } | 18 } |
19 namespace views { | 19 namespace views { |
20 class Widget; | 20 class Widget; |
21 } | 21 } |
22 | 22 |
23 namespace aura_shell { | 23 namespace aura_shell { |
24 namespace internal { | 24 namespace internal { |
25 | 25 |
| 26 class ShelfLayoutController; |
| 27 |
26 // A layout manager for the root window. | 28 // A layout manager for the root window. |
27 // Resizes all of its immediate children to fill the bounds of the root window. | 29 // Resizes all of its immediate children to fill the bounds of the root window. |
28 class DesktopLayoutManager : public aura::LayoutManager { | 30 class DesktopLayoutManager : public aura::LayoutManager { |
29 public: | 31 public: |
30 explicit DesktopLayoutManager(aura::Window* owner); | 32 explicit DesktopLayoutManager(aura::Window* owner); |
31 virtual ~DesktopLayoutManager(); | 33 virtual ~DesktopLayoutManager(); |
32 | 34 |
| 35 void set_shelf(ShelfLayoutController* shelf) { shelf_ = shelf; } |
| 36 |
33 void set_background_widget(views::Widget* background_widget) { | 37 void set_background_widget(views::Widget* background_widget) { |
34 background_widget_ = background_widget; | 38 background_widget_ = background_widget; |
35 } | 39 } |
36 | 40 |
37 // Overridden from aura::LayoutManager: | 41 // Overridden from aura::LayoutManager: |
38 virtual void OnWindowResized() OVERRIDE; | 42 virtual void OnWindowResized() OVERRIDE; |
39 virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE; | 43 virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE; |
40 virtual void OnWillRemoveWindowFromLayout(aura::Window* child) OVERRIDE; | 44 virtual void OnWillRemoveWindowFromLayout(aura::Window* child) OVERRIDE; |
41 virtual void OnChildWindowVisibilityChanged(aura::Window* child, | 45 virtual void OnChildWindowVisibilityChanged(aura::Window* child, |
42 bool visible) OVERRIDE; | 46 bool visible) OVERRIDE; |
43 virtual void SetChildBounds(aura::Window* child, | 47 virtual void SetChildBounds(aura::Window* child, |
44 const gfx::Rect& requested_bounds) OVERRIDE; | 48 const gfx::Rect& requested_bounds) OVERRIDE; |
45 | 49 |
46 private: | 50 private: |
47 aura::Window* owner_; | 51 aura::Window* owner_; |
48 | 52 |
49 views::Widget* background_widget_; | 53 views::Widget* background_widget_; |
50 | 54 |
| 55 ShelfLayoutController* shelf_; |
| 56 |
51 DISALLOW_COPY_AND_ASSIGN(DesktopLayoutManager); | 57 DISALLOW_COPY_AND_ASSIGN(DesktopLayoutManager); |
52 }; | 58 }; |
53 | 59 |
54 } // namespace internal | 60 } // namespace internal |
55 } // namespace aura_shell | 61 } // namespace aura_shell |
56 | 62 |
57 #endif // UI_AURA_SHELL_DESKTOP_LAYOUT_MANAGER_H_ | 63 #endif // UI_AURA_SHELL_DESKTOP_LAYOUT_MANAGER_H_ |
OLD | NEW |