1 // Copyright 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 #ifndef UI_GFX_OZONE_IMPL_FILE_SURFACE_FACTORY_H_
6 #define UI_GFX_OZONE_IMPL_FILE_SURFACE_FACTORY_H_
8 #include "base/files/file_path.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "ui/gfx/native_widget_types.h"
11 #include "ui/gfx/ozone/surface_factory_ozone.h"
15 class GFX_EXPORT FileSurfaceFactory : public SurfaceFactoryOzone {
17 explicit FileSurfaceFactory(const base::FilePath& dump_location);
18 virtual ~FileSurfaceFactory();
21 // SurfaceFactoryOzone:
22 virtual HardwareState InitializeHardware() OVERRIDE;
23 virtual void ShutdownHardware() OVERRIDE;
24 virtual AcceleratedWidget GetAcceleratedWidget() OVERRIDE;
25 virtual scoped_ptr<SurfaceOzoneCanvas> CreateCanvasForWidget(
26 gfx::AcceleratedWidget w) OVERRIDE;
27 virtual bool LoadEGLGLES2Bindings(
28 AddGLLibraryCallback add_gl_library,
29 SetGLGetProcAddressProcCallback set_gl_get_proc_address) OVERRIDE;
31 base::FilePath location_;
33 DISALLOW_COPY_AND_ASSIGN(FileSurfaceFactory);
38 #endif // UI_GFX_OZONE_IMPL_FILE_SURFACE_FACTORY_H_