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 "SkGLContext.h" 14 15 #include <GLES2/gl2.h> 16 #include <EGL/egl.h> 17 18 class SkANGLEGLContext : public SkGLContext { 19 public: 20 SkANGLEGLContext(); 21 22 virtual ~SkANGLEGLContext(); 23 24 virtual void makeCurrent() const SK_OVERRIDE; 25 26 class AutoContextRestore { 27 public: 28 AutoContextRestore(); 29 ~AutoContextRestore(); 30 31 private: 32 EGLContext fOldEGLContext; 33 EGLDisplay fOldDisplay; 34 EGLSurface fOldSurface; 35 }; 36 37 protected: 38 virtual const GrGLInterface* createGLContext() SK_OVERRIDE; 39 virtual void destroyGLContext() SK_OVERRIDE; 40 41 private: 42 EGLContext fContext; 43 EGLDisplay fDisplay; 44 EGLSurface fSurface; 45 }; 46 47 #endif 48 49 #endif 50