Chromium Code Reviews| Index: ui/ozone/window/ozone_window.h |
| diff --git a/ui/ozone/window/ozone_window.h b/ui/ozone/window/ozone_window.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..24ea18b57be529d64d5cb773c0a84df08b29e934 |
| --- /dev/null |
| +++ b/ui/ozone/window/ozone_window.h |
| @@ -0,0 +1,60 @@ |
| +// 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 UI_OZONE_WINDOW_OZONE_WINDOW_H_ |
| +#define UI_OZONE_WINDOW_OZONE_WINDOW_H_ |
| + |
| +#include "ui/base/cursor/cursor.h" |
| +#include "ui/gfx/geometry/rect.h" |
| +#include "ui/gfx/native_widget_types.h" |
| +#include "ui/ozone/ozone_export.h" |
| + |
| +namespace gfx { |
| +class PointF; |
| +class Rect; |
| +} |
| + |
| +namespace ui { |
| + |
| +// The ozone representation of a platform window. |
| +// |
| +// A window has a surface for painting on, a cursor, and receives events |
| +// from the windowing system. You can paint on a window using either |
| +// software compositing or GLES. |
| +// |
| +// The surface part is somewhat decoupled using an opaque handle |
| +// represented by the type gfx::AcceleratedWidget. Once the window is |
| +// created, you can call GetAcceleratedWidget() to get the handle. The same |
| +// handle will get passed to SurfaceFactoryOzone::CreateSurfaceForWidget, |
| +// which can be used to initialize the graphical output. |
| +// |
| +// This object is created & owned on the UI thread. The surface might be |
| +// created in another thread, or even another process such as the GPU |
| +// process. The implementation must be prepared to handle this. |
| +class OZONE_EXPORT OzoneWindow { |
|
rjkroege
2014/03/24 16:11:51
this needs to be coupled to the backing Display in
spang
2014/03/24 18:15:29
Yes. I think this must happen behind the scenes in
dnicoara
2014/03/24 21:04:26
Having the coupling behind the scenes should be fi
|
| + public: |
| + OzoneWindow(); |
| + virtual ~OzoneWindow(); |
| + |
| + // Return a gfx::AcceleratedWidget that can be used to paint on the window. |
| + virtual gfx::AcceleratedWidget GetAcceleratedWidget(); |
| + |
| + // Warp the cursor to a location within this window. If the cursor actually |
| + // moves, the implementation must dispatch a mouse move event with the new |
| + // location. |
| + virtual void WarpCursorTo(const gfx::PointF& location); |
| + |
| + // Get the bounds of the window. |
| + virtual gfx::Rect GetBounds(); |
| + |
| + // Resize the window. Returns whether the resize was successful. |
| + virtual bool Resize(const gfx::Rect& bounds); |
| + |
| + // Change the active cursor for this window. |
| + virtual void SetCursor(PlatformCursor cursor); |
| +}; |
| + |
| +} // namespace ui |
| + |
| +#endif // UI_OZONE_WINDOW_OZONE_WINDOW_H_ |