| Index: ash/wm/workspace/workspace_layout_manager2.h
|
| ===================================================================
|
| --- ash/wm/workspace/workspace_layout_manager2.h (revision 165163)
|
| +++ ash/wm/workspace/workspace_layout_manager2.h (working copy)
|
| @@ -1,131 +0,0 @@
|
| -// Copyright (c) 2012 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_WORKSPACE_WORKSPACE_LAYOUT_MANAGER2_H_
|
| -#define ASH_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER2_H_
|
| -
|
| -#include <set>
|
| -
|
| -#include "ash/shell_observer.h"
|
| -#include "ash/wm/base_layout_manager.h"
|
| -#include "base/basictypes.h"
|
| -#include "base/compiler_specific.h"
|
| -#include "ui/aura/layout_manager.h"
|
| -#include "ui/aura/root_window_observer.h"
|
| -#include "ui/base/ui_base_types.h"
|
| -#include "ui/aura/window_observer.h"
|
| -#include "ui/gfx/rect.h"
|
| -
|
| -namespace aura {
|
| -class RootWindow;
|
| -class Window;
|
| -}
|
| -
|
| -namespace ui {
|
| -class Layer;
|
| -}
|
| -
|
| -namespace ash {
|
| -
|
| -// We force at least this many DIPs for any window on the screen.
|
| -const int kMinimumOnScreenArea = 10;
|
| -
|
| -namespace internal {
|
| -
|
| -class Workspace2;
|
| -class WorkspaceManager2;
|
| -
|
| -// LayoutManager used on the window created for a Workspace.
|
| -// TODO(sky): this code shares a fair amount of similarities with
|
| -// BaseLayoutManager, yet its different enough that subclassing is painful.
|
| -// See if I can refactor the code to make it easier to share common bits.
|
| -class ASH_EXPORT WorkspaceLayoutManager2
|
| - : public aura::LayoutManager,
|
| - public aura::RootWindowObserver,
|
| - public ash::ShellObserver,
|
| - public aura::WindowObserver {
|
| - public:
|
| - public:
|
| - explicit WorkspaceLayoutManager2(Workspace2* workspace);
|
| - virtual ~WorkspaceLayoutManager2();
|
| -
|
| - // Overridden from BaseWorkspaceLayoutManager:
|
| - virtual void OnWindowResized() OVERRIDE {}
|
| - virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE;
|
| - virtual void OnWillRemoveWindowFromLayout(aura::Window* child) OVERRIDE;
|
| - virtual void OnWindowRemovedFromLayout(aura::Window* child) OVERRIDE;
|
| - virtual void OnChildWindowVisibilityChanged(aura::Window* child,
|
| - bool visibile) OVERRIDE;
|
| - virtual void SetChildBounds(aura::Window* child,
|
| - const gfx::Rect& requested_bounds) OVERRIDE;
|
| -
|
| - // RootWindowObserver overrides:
|
| - virtual void OnRootWindowResized(const aura::RootWindow* root,
|
| - const gfx::Size& old_size) OVERRIDE;
|
| -
|
| - // ash::ShellObserver overrides:
|
| - virtual void OnDisplayWorkAreaInsetsChanged() OVERRIDE;
|
| -
|
| - // Overriden from WindowObserver:
|
| - virtual void OnWindowPropertyChanged(aura::Window* window,
|
| - const void* key,
|
| - intptr_t old) OVERRIDE;
|
| - virtual void OnWindowDestroying(aura::Window* window) OVERRIDE;
|
| -
|
| - private:
|
| - typedef std::set<aura::Window*> WindowSet;
|
| -
|
| - // Invoked when the show state of a window changes. |cloned_layer| is a clone
|
| - // of the windows layer tree. |cloned_layer| is only non-NULL if a cross fade
|
| - // should happen between the states. This method takes ownership of
|
| - // |cloned_layer|.
|
| - void ShowStateChanged(aura::Window* window,
|
| - ui::WindowShowState last_show_state,
|
| - ui::Layer* cloned_layer);
|
| -
|
| - enum AdjustWindowReason {
|
| - ADJUST_WINDOW_SCREEN_SIZE_CHANGED,
|
| - ADJUST_WINDOW_DISPLAY_INSETS_CHANGED
|
| - };
|
| -
|
| - // Adjusts the sizes of the windows during a screen change. If this is called
|
| - // for a screen size change (i.e. |reason| is
|
| - // ADJUST_WINDOW_SCREEN_SIZE_CHANGED), the non-maximized/non-fullscreen
|
| - // windows are readjusted to make sure the window is completely within the
|
| - // display region. Otherwise, it makes sure at least some parts of the window
|
| - // is on display.
|
| - void AdjustWindowSizesForScreenChange(AdjustWindowReason reason);
|
| -
|
| - // Adjusts the sizes of the specific window in respond to a screen change or
|
| - // display-area size change.
|
| - void AdjustWindowSizeForScreenChange(aura::Window* window,
|
| - AdjustWindowReason reason);
|
| -
|
| - // Updates the bounds of the window from a show state change.
|
| - void UpdateBoundsFromShowState(aura::Window* window);
|
| -
|
| - // If |window| is maximized or fullscreen the bounds of the window are set and
|
| - // true is returned. Does nothing otherwise.
|
| - bool SetMaximizedOrFullscreenBounds(aura::Window* window);
|
| -
|
| - WorkspaceManager2* workspace_manager();
|
| -
|
| - aura::RootWindow* root_window_;
|
| -
|
| - Workspace2* workspace_;
|
| -
|
| - // Set of windows we're listening to.
|
| - WindowSet windows_;
|
| -
|
| - // The work area. Cached to avoid unnecessarily moving windows during a
|
| - // workspace switch.
|
| - gfx::Rect work_area_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(WorkspaceLayoutManager2);
|
| -};
|
| -
|
| -} // namespace internal
|
| -} // namespace ash
|
| -
|
| -#endif // ASH_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER2_H_
|
|
|