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 18 class SkANGLEGLContext : public SkGLContextHelper { 19 public: 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 38 protected: 39 virtual const GrGLInterface* createGLContext() SK_OVERRIDE; 40 virtual void destroyGLContext() SK_OVERRIDE; 41 42 private: 43 EGLContext fContext; 44 EGLDisplay fDisplay; 45 EGLSurface fSurface; 46 }; 47 48 #endif 49 50 #endif 51