• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #ifndef UI_OZONE_PLATFORM_TEST_FILE_SURFACE_FACTORY_H_
6 #define UI_OZONE_PLATFORM_TEST_FILE_SURFACE_FACTORY_H_
7 
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/ozone/public/surface_factory_ozone.h"
12 
13 namespace ui {
14 
15 class OZONE_BASE_EXPORT FileSurfaceFactory : public SurfaceFactoryOzone {
16  public:
17   explicit FileSurfaceFactory(const base::FilePath& dump_location);
18   virtual ~FileSurfaceFactory();
19 
20  private:
21   // SurfaceFactoryOzone:
22   virtual HardwareState InitializeHardware() OVERRIDE;
23   virtual void ShutdownHardware() OVERRIDE;
24   virtual gfx::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;
30 
31   base::FilePath location_;
32 
33   DISALLOW_COPY_AND_ASSIGN(FileSurfaceFactory);
34 };
35 
36 }  // namespace ui
37 
38 #endif  // UI_OZONE_PLATFORM_TEST_FILE_SURFACE_FACTORY_H_
39