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.
4
5 #include "ui/ozone/public/surface_factory_ozone.h"
6
7 #include <stdlib.h>
8
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"
13
14 namespace ui {
15
16 // static
17 SurfaceFactoryOzone* SurfaceFactoryOzone::impl_ = NULL;
18
SurfaceFactoryOzone()19 SurfaceFactoryOzone::SurfaceFactoryOzone() {
20 DCHECK(!impl_) << "There should only be a single SurfaceFactoryOzone.";
21 impl_ = this;
22 }
23
~SurfaceFactoryOzone()24 SurfaceFactoryOzone::~SurfaceFactoryOzone() {
25 DCHECK_EQ(impl_, this);
26 impl_ = NULL;
27 }
28
GetInstance()29 SurfaceFactoryOzone* SurfaceFactoryOzone::GetInstance() {
30 DCHECK(impl_) << "No SurfaceFactoryOzone implementation set.";
31 return impl_;
32 }
33
GetNativeDisplay()34 intptr_t SurfaceFactoryOzone::GetNativeDisplay() {
35 return 0;
36 }
37
CreateEGLSurfaceForWidget(gfx::AcceleratedWidget widget)38 scoped_ptr<SurfaceOzoneEGL> SurfaceFactoryOzone::CreateEGLSurfaceForWidget(
39 gfx::AcceleratedWidget widget) {
40 NOTIMPLEMENTED();
41 return scoped_ptr<SurfaceOzoneEGL>();
42 }
43
44 scoped_ptr<SurfaceOzoneEGL>
CreateSurfacelessEGLSurfaceForWidget(gfx::AcceleratedWidget widget)45 SurfaceFactoryOzone::CreateSurfacelessEGLSurfaceForWidget(
46 gfx::AcceleratedWidget widget) {
47 NOTIMPLEMENTED();
48 return scoped_ptr<SurfaceOzoneEGL>();
49 }
50
CreateCanvasForWidget(gfx::AcceleratedWidget widget)51 scoped_ptr<SurfaceOzoneCanvas> SurfaceFactoryOzone::CreateCanvasForWidget(
52 gfx::AcceleratedWidget widget) {
53 NOTIMPLEMENTED();
54 return scoped_ptr<SurfaceOzoneCanvas>();
55 }
56
GetEGLSurfaceProperties(const int32 * desired_attributes)57 const int32* SurfaceFactoryOzone::GetEGLSurfaceProperties(
58 const int32* desired_attributes) {
59 return desired_attributes;
60 }
61
GetOverlayCandidates(gfx::AcceleratedWidget w)62 ui::OverlayCandidatesOzone* SurfaceFactoryOzone::GetOverlayCandidates(
63 gfx::AcceleratedWidget w) {
64 return NULL;
65 }
66
CreateNativePixmap(gfx::Size size,BufferFormat format)67 scoped_refptr<ui::NativePixmap> SurfaceFactoryOzone::CreateNativePixmap(
68 gfx::Size size,
69 BufferFormat format) {
70 return NULL;
71 }
72
ScheduleOverlayPlane(gfx::AcceleratedWidget widget,int plane_z_order,gfx::OverlayTransform plane_transform,scoped_refptr<NativePixmap> buffer,const gfx::Rect & display_bounds,const gfx::RectF & crop_rect)73 bool SurfaceFactoryOzone::ScheduleOverlayPlane(
74 gfx::AcceleratedWidget widget,
75 int plane_z_order,
76 gfx::OverlayTransform plane_transform,
77 scoped_refptr<NativePixmap> buffer,
78 const gfx::Rect& display_bounds,
79 const gfx::RectF& crop_rect) {
80 return false;
81 }
82
CanShowPrimaryPlaneAsOverlay()83 bool SurfaceFactoryOzone::CanShowPrimaryPlaneAsOverlay() {
84 return false;
85 }
86 } // namespace ui
87