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

Side by Side Diff: ui/gfx/gl/scoped_make_current.h

Issue 8418035: Fix gl context change on dropping a texture (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Changes as recommended as per backer Created 9 years, 1 month 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
OLDNEW
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_SCOPED_MAKE_CURRENT_H_ 5 #ifndef UI_GFX_GL_SCOPED_MAKE_CURRENT_H_
6 #define UI_GFX_GL_SCOPED_MAKE_CURRENT_H_ 6 #define UI_GFX_GL_SCOPED_MAKE_CURRENT_H_
7 #pragma once 7 #pragma once
8 8
9 #include "base/memory/ref_counted.h"
9 #include "ui/gfx/gl/gl_context.h" 10 #include "ui/gfx/gl/gl_context.h"
10 #include "ui/gfx/gl/gl_surface.h" 11 #include "ui/gfx/gl/gl_surface.h"
11 12
12 namespace gfx { 13 namespace gfx {
13 14
14 class GL_EXPORT ScopedMakeCurrent { 15 class GL_EXPORT ScopedMakeCurrent : public base::RefCounted<ScopedMakeCurrent> {
sky 2011/10/31 20:44:45 Having a RAII object be ref counted breaks the mod
15 public: 16 public:
16 explicit ScopedMakeCurrent(GLContext* context, GLSurface* surface); 17 explicit ScopedMakeCurrent(GLContext* context, GLSurface* surface);
17 ~ScopedMakeCurrent(); 18 ~ScopedMakeCurrent();
18 19
19 bool Succeeded(); 20 bool Succeeded();
20 21
21 private: 22 private:
22 scoped_refptr<GLContext> previous_context_; 23 scoped_refptr<GLContext> previous_context_;
23 scoped_refptr<GLSurface> previous_surface_; 24 scoped_refptr<GLSurface> previous_surface_;
24 scoped_refptr<GLContext> context_; 25 scoped_refptr<GLContext> context_;
25 scoped_refptr<GLSurface> surface_; 26 scoped_refptr<GLSurface> surface_;
26 bool succeeded_; 27 bool succeeded_;
28
29 friend class base::RefCounted<ScopedMakeCurrent>;
27 DISALLOW_COPY_AND_ASSIGN(ScopedMakeCurrent); 30 DISALLOW_COPY_AND_ASSIGN(ScopedMakeCurrent);
28 }; 31 };
29 32
30 } // namespace gfx 33 } // namespace gfx
31 34
32 #endif // UI_GFX_GL_SCOPED_MAKE_CURRENT_H_ 35 #endif // UI_GFX_GL_SCOPED_MAKE_CURRENT_H_
33 36
OLDNEW
« ui/gfx/compositor/compositor_gl.h ('K') | « ui/gfx/compositor/compositor_gl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698