summaryrefslogtreecommitdiffstats
path: root/ui/aura/client/stacking_client.h
blob: b1b13797bdae9a3d15885509e5bbc0e756a0021c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// 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 UI_AURA_CLIENT_STACKING_CLIENT_H_
#define UI_AURA_CLIENT_STACKING_CLIENT_H_
#pragma once

#include "ui/aura/aura_export.h"

namespace aura {
class Window;
namespace client {

// An interface implemented by an object that stacks windows.
class AURA_EXPORT StackingClient {
 public:
  virtual ~StackingClient() {}

  // Called by the Window when its parent is set to NULL, returns the window
  // that |window| should be added to instead.
  virtual Window* GetDefaultParent(Window* window) = 0;
};

AURA_EXPORT void SetStackingClient(StackingClient* stacking_client);
AURA_EXPORT StackingClient* GetStackingClient();

}  // namespace client
}  // namespace aura

#endif  // UI_AURA_CLIENT_STACKING_CLIENT_H_