Index: ui/base/ozone/surface_factory_ozone.h |
diff --git a/ui/base/ozone/surface_factory_ozone.h b/ui/base/ozone/surface_factory_ozone.h |
index 5df6bd9547d926a9c11b0d4d356be60154fa1df1..c020ee9a9b13b311bc7f016fcb090ef31f42cf4c 100644 |
--- a/ui/base/ozone/surface_factory_ozone.h |
+++ b/ui/base/ozone/surface_factory_ozone.h |
@@ -5,10 +5,14 @@ |
#ifndef UI_BASE_OZONE_SURFACE_LNUX_FACTORY_OZONE_H_ |
#define UI_BASE_OZONE_SURFACE_LNUX_FACTORY_OZONE_H_ |
+#include <EGL/egl.h> |
rjkroege
2013/08/26 21:48:08
this is not a good idea.
|
+ |
#include "ui/base/ui_export.h" |
#include "ui/gfx/native_widget_types.h" |
#include "ui/gfx/rect.h" |
+class SkBitmap; |
rjkroege
2013/08/26 21:48:08
SKia isn't in a name space? interesting. I learn s
|
+ |
namespace gfx { |
class Screen; |
class VSyncProvider; |
@@ -35,15 +39,18 @@ class UI_EXPORT SurfaceFactoryOzone { |
// This method implements gfx::Screen, particularly useful in Desktop Aura. |
virtual gfx::Screen* CreateDesktopScreen(); |
- // TODO(rjkroege): Add a status code if necessary. |
// Configures the display hardware. Must be called from within the GPU |
// process before the sandbox has been activated. |
- virtual void InitializeHardware() = 0; |
+ virtual bool InitializeHardware() = 0; |
rjkroege
2013/08/26 21:48:08
an enum would be preferable? And what does the sta
dnicoara
2013/08/27 14:41:41
I'm not sure what the status would be. I'm seeing
|
// Cleans up display hardware state. Call this from within the GPU process. |
// This method must be safe to run inside of the sandbox. |
virtual void ShutdownHardware() = 0; |
+ // Returns the native EGL display. This is generally needed in creating |
+ // EGL windows. |
+ virtual EGLNativeDisplayType GetNativeDisplay() = 0; |
rjkroege
2013/08/26 21:48:08
return an int. Or we need to modify some of the df
dnicoara
2013/08/27 14:41:41
Wouldn't this be platform dependent? I'm not sure
|
+ |
// Obtains an AcceleratedWidget backed by a native Linux framebuffer. |
// The returned AcceleratedWidget is an opaque token that must realized |
// before it can be used to create a GL surface. |
@@ -65,6 +72,10 @@ class UI_EXPORT SurfaceFactoryOzone { |
gfx::AcceleratedWidget w, |
const gfx::Rect& bounds) = 0; |
+ // Called after the appropriate GL swap buffers command. Used if extra work |
+ // is needed to perform the actual buffer swap. |
+ virtual bool SwapBuffers() = 0; |
rjkroege
2013/08/26 21:48:08
this should take the accelerated widget as an argu
dnicoara
2013/08/27 14:41:41
Done.
|
+ |
// Returns a gfx::VsyncProvider for the provided AcceleratedWidget. Note |
// that this may be called after we have entered the sandbox so if there are |
// operations (e.g. opening a file descriptor providing vsync events) that |
@@ -72,6 +83,9 @@ class UI_EXPORT SurfaceFactoryOzone { |
// in InitializeHardware. Returns NULL on error. |
virtual gfx::VSyncProvider* GetVSyncProvider(gfx::AcceleratedWidget w) = 0; |
+ // Used to paint a bitmap directly to the surface. |
rjkroege
2013/08/26 21:48:08
You are not using this method in this CL yes? Perh
dnicoara
2013/08/27 14:41:41
Sure, I was thinking of having it in here to discu
|
+ virtual void Paint(const SkBitmap& bitmap, const gfx::Rect& rect) = 0; |
+ |
// Create a default SufaceFactoryOzone implementation useful for tests. |
static SurfaceFactoryOzone* CreateTestHelper(); |
@@ -81,5 +95,4 @@ class UI_EXPORT SurfaceFactoryOzone { |
} // namespace ui |
- |
#endif // UI_BASE_OZONE_SURFACE_LNUX_FACTORY_OZONE_H_ |