d3b9fbbc48
http://codereview.appspot.com/5940046/ git-svn-id: http://skia.googlecode.com/svn/trunk@3519 2bbb7eff-a529-9590-31e7-b0007b416f81
50 lines
956 B
C++
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
|