1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "ui/ozone/public/surface_factory_ozone.h"
9 #include "base/command_line.h"
10 #include "ui/ozone/public/native_pixmap.h"
11 #include "ui/ozone/public/surface_ozone_canvas.h"
12 #include "ui/ozone/public/surface_ozone_egl.h"
17 SurfaceFactoryOzone* SurfaceFactoryOzone::impl_ = NULL;
19 SurfaceFactoryOzone::SurfaceFactoryOzone() {
20 DCHECK(!impl_) << "There should only be a single SurfaceFactoryOzone.";
24 SurfaceFactoryOzone::~SurfaceFactoryOzone() {
25 DCHECK_EQ(impl_, this);
29 SurfaceFactoryOzone* SurfaceFactoryOzone::GetInstance() {
30 DCHECK(impl_) << "No SurfaceFactoryOzone implementation set.";
34 intptr_t SurfaceFactoryOzone::GetNativeDisplay() {
38 scoped_ptr<SurfaceOzoneEGL> SurfaceFactoryOzone::CreateEGLSurfaceForWidget(
39 gfx::AcceleratedWidget widget) {
41 return scoped_ptr<SurfaceOzoneEGL>();
44 scoped_ptr<SurfaceOzoneCanvas> SurfaceFactoryOzone::CreateCanvasForWidget(
45 gfx::AcceleratedWidget widget) {
47 return scoped_ptr<SurfaceOzoneCanvas>();
50 const int32* SurfaceFactoryOzone::GetEGLSurfaceProperties(
51 const int32* desired_attributes) {
52 return desired_attributes;
55 ui::OverlayCandidatesOzone* SurfaceFactoryOzone::GetOverlayCandidates(
56 gfx::AcceleratedWidget w) {
60 scoped_refptr<ui::NativePixmap> SurfaceFactoryOzone::CreateNativePixmap(
62 BufferFormat format) {
66 bool SurfaceFactoryOzone::ScheduleOverlayPlane(
67 gfx::AcceleratedWidget widget,
69 gfx::OverlayTransform plane_transform,
70 scoped_refptr<NativePixmap> buffer,
71 const gfx::Rect& display_bounds,
72 const gfx::RectF& crop_rect) {
76 bool SurfaceFactoryOzone::CanShowPrimaryPlaneAsOverlay() {