diff options
Diffstat (limited to 'ui/gl/gl_context_egl.h')
-rw-r--r-- | ui/gl/gl_context_egl.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/ui/gl/gl_context_egl.h b/ui/gl/gl_context_egl.h new file mode 100644 index 0000000..4e98da8 --- /dev/null +++ b/ui/gl/gl_context_egl.h @@ -0,0 +1,49 @@ +// 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. + +#ifndef UI_GL_GL_CONTEXT_EGL_H_ +#define UI_GL_GL_CONTEXT_EGL_H_ +#pragma once + +#include <string> + +#include "base/compiler_specific.h" +#include "ui/gl/gl_context.h" + +typedef void* EGLContext; +typedef void* EGLDisplay; +typedef void* EGLConfig; + +namespace gfx { + +class GLSurface; + +// Encapsulates an EGL OpenGL ES context. +class GLContextEGL : public GLContext { + public: + explicit GLContextEGL(GLShareGroup* share_group); + virtual ~GLContextEGL(); + + // Implement GLContext. + virtual bool Initialize( + GLSurface* compatible_surface, GpuPreference gpu_preference) OVERRIDE; + virtual void Destroy() OVERRIDE; + virtual bool MakeCurrent(GLSurface* surface) OVERRIDE; + virtual void ReleaseCurrent(GLSurface* surface) OVERRIDE; + virtual bool IsCurrent(GLSurface* surface) OVERRIDE; + virtual void* GetHandle() OVERRIDE; + virtual void SetSwapInterval(int interval) OVERRIDE; + virtual std::string GetExtensions() OVERRIDE; + + private: + EGLContext context_; + EGLDisplay display_; + EGLConfig config_; + + DISALLOW_COPY_AND_ASSIGN(GLContextEGL); +}; + +} // namespace gfx + +#endif // UI_GL_GL_CONTEXT_EGL_H_ |