Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / ui / ozone / platform / test / file_surface_factory.h
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_