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

Side by Side Diff: ui/gl/gl_surface_glx.h

Issue 232773008: More removal of GTK code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove base/ so I don't need another stamp. Created 6 years, 8 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/platform_font_pango.cc ('k') | ui/gl/gl_surface_glx.cc » ('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 #ifndef UI_GL_GL_SURFACE_GLX_H_ 5 #ifndef UI_GL_GL_SURFACE_GLX_H_
6 #define UI_GL_GL_SURFACE_GLX_H_ 6 #define UI_GL_GL_SURFACE_GLX_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 NativeViewGLSurfaceGLX(); 69 NativeViewGLSurfaceGLX();
70 virtual ~NativeViewGLSurfaceGLX(); 70 virtual ~NativeViewGLSurfaceGLX();
71 71
72 private: 72 private:
73 // The handle for the drawable to make current or swap. 73 // The handle for the drawable to make current or swap.
74 gfx::AcceleratedWidget GetDrawableHandle() const; 74 gfx::AcceleratedWidget GetDrawableHandle() const;
75 75
76 // Window passed in at creation. Always valid. 76 // Window passed in at creation. Always valid.
77 gfx::AcceleratedWidget parent_window_; 77 gfx::AcceleratedWidget parent_window_;
78 78
79 #if defined(TOOLKIT_GTK)
80 // Some NVIDIA drivers don't allow deleting GLX windows separately from their
81 // parent X windows. Work around this by creating a child X window to the
82 // window passed in to the constructor, creating the GLX window against the
83 // child window, and then destroying the child window to destroy the GLX
84 // window.
85 // http://crbug.com/145600
86 void CreateChildWindow();
87 void DestroyChildWindow();
88
89 // Destroy the child window when both the front and back buffers are
90 // deallocated.
91 virtual bool SetBackbufferAllocation(bool allocated) OVERRIDE;
92 virtual void SetFrontbufferAllocation(bool allocated) OVERRIDE;
93 void AdjustBufferAllocation();
94
95 // Child window which is used with GLX, and is discarded when it is
96 // backgrounded.
97 gfx::AcceleratedWidget child_window_;
98
99 // Dummy 1x1 window which is supplied to glXMakeCurrent when making
100 // the context current while its output surface is destroyed.
101 gfx::AcceleratedWidget dummy_window_;
102
103 bool backbuffer_allocated_;
104 bool frontbuffer_allocated_;
105 #endif
106
107 void* config_; 79 void* config_;
108 gfx::Size size_; 80 gfx::Size size_;
109 81
110 scoped_ptr<VSyncProvider> vsync_provider_; 82 scoped_ptr<VSyncProvider> vsync_provider_;
111 83
112 DISALLOW_COPY_AND_ASSIGN(NativeViewGLSurfaceGLX); 84 DISALLOW_COPY_AND_ASSIGN(NativeViewGLSurfaceGLX);
113 }; 85 };
114 86
115 // A surface used to render to an offscreen pbuffer. 87 // A surface used to render to an offscreen pbuffer.
116 class GL_EXPORT PbufferGLSurfaceGLX : public GLSurfaceGLX { 88 class GL_EXPORT PbufferGLSurfaceGLX : public GLSurfaceGLX {
(...skipping 16 matching lines...) Expand all
133 gfx::Size size_; 105 gfx::Size size_;
134 void* config_; 106 void* config_;
135 XID pbuffer_; 107 XID pbuffer_;
136 108
137 DISALLOW_COPY_AND_ASSIGN(PbufferGLSurfaceGLX); 109 DISALLOW_COPY_AND_ASSIGN(PbufferGLSurfaceGLX);
138 }; 110 };
139 111
140 } // namespace gfx 112 } // namespace gfx
141 113
142 #endif // UI_GL_GL_SURFACE_GLX_H_ 114 #endif // UI_GL_GL_SURFACE_GLX_H_
OLDNEW
« no previous file with comments | « ui/gfx/platform_font_pango.cc ('k') | ui/gl/gl_surface_glx.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698