Home | History | Annotate | Download | only in gl
      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
      3 // found in the LICENSE file.
      4 
      5 #ifndef UI_GL_GL_CONTEXT_WGL_H_
      6 #define UI_GL_GL_CONTEXT_WGL_H_
      7 
      8 #include <string>
      9 
     10 #include "ui/gfx/native_widget_types.h"
     11 #include "ui/gl/gl_context.h"
     12 
     13 namespace gfx {
     14 
     15 class GLSurface;
     16 
     17 // This class is a wrapper around a GL context.
     18 class GLContextWGL : public GLContextReal {
     19  public:
     20   explicit GLContextWGL(GLShareGroup* share_group);
     21   virtual ~GLContextWGL();
     22 
     23   // Implement GLContext.
     24   virtual bool Initialize(
     25       GLSurface* compatible_surface, GpuPreference gpu_preference);
     26   virtual void Destroy();
     27   virtual bool MakeCurrent(GLSurface* surface);
     28   virtual void ReleaseCurrent(GLSurface* surface);
     29   virtual bool IsCurrent(GLSurface* surface);
     30   virtual void* GetHandle();
     31   virtual void SetSwapInterval(int interval);
     32   virtual std::string GetExtensions();
     33 
     34  private:
     35   HGLRC context_;
     36 
     37   DISALLOW_COPY_AND_ASSIGN(GLContextWGL);
     38 };
     39 
     40 }  // namespace gfx
     41 
     42 #endif  // UI_GL_GL_CONTEXT_WGL_H_
     43