OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_GL_GL_IMAGE_IO_SURFACE_H_ | 5 #ifndef UI_GL_GL_IMAGE_IO_SURFACE_H_ |
6 #define UI_GL_GL_IMAGE_IO_SURFACE_H_ | 6 #define UI_GL_GL_IMAGE_IO_SURFACE_H_ |
7 | 7 |
8 #include <IOSurface/IOSurfaceAPI.h> | 8 #include <IOSurface/IOSurfaceAPI.h> |
9 | 9 |
10 #include "base/mac/scoped_cftyperef.h" | 10 #include "base/mac/scoped_cftyperef.h" |
11 #include "ui/gfx/gpu_memory_buffer.h" | 11 #include "ui/gfx/gpu_memory_buffer.h" |
12 #include "ui/gl/gl_image.h" | 12 #include "ui/gl/gl_image.h" |
13 | 13 |
14 namespace gfx { | 14 namespace gfx { |
15 | 15 |
16 class GL_EXPORT GLImageIOSurface : public GLImage { | 16 class GL_EXPORT GLImageIOSurface : public GLImage { |
17 public: | 17 public: |
18 explicit GLImageIOSurface(const gfx::Size& size); | 18 explicit GLImageIOSurface(const gfx::Size& size); |
19 | 19 |
20 bool Initialize(const gfx::GpuMemoryBufferHandle& handle); | 20 bool Initialize(const gfx::GpuMemoryBufferHandle& handle); |
21 | 21 |
22 // Overridden from GLImage: | 22 // Overridden from GLImage: |
23 virtual void Destroy(bool have_context) OVERRIDE; | 23 virtual void Destroy(bool have_context) OVERRIDE; |
24 virtual gfx::Size GetSize() OVERRIDE; | 24 virtual gfx::Size GetSize() OVERRIDE; |
25 virtual bool BindTexImage(unsigned target) OVERRIDE; | 25 virtual bool BindTexImage(unsigned target) OVERRIDE; |
26 virtual void ReleaseTexImage(unsigned target) OVERRIDE {} | 26 virtual void ReleaseTexImage(unsigned target) OVERRIDE {} |
| 27 virtual bool CopyTexImage(unsigned target) OVERRIDE; |
27 virtual void WillUseTexImage() OVERRIDE {} | 28 virtual void WillUseTexImage() OVERRIDE {} |
28 virtual void DidUseTexImage() OVERRIDE {} | 29 virtual void DidUseTexImage() OVERRIDE {} |
29 virtual void WillModifyTexImage() OVERRIDE {} | 30 virtual void WillModifyTexImage() OVERRIDE {} |
30 virtual void DidModifyTexImage() OVERRIDE {} | 31 virtual void DidModifyTexImage() OVERRIDE {} |
31 virtual bool ScheduleOverlayPlane(gfx::AcceleratedWidget widget, | 32 virtual bool ScheduleOverlayPlane(gfx::AcceleratedWidget widget, |
32 int z_order, | 33 int z_order, |
33 OverlayTransform transform, | 34 OverlayTransform transform, |
34 const Rect& bounds_rect, | 35 const Rect& bounds_rect, |
35 const RectF& crop_rect) OVERRIDE; | 36 const RectF& crop_rect) OVERRIDE; |
36 | 37 |
37 protected: | 38 protected: |
38 virtual ~GLImageIOSurface(); | 39 virtual ~GLImageIOSurface(); |
39 | 40 |
40 private: | 41 private: |
41 base::ScopedCFTypeRef<IOSurfaceRef> io_surface_; | 42 base::ScopedCFTypeRef<IOSurfaceRef> io_surface_; |
42 const gfx::Size size_; | 43 const gfx::Size size_; |
43 | 44 |
44 DISALLOW_COPY_AND_ASSIGN(GLImageIOSurface); | 45 DISALLOW_COPY_AND_ASSIGN(GLImageIOSurface); |
45 }; | 46 }; |
46 | 47 |
47 } // namespace gfx | 48 } // namespace gfx |
48 | 49 |
49 #endif // UI_GL_GL_IMAGE_IO_SURFACE_H_ | 50 #endif // UI_GL_GL_IMAGE_IO_SURFACE_H_ |
OLD | NEW |