Index: ui/ozone/platform/dri/gbm_surface_factory.cc |
diff --git a/ui/ozone/platform/dri/gbm_surface_factory.cc b/ui/ozone/platform/dri/gbm_surface_factory.cc |
index 7e5dc34a11c5fcd0765149acef1210419a7f8390..6e63d7fbf22661daec7364c4bb6b1a37397e3cc7 100644 |
--- a/ui/ozone/platform/dri/gbm_surface_factory.cc |
+++ b/ui/ozone/platform/dri/gbm_surface_factory.cc |
@@ -13,6 +13,7 @@ |
#include "ui/ozone/platform/dri/gbm_surfaceless.h" |
#include "ui/ozone/platform/dri/screen_manager.h" |
#include "ui/ozone/public/native_pixmap.h" |
+#include "ui/ozone/public/overlay_candidates_ozone.h" |
dnicoara
2014/08/07 14:26:04
Is this needed?
achaulk
2014/08/07 14:26:49
Oh, no that's part of a later patch
|
#include "ui/ozone/public/surface_ozone_egl.h" |
namespace ui { |
@@ -123,6 +124,32 @@ scoped_refptr<ui::NativePixmap> GbmSurfaceFactory::CreateNativePixmap( |
return scoped_refptr<GbmPixmap>(new GbmPixmap(buffer)); |
} |
+bool GbmSurfaceFactory::ScheduleOverlayPlane( |
+ gfx::AcceleratedWidget w, |
dnicoara
2014/08/07 14:26:04
nit: Could you rename this to the longer form: wid
achaulk
2014/08/07 14:26:49
Sure
|
+ int plane_z_order, |
+ gfx::OverlayTransform plane_transform, |
+ scoped_refptr<NativePixmap> buffer, |
+ const gfx::Rect& display_bounds, |
+ const gfx::RectF& crop_rect) { |
+ scoped_refptr<GbmPixmap> pixmap = static_cast<GbmPixmap*>(buffer.get()); |
+ if (!pixmap) { |
+ LOG(ERROR) << "ScheduleOverlayPlane passed NULL buffer."; |
+ return false; |
+ } |
+ base::WeakPtr<HardwareDisplayController> hdc = |
+ screen_manager_->GetDisplayController(w); |
+ if (!hdc) { |
+ LOG(ERROR) << "Unknown AcceleratedWidget"; |
+ return false; |
+ } |
+ hdc->QueueOverlayPlane(OverlayPlane(pixmap->buffer(), |
+ plane_z_order, |
+ plane_transform, |
+ display_bounds, |
+ crop_rect)); |
+ return true; |
+} |
+ |
bool GbmSurfaceFactory::CanShowPrimaryPlaneAsOverlay() { |
return allow_surfaceless_; |
} |