OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 ASH_WM_OVERVIEW_WINDOW_SELECTOR_PANELS_H_ | 5 #ifndef ASH_WM_OVERVIEW_WINDOW_SELECTOR_PANELS_H_ |
6 #define ASH_WM_OVERVIEW_WINDOW_SELECTOR_PANELS_H_ | 6 #define ASH_WM_OVERVIEW_WINDOW_SELECTOR_PANELS_H_ |
7 | 7 |
8 #include "ash/wm/overview/window_selector_item.h" | 8 #include "ash/wm/overview/window_selector_item.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/memory/scoped_vector.h" | 10 #include "base/memory/scoped_vector.h" |
11 #include "ui/gfx/rect.h" | 11 #include "ui/gfx/rect.h" |
12 | 12 |
13 namespace aura { | |
14 class RootWindow; | |
15 class Window; | |
16 } | |
17 | |
18 namespace ash { | 13 namespace ash { |
19 | 14 |
20 class ScopedTransformOverviewWindow; | 15 class ScopedTransformOverviewWindow; |
21 | 16 |
22 // This class implements a window selector item containing one or more attached | 17 // This class implements a window selector item containing one or more attached |
23 // panel windows. These panels are grouped into a single overview item in | 18 // panel windows. These panels are grouped into a single overview item in |
24 // overview mode and the callout arrows are hidden at this point. | 19 // overview mode and the callout arrows are hidden at this point. |
25 class WindowSelectorPanels : public WindowSelectorItem { | 20 class WindowSelectorPanels : public WindowSelectorItem { |
26 public: | 21 public: |
27 WindowSelectorPanels(); | 22 WindowSelectorPanels(); |
28 virtual ~WindowSelectorPanels(); | 23 virtual ~WindowSelectorPanels(); |
29 | 24 |
30 // Adds |window| to the selector item. This window should be an attached | 25 // Adds |window| to the selector item. This window should be an attached |
31 // panel window. | 26 // panel window. |
32 void AddWindow(aura::Window* window); | 27 void AddWindow(aura::Window* window); |
33 | 28 |
34 // WindowSelectorItem: | 29 // WindowSelectorItem: |
35 virtual aura::RootWindow* GetRootWindow() OVERRIDE; | 30 virtual aura::Window* GetRootWindow() OVERRIDE; |
36 virtual aura::Window* TargetedWindow(const aura::Window* target) OVERRIDE; | 31 virtual aura::Window* TargetedWindow(const aura::Window* target) OVERRIDE; |
37 virtual void RestoreWindowOnExit(aura::Window* window) OVERRIDE; | 32 virtual void RestoreWindowOnExit(aura::Window* window) OVERRIDE; |
38 virtual aura::Window* SelectionWindow() OVERRIDE; | 33 virtual aura::Window* SelectionWindow() OVERRIDE; |
39 virtual void RemoveWindow(const aura::Window* window) OVERRIDE; | 34 virtual void RemoveWindow(const aura::Window* window) OVERRIDE; |
40 virtual bool empty() const OVERRIDE; | 35 virtual bool empty() const OVERRIDE; |
41 virtual void PrepareForOverview() OVERRIDE; | 36 virtual void PrepareForOverview() OVERRIDE; |
42 virtual void SetItemBounds(aura::RootWindow* root_window, | 37 virtual void SetItemBounds(aura::Window* root_window, |
43 const gfx::Rect& target_bounds, | 38 const gfx::Rect& target_bounds, |
44 bool animate) OVERRIDE; | 39 bool animate) OVERRIDE; |
45 | 40 |
46 private: | 41 private: |
47 typedef ScopedVector<ScopedTransformOverviewWindow> WindowList; | 42 typedef ScopedVector<ScopedTransformOverviewWindow> WindowList; |
48 WindowList transform_windows_; | 43 WindowList transform_windows_; |
49 | 44 |
50 DISALLOW_COPY_AND_ASSIGN(WindowSelectorPanels); | 45 DISALLOW_COPY_AND_ASSIGN(WindowSelectorPanels); |
51 }; | 46 }; |
52 | 47 |
53 } // namespace ash | 48 } // namespace ash |
54 | 49 |
55 #endif // ASH_WM_OVERVIEW_WINDOW_SELECTOR_PANELS_H_ | 50 #endif // ASH_WM_OVERVIEW_WINDOW_SELECTOR_PANELS_H_ |
OLD | NEW |