144d362409d5469aed47d19e7908d19bd194493aThomas Graf// Copyright (c) 2013 The Chromium Authors. All rights reserved.
244d362409d5469aed47d19e7908d19bd194493aThomas Graf// Use of this source code is governed by a BSD-style license that can be
344d362409d5469aed47d19e7908d19bd194493aThomas Graf// found in the LICENSE file.
444d362409d5469aed47d19e7908d19bd194493aThomas Graf
544d362409d5469aed47d19e7908d19bd194493aThomas Graf#ifndef UI_WM_CORE_TRANSIENT_WINDOW_STACKING_CLIENT_H_
644d362409d5469aed47d19e7908d19bd194493aThomas Graf#define UI_WM_CORE_TRANSIENT_WINDOW_STACKING_CLIENT_H_
744d362409d5469aed47d19e7908d19bd194493aThomas Graf
844d362409d5469aed47d19e7908d19bd194493aThomas Graf#include "ui/aura/client/window_stacking_client.h"
98808743839b0f459394ecd00cb0f7c1896c0ab7aThomas Graf#include "ui/wm/wm_export.h"
1044d362409d5469aed47d19e7908d19bd194493aThomas Graf
1144d362409d5469aed47d19e7908d19bd194493aThomas Grafnamespace wm {
128808743839b0f459394ecd00cb0f7c1896c0ab7aThomas Graf
1344d362409d5469aed47d19e7908d19bd194493aThomas Grafclass TransientWindowManager;
1444d362409d5469aed47d19e7908d19bd194493aThomas Graf
1544d362409d5469aed47d19e7908d19bd194493aThomas Grafclass WM_EXPORT TransientWindowStackingClient
1644d362409d5469aed47d19e7908d19bd194493aThomas Graf    : public aura::client::WindowStackingClient {
1744d362409d5469aed47d19e7908d19bd194493aThomas Graf public:
1844d362409d5469aed47d19e7908d19bd194493aThomas Graf  TransientWindowStackingClient();
1944d362409d5469aed47d19e7908d19bd194493aThomas Graf  virtual ~TransientWindowStackingClient();
2044d362409d5469aed47d19e7908d19bd194493aThomas Graf
2144d362409d5469aed47d19e7908d19bd194493aThomas Graf  // WindowStackingClient:
2244d362409d5469aed47d19e7908d19bd194493aThomas Graf  virtual bool AdjustStacking(aura::Window** child,
2344d362409d5469aed47d19e7908d19bd194493aThomas Graf                              aura::Window** target,
2444d362409d5469aed47d19e7908d19bd194493aThomas Graf                              aura::Window::StackDirection* direction) OVERRIDE;
2544d362409d5469aed47d19e7908d19bd194493aThomas Graf
2644d362409d5469aed47d19e7908d19bd194493aThomas Graf private:
2744d362409d5469aed47d19e7908d19bd194493aThomas Graf  // Purely for DCHECKs.
28b624b9ed936f4c23bc4f30d8dce34da49775dd15Thomas Graf  friend class TransientWindowManager;
2944d362409d5469aed47d19e7908d19bd194493aThomas Graf
3044d362409d5469aed47d19e7908d19bd194493aThomas Graf  static TransientWindowStackingClient* instance_;
3144d362409d5469aed47d19e7908d19bd194493aThomas Graf
3244d362409d5469aed47d19e7908d19bd194493aThomas Graf  DISALLOW_COPY_AND_ASSIGN(TransientWindowStackingClient);
3344d362409d5469aed47d19e7908d19bd194493aThomas Graf};
34d84430702496f617c01c5e2d27d0e82e02390bb7Thomas Graf
3544d362409d5469aed47d19e7908d19bd194493aThomas Graf}  // namespace wm
3644d362409d5469aed47d19e7908d19bd194493aThomas Graf
3744d362409d5469aed47d19e7908d19bd194493aThomas Graf#endif  // UI_WM_CORE_TRANSIENT_WINDOW_STACKING_CLIENT_H_
3844d362409d5469aed47d19e7908d19bd194493aThomas Graf