Updating XTBs based on .GRDs from branch master
[chromium-blink-merge.git] / ash / wm / workspace / workspace_layout_manager_delegate.h
blobcdc76c21eca8d3c7960a7ba7f7b5936dc4b6840b
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef ASH_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_DELEGATE_H_
6 #define ASH_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_DELEGATE_H_
8 #include "ash/wm/wm_types.h"
10 namespace aura {
11 class Window;
14 namespace ash {
15 namespace wm {
16 class WindowState;
19 // A delegate which can be set to create and control a backdrop which gets
20 // placed below the top level window.
21 class WorkspaceLayoutManagerDelegate {
22 public:
23 WorkspaceLayoutManagerDelegate() {}
24 virtual ~WorkspaceLayoutManagerDelegate() {}
26 // A window got added to the layout.
27 virtual void OnWindowAddedToLayout(aura::Window* child) = 0;
29 // A window got removed from the layout.
30 virtual void OnWindowRemovedFromLayout(aura::Window* child) = 0;
32 // The visibility of a window has changed.
33 virtual void OnChildWindowVisibilityChanged(aura::Window* child,
34 bool visible) = 0;
36 // The stacking order of a window has changed.
37 virtual void OnWindowStackingChanged(aura::Window* window) = 0;
39 // A window state type has changed.
40 virtual void OnPostWindowStateTypeChange(wm::WindowState* window_state,
41 wm::WindowStateType old_type) = 0;
43 // The work area insets have changed, altering the total available space.
44 virtual void OnDisplayWorkAreaInsetsChanged() = 0;
47 } // namespace ash
49 #endif // ASH_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_DELEGATE_H_