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/gfx/ozone/surface_factory_ozone.h"
9 #include "base/command_line.h"
10 #include "ui/gfx/ozone/impl/file_surface_factory_ozone.h"
11 #include "ui/gfx/ozone/impl/software_surface_factory_ozone.h"
16 SurfaceFactoryOzone* SurfaceFactoryOzone::impl_ = NULL;
18 class SurfaceFactoryOzoneStub : public SurfaceFactoryOzone {
20 SurfaceFactoryOzoneStub() {}
21 virtual ~SurfaceFactoryOzoneStub() {}
23 virtual HardwareState InitializeHardware() OVERRIDE { return INITIALIZED; }
24 virtual void ShutdownHardware() OVERRIDE {}
25 virtual gfx::AcceleratedWidget GetAcceleratedWidget() OVERRIDE { return 0; }
26 virtual gfx::AcceleratedWidget RealizeAcceleratedWidget(
27 gfx::AcceleratedWidget w) OVERRIDE {
30 virtual bool LoadEGLGLES2Bindings(
31 AddGLLibraryCallback add_gl_library,
32 SetGLGetProcAddressProcCallback set_gl_get_proc_address) OVERRIDE {
35 virtual bool AttemptToResizeAcceleratedWidget(
36 gfx::AcceleratedWidget w,
37 const gfx::Rect& bounds) OVERRIDE {
40 virtual gfx::VSyncProvider* GetVSyncProvider(
41 gfx::AcceleratedWidget w) OVERRIDE {
46 SurfaceFactoryOzone::SurfaceFactoryOzone() {
49 SurfaceFactoryOzone::~SurfaceFactoryOzone() {
52 SurfaceFactoryOzone* SurfaceFactoryOzone::GetInstance() {
53 CHECK(impl_) << "No SurfaceFactoryOzone implementation set.";
57 void SurfaceFactoryOzone::SetInstance(SurfaceFactoryOzone* impl) {
61 const char* SurfaceFactoryOzone::DefaultDisplaySpec() {
62 char* envvar = getenv("ASH_DISPLAY_SPEC");
68 gfx::Screen* SurfaceFactoryOzone::CreateDesktopScreen() {
72 intptr_t SurfaceFactoryOzone::GetNativeDisplay() {
76 bool SurfaceFactoryOzone::SchedulePageFlip(gfx::AcceleratedWidget w) {
80 SkCanvas* SurfaceFactoryOzone::GetCanvasForWidget(gfx::AcceleratedWidget w) {
84 const int32* SurfaceFactoryOzone::GetEGLSurfaceProperties(
85 const int32* desired_attributes) {
86 return desired_attributes;
90 SurfaceFactoryOzone* SurfaceFactoryOzone::CreateTestHelper() {
91 return new SurfaceFactoryOzoneStub;