1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file.
4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#ifndef UI_OZONE_PLATFORM_TEST_TEST_WINDOW_H_
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#define UI_OZONE_PLATFORM_TEST_TEST_WINDOW_H_
7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/files/file_path.h"
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "ui/gfx/geometry/rect.h"
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "ui/gfx/native_widget_types.h"
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "ui/platform_window/platform_window.h"
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace ui {
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PlatformWindowDelegate;
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass TestWindowManager;
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
186e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)class TestWindow : public PlatformWindow {
19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch public:
20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  TestWindow(PlatformWindowDelegate* delegate,
21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch             TestWindowManager* manager,
22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch             const gfx::Rect& bounds);
23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual ~TestWindow();
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  // Path for image file for this window.
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  base::FilePath path();
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  // PlatformWindow:
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual gfx::Rect GetBounds() OVERRIDE;
30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void SetBounds(const gfx::Rect& bounds) OVERRIDE;
31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void Show() OVERRIDE;
32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void Hide() OVERRIDE;
33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void Close() OVERRIDE;
34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void SetCapture() OVERRIDE;
35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void ReleaseCapture() OVERRIDE;
36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void ToggleFullscreen() OVERRIDE;
37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void Maximize() OVERRIDE;
38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void Minimize() OVERRIDE;
39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void Restore() OVERRIDE;
405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  virtual void SetCursor(PlatformCursor cursor) OVERRIDE;
415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  virtual void MoveCursorTo(const gfx::Point& location) OVERRIDE;
42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
43116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private:
44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  PlatformWindowDelegate* delegate_;
45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  TestWindowManager* manager_;
46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  gfx::Rect bounds_;
47116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  gfx::AcceleratedWidget widget_;
48116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
49116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  DISALLOW_COPY_AND_ASSIGN(TestWindow);
50116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch};
51116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
52116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace ui
53116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
54116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif  // UI_OZONE_PLATFORM_TEST_TEST_WINDOW_H_
55