SkANGLEGLContext.h revision 096defe64d408e54474fe19f418c95bf1a554fc7
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 26 class AutoContextRestore { 27 public: 28 AutoContextRestore(); 29 ~AutoContextRestore(); 30 31 private: 32 EGLContext fOldEGLContext; 33 EGLDisplay fOldDisplay; 34 EGLSurface fOldSurface; 35 }; 36 37protected: 38 virtual const GrGLInterface* createGLContext() SK_OVERRIDE; 39 virtual void destroyGLContext() SK_OVERRIDE; 40 41private: 42 EGLContext fContext; 43 EGLDisplay fDisplay; 44 EGLSurface fSurface; 45}; 46 47#endif 48 49#endif 50