15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef UI_AURA_TEST_TEST_WINDOWS_H_
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define UI_AURA_TEST_TEST_WINDOWS_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string>
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/compiler_specific.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "third_party/skia/include/core/SkColor.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/aura/test/aura_test_base.h"
135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ui/aura/test/test_window_delegate.h"
145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ui/wm/public/window_types.h"
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace aura {
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace test {
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Window* CreateTestWindowWithId(int id, Window* parent);
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Window* CreateTestWindowWithBounds(const gfx::Rect& bounds, Window* parent);
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Window* CreateTestWindow(SkColor color,
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                         int id,
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                         const gfx::Rect& bounds,
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                         Window* parent);
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Window* CreateTestWindowWithDelegate(WindowDelegate* delegate,
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                     int id,
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                     const gfx::Rect& bounds,
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                     Window* parent);
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Window* CreateTestWindowWithDelegateAndType(WindowDelegate* delegate,
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                                            ui::wm::WindowType type,
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                            int id,
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                            const gfx::Rect& bounds,
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                            Window* parent);
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Returns true if |upper| is above |lower| in the window stacking order.
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WindowIsAbove(Window* upper, Window* lower);
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Returns true if |upper|'s layer is above |lower|'s layer in the layer
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// stacking order.
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool LayerIsAbove(Window* upper, Window* lower);
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Returns a string containing the id of each of the child windows (bottommost
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// first) of |parent|. The format of the string is "id1 id2 id...".
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string ChildWindowIDsAsString(aura::Window* parent);
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace test
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace aura
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // UI_AURA_TEST_TEST_WINDOWS_H_
50