blob: 10954c1c1a79ff1b02f5698d0d174bdd0c14d65c [file] [log] [blame]
/*
* 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