| |
| /* |
| * Copyright 2012 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| #ifndef SkANGLEGLContext_DEFINED |
| #define SkANGLEGLContext_DEFINED |
| |
| #if SK_ANGLE |
| |
| #include "SkGLContextHelper.h" |
| |
| #include <GLES2/gl2.h> |
| #include <EGL/egl.h> |
| |
| class SkANGLEGLContext : public SkGLContextHelper { |
| public: |
| SkANGLEGLContext(); |
| |
| virtual ~SkANGLEGLContext(); |
| |
| virtual void makeCurrent() const SK_OVERRIDE; |
| virtual void swapBuffers() const SK_OVERRIDE; |
| |
| class AutoContextRestore { |
| public: |
| AutoContextRestore(); |
| ~AutoContextRestore(); |
| |
| private: |
| EGLContext fOldEGLContext; |
| EGLDisplay fOldDisplay; |
| EGLSurface fOldSurface; |
| }; |
| |
| protected: |
| virtual const GrGLInterface* createGLContext( |
| GrGLStandard forcedGpuAPI) SK_OVERRIDE; |
| virtual void destroyGLContext() SK_OVERRIDE; |
| |
| private: |
| EGLContext fContext; |
| EGLDisplay fDisplay; |
| EGLSurface fSurface; |
| }; |
| |
| #endif |
| |
| #endif |