OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_GFX_GL_GL_SURFACE_H_ | 5 #ifndef UI_GFX_GL_GL_SURFACE_H_ |
6 #define UI_GFX_GL_GL_SURFACE_H_ | 6 #define UI_GFX_GL_GL_SURFACE_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 | 40 |
41 // Get the underlying platform specific surface "handle". | 41 // Get the underlying platform specific surface "handle". |
42 virtual void* GetHandle() = 0; | 42 virtual void* GetHandle() = 0; |
43 | 43 |
44 // Returns the internal frame buffer object name if the surface is backed by | 44 // Returns the internal frame buffer object name if the surface is backed by |
45 // FBO. Otherwise returns 0. | 45 // FBO. Otherwise returns 0. |
46 virtual unsigned int GetBackingFrameBufferObject(); | 46 virtual unsigned int GetBackingFrameBufferObject(); |
47 | 47 |
48 static bool InitializeOneOff(); | 48 static bool InitializeOneOff(); |
49 | 49 |
| 50 // Called after a context is made current with this surface. |
| 51 virtual void OnMakeCurrent(); |
| 52 |
50 #if !defined(OS_MACOSX) | 53 #if !defined(OS_MACOSX) |
51 // Create a GL surface that renders directly to a view. | 54 // Create a GL surface that renders directly to a view. |
52 static scoped_refptr<GLSurface> CreateViewGLSurface( | 55 static scoped_refptr<GLSurface> CreateViewGLSurface( |
53 bool software, | 56 bool software, |
54 gfx::PluginWindowHandle window); | 57 gfx::PluginWindowHandle window); |
55 #endif | 58 #endif |
56 | 59 |
57 // Create a GL surface used for offscreen rendering. | 60 // Create a GL surface used for offscreen rendering. |
58 static scoped_refptr<GLSurface> CreateOffscreenGLSurface( | 61 static scoped_refptr<GLSurface> CreateOffscreenGLSurface( |
59 bool software, | 62 bool software, |
60 const gfx::Size& size); | 63 const gfx::Size& size); |
61 | 64 |
62 protected: | 65 protected: |
63 virtual ~GLSurface(); | 66 virtual ~GLSurface(); |
64 | 67 |
65 private: | 68 private: |
66 friend class base::RefCounted<GLSurface>; | 69 friend class base::RefCounted<GLSurface>; |
67 DISALLOW_COPY_AND_ASSIGN(GLSurface); | 70 DISALLOW_COPY_AND_ASSIGN(GLSurface); |
68 }; | 71 }; |
69 | 72 |
70 } // namespace gfx | 73 } // namespace gfx |
71 | 74 |
72 #endif // UI_GFX_GL_GL_SURFACE_H_ | 75 #endif // UI_GFX_GL_GL_SURFACE_H_ |
OLD | NEW |