1// Copyright (c) 2012 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.
4
5#ifndef UI_AURA_TEST_TEST_WINDOWS_H_
6#define UI_AURA_TEST_TEST_WINDOWS_H_
7
8#include <string>
9
10#include "base/compiler_specific.h"
11#include "third_party/skia/include/core/SkColor.h"
12#include "ui/aura/test/aura_test_base.h"
13#include "ui/aura/test/test_window_delegate.h"
14#include "ui/wm/public/window_types.h"
15
16namespace aura {
17namespace test {
18
19Window* CreateTestWindowWithId(int id, Window* parent);
20Window* CreateTestWindowWithBounds(const gfx::Rect& bounds, Window* parent);
21Window* CreateTestWindow(SkColor color,
22                         int id,
23                         const gfx::Rect& bounds,
24                         Window* parent);
25Window* CreateTestWindowWithDelegate(WindowDelegate* delegate,
26                                     int id,
27                                     const gfx::Rect& bounds,
28                                     Window* parent);
29Window* CreateTestWindowWithDelegateAndType(WindowDelegate* delegate,
30                                            ui::wm::WindowType type,
31                                            int id,
32                                            const gfx::Rect& bounds,
33                                            Window* parent);
34
35// Returns true if |upper| is above |lower| in the window stacking order.
36bool WindowIsAbove(Window* upper, Window* lower);
37
38// Returns true if |upper|'s layer is above |lower|'s layer in the layer
39// stacking order.
40bool LayerIsAbove(Window* upper, Window* lower);
41
42// Returns a string containing the id of each of the child windows (bottommost
43// first) of |parent|. The format of the string is "id1 id2 id...".
44std::string ChildWindowIDsAsString(aura::Window* parent);
45
46}  // namespace test
47}  // namespace aura
48
49#endif  // UI_AURA_TEST_TEST_WINDOWS_H_
50