Chromium Code Reviews| Index: athena/wm/window_manager_impl.h |
| diff --git a/athena/wm/window_manager_impl.h b/athena/wm/window_manager_impl.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..adbc1878203875af555f183842c5c353bc800b40 |
| --- /dev/null |
| +++ b/athena/wm/window_manager_impl.h |
| @@ -0,0 +1,95 @@ |
| +// Copyright 2014 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 ATHENA_WM_WINDOW_MANAGER_IMPL_H_ |
| +#define ATHENA_WM_WINDOW_MANAGER_IMPL_H_ |
| + |
| +#include "athena/input/public/accelerator_manager.h" |
| +#include "athena/wm/public/window_manager.h" |
| +#include "athena/wm/title_drag_controller.h" |
| +#include "athena/wm/window_overview_mode.h" |
| +#include "base/memory/scoped_ptr.h" |
| +#include "base/observer_list.h" |
| +#include "ui/aura/window_observer.h" |
| + |
| +namespace wm { |
| +class ShadowController; |
| +class WMState; |
| +} |
| + |
| +namespace athena { |
| + |
| +class BezelController; |
| +class SplitViewController; |
| +class WindowListProvider; |
| +class WindowManagerObserver; |
| + |
| +class WindowManagerImpl : public WindowManager, |
| + public WindowOverviewModeDelegate, |
| + public aura::WindowObserver, |
| + public AcceleratorHandler, |
| + public TitleDragControllerDelegate { |
| + public: |
| + WindowManagerImpl(); |
| + virtual ~WindowManagerImpl(); |
| + |
| + void Layout(); |
| + |
| + // WindowManager: |
| + virtual void ToggleOverview() OVERRIDE; |
| + |
|
oshima
2014/08/18 14:48:43
remove new line
sadrul
2014/08/18 15:46:45
Done.
|
| + virtual bool IsOverviewModeActive() OVERRIDE; |
| + |
| + private: |
| + friend class WindowManagerImplTestApi; |
| + |
| + enum Command { |
| + CMD_TOGGLE_OVERVIEW, |
| + }; |
| + |
| + // Sets whether overview mode is active. |
| + void SetInOverview(bool active); |
| + |
| + void InstallAccelerators(); |
| + |
| + // WindowManager: |
| + virtual void AddObserver(WindowManagerObserver* observer) OVERRIDE; |
| + virtual void RemoveObserver(WindowManagerObserver* observer) OVERRIDE; |
| + |
| + // WindowOverviewModeDelegate: |
| + virtual void OnSelectWindow(aura::Window* window) OVERRIDE; |
| + virtual void OnSplitViewMode(aura::Window* left, |
| + aura::Window* right) OVERRIDE; |
| + |
| + // aura::WindowObserver: |
| + virtual void OnWindowAdded(aura::Window* new_window) OVERRIDE; |
| + virtual void OnWindowDestroying(aura::Window* window) OVERRIDE; |
| + |
| + // AcceleratorHandler: |
| + virtual bool IsCommandEnabled(int command_id) const OVERRIDE; |
| + virtual bool OnAcceleratorFired(int command_id, |
| + const ui::Accelerator& accelerator) OVERRIDE; |
| + |
| + // TitleDragControllerDelegate: |
| + virtual aura::Window* GetWindowBehind(aura::Window* window) OVERRIDE; |
| + virtual void OnTitleDragStarted(aura::Window* window) OVERRIDE; |
| + virtual void OnTitleDragCompleted(aura::Window* window) OVERRIDE; |
| + virtual void OnTitleDragCanceled(aura::Window* window) OVERRIDE; |
| + |
| + scoped_ptr<aura::Window> container_; |
| + scoped_ptr<WindowListProvider> window_list_provider_; |
| + scoped_ptr<WindowOverviewMode> overview_; |
| + scoped_ptr<BezelController> bezel_controller_; |
| + scoped_ptr<SplitViewController> split_view_controller_; |
| + scoped_ptr<wm::WMState> wm_state_; |
| + scoped_ptr<TitleDragController> title_drag_controller_; |
| + scoped_ptr<wm::ShadowController> shadow_controller_; |
| + ObserverList<WindowManagerObserver> observers_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(WindowManagerImpl); |
| +}; |
| + |
| +} // namespace athena |
| + |
| +#endif // ATHENA_WM_WINDOW_MANAGER_IMPL_H_ |