1 2/* 3 * Copyright 2012 Google Inc. 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8#ifndef SkANGLEGLContext_DEFINED 9#define SkANGLEGLContext_DEFINED 10 11#if SK_ANGLE 12 13#include "SkGLContextHelper.h" 14 15#include <GLES2/gl2.h> 16#include <EGL/egl.h> 17 18class SkANGLEGLContext : public SkGLContextHelper { 19public: 20 SkANGLEGLContext(); 21 22 virtual ~SkANGLEGLContext(); 23 24 virtual void makeCurrent() const SK_OVERRIDE; 25 virtual void swapBuffers() const SK_OVERRIDE; 26 27 class AutoContextRestore { 28 public: 29 AutoContextRestore(); 30 ~AutoContextRestore(); 31 32 private: 33 EGLContext fOldEGLContext; 34 EGLDisplay fOldDisplay; 35 EGLSurface fOldSurface; 36 }; 37 38protected: 39 virtual const GrGLInterface* createGLContext() SK_OVERRIDE; 40 virtual void destroyGLContext() SK_OVERRIDE; 41 42private: 43 EGLContext fContext; 44 EGLDisplay fDisplay; 45 EGLSurface fSurface; 46}; 47 48#endif 49 50#endif 51