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"
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
{
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
,
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;
49 #endif // ASH_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_DELEGATE_H_