namespace ui {
+class DriWindowDelegate;
+class DriWindowDelegateManager;
+
class GbmSurfaceFactory : public DriSurfaceFactory {
public:
GbmSurfaceFactory(bool allow_surfaceless);
void InitializeGpu(DriWrapper* dri,
gbm_device* device,
- ScreenManager* screen_manager);
+ ScreenManager* screen_manager,
+ DriWindowDelegateManager* window_manager);
// DriSurfaceFactory:
virtual intptr_t GetNativeDisplay() OVERRIDE;
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,
virtual bool CanShowPrimaryPlaneAsOverlay() OVERRIDE;
private:
+ DriWindowDelegate* GetOrCreateWindowDelegate(gfx::AcceleratedWidget widget);
+
gbm_device* device_; // Not owned.
bool allow_surfaceless_;