Index: ash/wm/overview/window_selector_panels.h |
diff --git a/ash/wm/overview/window_selector_panels.h b/ash/wm/overview/window_selector_panels.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..841a807efc92be5d2b2ef778d29e2439cb3b234a |
--- /dev/null |
+++ b/ash/wm/overview/window_selector_panels.h |
@@ -0,0 +1,54 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef ASH_WM_OVERVIEW_WINDOW_SELECTOR_PANELS_H_ |
+#define ASH_WM_OVERVIEW_WINDOW_SELECTOR_PANELS_H_ |
+ |
+#include "ash/wm/overview/window_selector_item.h" |
+#include "base/compiler_specific.h" |
+#include "base/memory/scoped_vector.h" |
+#include "ui/gfx/rect.h" |
+ |
+namespace aura { |
+class RootWindow; |
+class Window; |
+} |
+ |
+namespace ash { |
+ |
+class ScopedTransformOverviewWindow; |
+ |
+// This class implements a window selector item containing one or more attached |
+// panel windows. These panels are grouped into a single overview item in |
+// overview mode and the callout arrows are hidden at this point. |
+class WindowSelectorPanels : public WindowSelectorItem { |
+ public: |
+ WindowSelectorPanels(); |
+ virtual ~WindowSelectorPanels(); |
+ |
+ // Adds |window| to the selector item. This window should be an attached |
+ // panel window. |
+ void AddWindow(aura::Window* window); |
+ |
+ // WindowSelectorItem: |
+ virtual const aura::RootWindow* GetRootWindow() const OVERRIDE; |
+ virtual aura::Window* TargetedWindow( |
+ const aura::Window* target) const OVERRIDE; |
+ virtual void RestoreWindowOnExit(aura::Window* window) OVERRIDE; |
+ virtual aura::Window* SelectionWindow() const OVERRIDE; |
+ virtual void RemoveWindow(const aura::Window* window) OVERRIDE; |
+ virtual bool empty() const OVERRIDE; |
+ virtual void SetBounds(aura::RootWindow* root_window, |
+ const gfx::Rect& target_bounds) OVERRIDE; |
+ |
+ private: |
+ typedef ScopedVector<ScopedTransformOverviewWindow> WindowList; |
+ WindowList transform_windows_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(WindowSelectorPanels); |
+}; |
+ |
+} // namespace ash |
+ |
+#endif // ASH_WM_OVERVIEW_WINDOW_SELECTOR_PANELS_H_ |