skia2/include/gpu/gl/SkANGLEGLContext.h

50 lines
956 B
C++

/*
* 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 "SkGLContext.h"
#include <GLES2/gl2.h>
#include <EGL/egl.h>
class SkANGLEGLContext : public SkGLContext {
public:
SkANGLEGLContext();
virtual ~SkANGLEGLContext();
virtual void makeCurrent() const SK_OVERRIDE;
class AutoContextRestore {
public:
AutoContextRestore();
~AutoContextRestore();
private:
angle::EGLContext fOldEGLContext;
angle::EGLDisplay fOldDisplay;
angle::EGLSurface fOldSurface;
};
protected:
virtual const GrGLInterface* createGLContext() SK_OVERRIDE;
virtual void destroyGLContext() SK_OVERRIDE;
private:
angle::EGLContext fContext;
angle::EGLDisplay fDisplay;
angle::EGLSurface fSurface;
};
#endif
#endif