| Index: ui/ozone/platform/dri/hardware_display_controller.h
|
| diff --git a/ui/ozone/platform/dri/hardware_display_controller.h b/ui/ozone/platform/dri/hardware_display_controller.h
|
| index 472dbd6696de6f7c6303a704780e0e6c89c0c3ab..8d4d26bce1097ad376bfb43a3e62e99319974e9f 100644
|
| --- a/ui/ozone/platform/dri/hardware_display_controller.h
|
| +++ b/ui/ozone/platform/dri/hardware_display_controller.h
|
| @@ -21,8 +21,30 @@ class Point;
|
|
|
| namespace ui {
|
|
|
| +class NativePixmap;
|
| class ScanoutSurface;
|
|
|
| +struct OzoneOverlayPlane {
|
| + OzoneOverlayPlane(ScanoutSurface* scanout,
|
| + int z_order,
|
| + gfx::OverlayTransform plane_transform,
|
| + const gfx::Rect& display_bounds,
|
| + const gfx::RectF& crop_rect)
|
| + : scanout(scanout),
|
| + z_order(z_order),
|
| + plane_transform(plane_transform),
|
| + display_bounds(display_bounds),
|
| + crop_rect(crop_rect),
|
| + overlay_plane(0) {}
|
| +
|
| + ScanoutSurface* scanout;
|
| + int z_order;
|
| + gfx::OverlayTransform plane_transform;
|
| + gfx::Rect display_bounds;
|
| + gfx::RectF crop_rect;
|
| + int overlay_plane;
|
| +};
|
| +
|
| // The HDCOz will handle modesettings and scannout operations for hardware
|
| // devices.
|
| //
|
| @@ -114,7 +136,8 @@ class HardwareDisplayController
|
| // called again before the page flip occurrs.
|
| //
|
| // Returns true if the page flip was successfully registered, false otherwise.
|
| - bool SchedulePageFlip();
|
| + bool SchedulePageFlip(std::vector<OzoneOverlayPlane>* overlays,
|
| + std::vector<scoped_refptr<NativePixmap> >* references);
|
|
|
| // TODO(dnicoara) This should be on the MessageLoop when Ozone can have
|
| // BeginFrame can be triggered explicitly by Ozone.
|
| @@ -150,6 +173,12 @@ class HardwareDisplayController
|
| };
|
|
|
| private:
|
| + // Assign overlay IDs to each overlay in the list, returning the primary
|
| + // plane's surface (z-index 0, or surface_.get()).
|
| + ScanoutSurface* AssignOverlayPlanes(std::vector<OzoneOverlayPlane>* overlays);
|
| +
|
| + std::vector<scoped_refptr<NativePixmap> > current_overlay_references_;
|
| +
|
| // Object containing the connection to the graphics device and wraps the API
|
| // calls to control it.
|
| DriWrapper* drm_;
|
|
|