aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/gpu/SkNativeGLContext.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/gpu/SkNativeGLContext.h')
-rw-r--r--include/gpu/SkNativeGLContext.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/gpu/SkNativeGLContext.h b/include/gpu/SkNativeGLContext.h
index 512e66a3ab..f2037cfb79 100644
--- a/include/gpu/SkNativeGLContext.h
+++ b/include/gpu/SkNativeGLContext.h
@@ -28,6 +28,24 @@ public:
virtual void makeCurrent() const SK_OVERRIDE;
+ class AutoContextRestore {
+ public:
+ AutoContextRestore();
+ ~AutoContextRestore();
+
+ private:
+ #if defined(SK_BUILD_FOR_MAC)
+ AGLContext fOldAGLContext;
+ #elif defined(SK_BUILD_FOR_UNIX)
+ GLXContext fOldGLXContext;
+ Display* fOldDisplay;
+ GLXDrawable fOldDrawable;
+ #elif defined(SK_BUILD_FOR_WIN32)
+ HDC fOldHDC;
+ HGLRC fOldHGLRC;
+ #endif
+ };
+
protected:
virtual const GrGLInterface* createGLContext() SK_OVERRIDE;
void destroyGLContext() SK_OVERRIDE;