root/ash/wm/workspace/workspace_layout_manager_delegate.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


// 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 ASH_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_DELEGATE_H_
#define ASH_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_DELEGATE_H_

#include "ash/wm/wm_types.h"

namespace aura {
class Window;
}

namespace ash {
namespace wm {
class WindowState;
}

// A delegate which can be set to create and control a backdrop which gets
// placed below the top level window.
class WorkspaceLayoutManagerDelegate {
 public:
  WorkspaceLayoutManagerDelegate() {}
  virtual ~WorkspaceLayoutManagerDelegate() {}

  // A window got added to the layout.
  virtual void OnWindowAddedToLayout(aura::Window* child) = 0;

  // A window got removed from the layout.
  virtual void OnWindowRemovedFromLayout(aura::Window* child) = 0;

  // The visibility of a window has changed.
  virtual void OnChildWindowVisibilityChanged(aura::Window* child,
                                              bool visible) = 0;

  // The stacking order of a window has changed.
  virtual void OnWindowStackingChanged(aura::Window* window) = 0;

  // A window state type has changed.
  virtual void OnPostWindowStateTypeChange(wm::WindowState* window_state,
                                           wm::WindowStateType old_type) = 0;
};

}  // namespace ash

#endif  // ASH_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_DELEGATE_H_

/* [<][>][^][v][top][bottom][index][help] */