| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "ui/gl/gl_wgl_api_implementation.h" |
| #include "ui/gl/gl_implementation.h" |
| |
| namespace gfx { |
| |
| RealWGLApi* g_real_wgl; |
| |
| void InitializeGLBindingsWGL() { |
| g_driver_wgl.InitializeBindings(); |
| if (!g_real_wgl) { |
| g_real_wgl = new RealWGLApi(); |
| } |
| g_real_wgl->Initialize(&g_driver_wgl); |
| g_current_wgl_context = g_real_wgl; |
| } |
| |
| void InitializeGLExtensionBindingsWGL(GLContext* context) { |
| g_driver_wgl.InitializeExtensionBindings(context); |
| } |
| |
| void InitializeDebugGLBindingsWGL() { |
| g_driver_wgl.InitializeDebugBindings(); |
| } |
| |
| void ClearGLBindingsWGL() { |
| if (g_real_wgl) { |
| delete g_real_wgl; |
| g_real_wgl = NULL; |
| } |
| g_current_wgl_context = NULL; |
| g_driver_wgl.ClearBindings(); |
| } |
| |
| WGLApi::WGLApi() { |
| } |
| |
| WGLApi::~WGLApi() { |
| } |
| |
| WGLApiBase::WGLApiBase() |
| : driver_(NULL) { |
| } |
| |
| WGLApiBase::~WGLApiBase() { |
| } |
| |
| void WGLApiBase::InitializeBase(DriverWGL* driver) { |
| driver_ = driver; |
| } |
| |
| RealWGLApi::RealWGLApi() { |
| } |
| |
| RealWGLApi::~RealWGLApi() { |
| } |
| |
| void RealWGLApi::Initialize(DriverWGL* driver) { |
| InitializeBase(driver); |
| } |
| |
| TraceWGLApi::~TraceWGLApi() { |
| } |
| |
| bool GetGLWindowSystemBindingInfoWGL(GLWindowSystemBindingInfo* info) { |
| const char* extensions = wglGetExtensionsStringEXT(); |
| *info = GLWindowSystemBindingInfo(); |
| if (extensions) |
| info->extensions = extensions; |
| return true; |
| } |
| |
| } // namespace gfx |
| |
| |