1 // Copyright 2014 Intel Corporation. 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.
5 #ifndef OZONE_PLATFORM_OZONE_WAYLAND_WINDOW_H_
6 #define OZONE_PLATFORM_OZONE_WAYLAND_WINDOW_H_
8 #include "ui/gfx/geometry/rect.h"
9 #include "ui/gfx/native_widget_types.h"
10 #include "ui/platform_window/platform_window.h"
13 class WindowTreeHostDelegateWayland;
18 class PlatformWindowDelegate;
20 class OzoneWaylandWindow : public PlatformWindow {
22 OzoneWaylandWindow(PlatformWindowDelegate* delegate,
23 const gfx::Rect& bounds);
24 virtual ~OzoneWaylandWindow();
26 unsigned GetHandle() const { return handle_; }
27 PlatformWindowDelegate* GetDelegate() const { return delegate_; }
30 void InitPlatformWindow(PlatformWindowType type,
31 gfx::AcceleratedWidget parent_window) override;
32 gfx::Rect GetBounds() override;
33 void SetBounds(const gfx::Rect& bounds) override;
36 void Close() override;
37 void SetCapture() override;
38 void ReleaseCapture() override;
39 void ToggleFullscreen() override;
40 void Maximize() override;
41 void Minimize() override;
42 void Restore() override;
43 void SetCursor(PlatformCursor cursor) override;
44 void MoveCursorTo(const gfx::Point& location) override;
47 PlatformWindowDelegate* delegate_;
51 static views::WindowTreeHostDelegateWayland* g_delegate_ozone_wayland_;
52 DISALLOW_COPY_AND_ASSIGN(OzoneWaylandWindow);
57 #endif // OZONE_PLATFORM_OZONE_WAYLAND_WINDOW_H_