1// Copyright 2014 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_OZONE_PLATFORM_TEST_TEST_WINDOW_H_ 6#define UI_OZONE_PLATFORM_TEST_TEST_WINDOW_H_ 7 8#include "base/files/file_path.h" 9#include "ui/gfx/geometry/rect.h" 10#include "ui/gfx/native_widget_types.h" 11#include "ui/platform_window/platform_window.h" 12 13namespace ui { 14 15class PlatformWindowDelegate; 16class TestWindowManager; 17 18class TestWindow : public PlatformWindow { 19 public: 20 TestWindow(PlatformWindowDelegate* delegate, 21 TestWindowManager* manager, 22 const gfx::Rect& bounds); 23 virtual ~TestWindow(); 24 25 // Path for image file for this window. 26 base::FilePath path(); 27 28 // PlatformWindow: 29 virtual gfx::Rect GetBounds() OVERRIDE; 30 virtual void SetBounds(const gfx::Rect& bounds) OVERRIDE; 31 virtual void Show() OVERRIDE; 32 virtual void Hide() OVERRIDE; 33 virtual void Close() OVERRIDE; 34 virtual void SetCapture() OVERRIDE; 35 virtual void ReleaseCapture() OVERRIDE; 36 virtual void ToggleFullscreen() OVERRIDE; 37 virtual void Maximize() OVERRIDE; 38 virtual void Minimize() OVERRIDE; 39 virtual void Restore() OVERRIDE; 40 virtual void SetCursor(PlatformCursor cursor) OVERRIDE; 41 virtual void MoveCursorTo(const gfx::Point& location) OVERRIDE; 42 43 private: 44 PlatformWindowDelegate* delegate_; 45 TestWindowManager* manager_; 46 gfx::Rect bounds_; 47 gfx::AcceleratedWidget widget_; 48 49 DISALLOW_COPY_AND_ASSIGN(TestWindow); 50}; 51 52} // namespace ui 53 54#endif // UI_OZONE_PLATFORM_TEST_TEST_WINDOW_H_ 55