Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(261)

Side by Side Diff: ui/gfx/gl/gl_surface_win.cc

Issue 9160012: Change PluginWindowHandle to AcceleratedWidget in ui/gfx/gl (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: oops mac Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/gfx/gl/gl_surface_wgl.cc ('k') | ui/gfx/native_widget_types.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "ui/gfx/gl/gl_surface.h" 5 #include "ui/gfx/gl/gl_surface.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "third_party/mesa/MesaLib/include/GL/osmesa.h" 9 #include "third_party/mesa/MesaLib/include/GL/osmesa.h"
10 #include "ui/gfx/gl/gl_bindings.h" 10 #include "ui/gfx/gl/gl_bindings.h"
11 #include "ui/gfx/gl/gl_implementation.h" 11 #include "ui/gfx/gl/gl_implementation.h"
12 #include "ui/gfx/gl/gl_surface_egl.h" 12 #include "ui/gfx/gl/gl_surface_egl.h"
13 #include "ui/gfx/gl/gl_surface_osmesa.h" 13 #include "ui/gfx/gl/gl_surface_osmesa.h"
14 #include "ui/gfx/gl/gl_surface_stub.h" 14 #include "ui/gfx/gl/gl_surface_stub.h"
15 #include "ui/gfx/gl/gl_surface_wgl.h" 15 #include "ui/gfx/gl/gl_surface_wgl.h"
16 16
17 namespace gfx { 17 namespace gfx {
18 18
19 // This OSMesa GL surface can use GDI to swap the contents of the buffer to a 19 // This OSMesa GL surface can use GDI to swap the contents of the buffer to a
20 // view. 20 // view.
21 class NativeViewGLSurfaceOSMesa : public GLSurfaceOSMesa { 21 class NativeViewGLSurfaceOSMesa : public GLSurfaceOSMesa {
22 public: 22 public:
23 explicit NativeViewGLSurfaceOSMesa(gfx::PluginWindowHandle window); 23 explicit NativeViewGLSurfaceOSMesa(gfx::AcceleratedWidget window);
24 virtual ~NativeViewGLSurfaceOSMesa(); 24 virtual ~NativeViewGLSurfaceOSMesa();
25 25
26 // Implement subset of GLSurface. 26 // Implement subset of GLSurface.
27 virtual bool Initialize() OVERRIDE; 27 virtual bool Initialize() OVERRIDE;
28 virtual void Destroy() OVERRIDE; 28 virtual void Destroy() OVERRIDE;
29 virtual bool IsOffscreen() OVERRIDE; 29 virtual bool IsOffscreen() OVERRIDE;
30 virtual bool SwapBuffers() OVERRIDE; 30 virtual bool SwapBuffers() OVERRIDE;
31 virtual std::string GetExtensions() OVERRIDE; 31 virtual std::string GetExtensions() OVERRIDE;
32 virtual bool PostSubBuffer(int x, int y, int width, int height) OVERRIDE; 32 virtual bool PostSubBuffer(int x, int y, int width, int height) OVERRIDE;
33 33
34 private: 34 private:
35 gfx::PluginWindowHandle window_; 35 gfx::AcceleratedWidget window_;
36 HDC device_context_; 36 HDC device_context_;
37 37
38 DISALLOW_COPY_AND_ASSIGN(NativeViewGLSurfaceOSMesa); 38 DISALLOW_COPY_AND_ASSIGN(NativeViewGLSurfaceOSMesa);
39 }; 39 };
40 40
41 // Helper routine that does one-off initialization like determining the 41 // Helper routine that does one-off initialization like determining the
42 // pixel format and initializing the GL bindings. 42 // pixel format and initializing the GL bindings.
43 bool GLSurface::InitializeOneOffInternal() { 43 bool GLSurface::InitializeOneOffInternal() {
44 switch (GetGLImplementation()) { 44 switch (GetGLImplementation()) {
45 case kGLImplementationDesktopGL: 45 case kGLImplementationDesktopGL:
46 if (!GLSurfaceWGL::InitializeOneOff()) { 46 if (!GLSurfaceWGL::InitializeOneOff()) {
47 LOG(ERROR) << "GLSurfaceWGL::InitializeOneOff failed."; 47 LOG(ERROR) << "GLSurfaceWGL::InitializeOneOff failed.";
48 return false; 48 return false;
49 } 49 }
50 break; 50 break;
51 case kGLImplementationEGLGLES2: 51 case kGLImplementationEGLGLES2:
52 if (!GLSurfaceEGL::InitializeOneOff()) { 52 if (!GLSurfaceEGL::InitializeOneOff()) {
53 LOG(ERROR) << "GLSurfaceEGL::InitializeOneOff failed."; 53 LOG(ERROR) << "GLSurfaceEGL::InitializeOneOff failed.";
54 return false; 54 return false;
55 } 55 }
56 break; 56 break;
57 } 57 }
58 return true; 58 return true;
59 } 59 }
60 60
61 NativeViewGLSurfaceOSMesa::NativeViewGLSurfaceOSMesa( 61 NativeViewGLSurfaceOSMesa::NativeViewGLSurfaceOSMesa(
62 gfx::PluginWindowHandle window) 62 gfx::AcceleratedWidget window)
63 : GLSurfaceOSMesa(OSMESA_RGBA, gfx::Size(1, 1)), 63 : GLSurfaceOSMesa(OSMESA_RGBA, gfx::Size(1, 1)),
64 window_(window), 64 window_(window),
65 device_context_(NULL) { 65 device_context_(NULL) {
66 DCHECK(window); 66 DCHECK(window);
67 } 67 }
68 68
69 NativeViewGLSurfaceOSMesa::~NativeViewGLSurfaceOSMesa() { 69 NativeViewGLSurfaceOSMesa::~NativeViewGLSurfaceOSMesa() {
70 Destroy(); 70 Destroy();
71 } 71 }
72 72
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 GetHandle(), 166 GetHandle(),
167 reinterpret_cast<BITMAPINFO*>(&info), 167 reinterpret_cast<BITMAPINFO*>(&info),
168 DIB_RGB_COLORS, 168 DIB_RGB_COLORS,
169 SRCCOPY); 169 SRCCOPY);
170 170
171 return true; 171 return true;
172 } 172 }
173 173
174 scoped_refptr<GLSurface> GLSurface::CreateViewGLSurface( 174 scoped_refptr<GLSurface> GLSurface::CreateViewGLSurface(
175 bool software, 175 bool software,
176 gfx::PluginWindowHandle window) { 176 gfx::AcceleratedWidget window) {
177 switch (GetGLImplementation()) { 177 switch (GetGLImplementation()) {
178 case kGLImplementationOSMesaGL: { 178 case kGLImplementationOSMesaGL: {
179 scoped_refptr<GLSurface> surface( 179 scoped_refptr<GLSurface> surface(
180 new NativeViewGLSurfaceOSMesa(window)); 180 new NativeViewGLSurfaceOSMesa(window));
181 if (!surface->Initialize()) 181 if (!surface->Initialize())
182 return NULL; 182 return NULL;
183 183
184 return surface; 184 return surface;
185 } 185 }
186 case kGLImplementationEGLGLES2: { 186 case kGLImplementationEGLGLES2: {
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 } 239 }
240 case kGLImplementationMockGL: 240 case kGLImplementationMockGL:
241 return new GLSurfaceStub; 241 return new GLSurfaceStub;
242 default: 242 default:
243 NOTREACHED(); 243 NOTREACHED();
244 return NULL; 244 return NULL;
245 } 245 }
246 } 246 }
247 247
248 } // namespace gfx 248 } // namespace gfx
OLDNEW
« no previous file with comments | « ui/gfx/gl/gl_surface_wgl.cc ('k') | ui/gfx/native_widget_types.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698