blob: 87f5709599fae62a88eb416c5261b4d48883c010 [file] [log] [blame] [edit]
// 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 SERVICES_WINDOW_MANAGER_WINDOW_MANAGER_TEST_UTIL_H_
#define SERVICES_WINDOW_MANAGER_WINDOW_MANAGER_TEST_UTIL_H_
#include <set>
#include "mojo/services/view_manager/public/cpp/lib/view_private.h"
#include "mojo/services/view_manager/public/cpp/view.h"
#include "services/window_manager/view_target.h"
namespace gfx {
class Rect;
}
namespace window_manager {
// A wrapper around View so we can instantiate these directly without a
// ViewManager.
class TestView : public mojo::View {
public:
TestView(int id, const gfx::Rect& rect);
TestView(int id, const gfx::Rect& rect, mojo::View* parent);
~TestView();
// Builds a child view as a pointer. The caller is responsible for making
// sure that the root of any tree allocated this way is Destroy()ed.
static TestView* Build(int id, const gfx::Rect& rect);
static TestView* Build(int id, const gfx::Rect& rect, View* parent);
ViewTarget* target() { return target_; }
private:
ViewTarget* target_;
DISALLOW_COPY_AND_ASSIGN(TestView);
};
} // namespace window_manager
#endif // SERVICES_WINDOW_MANAGER_WINDOW_MANAGER_TEST_UTIL_H_