Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / ui / ozone / platform / dri / gbm_surface_factory.h
index b1ed46e..2118db2 100644 (file)
@@ -11,6 +11,9 @@ struct gbm_device;
 
 namespace ui {
 
+class DriWindowDelegate;
+class DriWindowDelegateManager;
+
 class GbmSurfaceFactory : public DriSurfaceFactory {
  public:
   GbmSurfaceFactory(bool allow_surfaceless);
@@ -18,7 +21,8 @@ class GbmSurfaceFactory : public DriSurfaceFactory {
 
   void InitializeGpu(DriWrapper* dri,
                      gbm_device* device,
-                     ScreenManager* screen_manager);
+                     ScreenManager* screen_manager,
+                     DriWindowDelegateManager* window_manager);
 
   // DriSurfaceFactory:
   virtual intptr_t GetNativeDisplay() OVERRIDE;
@@ -29,9 +33,13 @@ class GbmSurfaceFactory : public DriSurfaceFactory {
       SetGLGetProcAddressProcCallback set_gl_get_proc_address) OVERRIDE;
   virtual scoped_ptr<ui::SurfaceOzoneEGL> CreateEGLSurfaceForWidget(
       gfx::AcceleratedWidget w) OVERRIDE;
+  virtual scoped_ptr<SurfaceOzoneEGL> CreateSurfacelessEGLSurfaceForWidget(
+      gfx::AcceleratedWidget widget) OVERRIDE;
   virtual scoped_refptr<ui::NativePixmap> CreateNativePixmap(
       gfx::Size size,
       BufferFormat format) OVERRIDE;
+  virtual OverlayCandidatesOzone* GetOverlayCandidates(
+      gfx::AcceleratedWidget w) OVERRIDE;
   virtual bool ScheduleOverlayPlane(gfx::AcceleratedWidget widget,
                                     int plane_z_order,
                                     gfx::OverlayTransform plane_transform,
@@ -41,6 +49,8 @@ class GbmSurfaceFactory : public DriSurfaceFactory {
   virtual bool CanShowPrimaryPlaneAsOverlay() OVERRIDE;
 
  private:
+  DriWindowDelegate* GetOrCreateWindowDelegate(gfx::AcceleratedWidget widget);
+
   gbm_device* device_;  // Not owned.
   bool allow_surfaceless_;