Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / include / gpu / gl / SkANGLEGLContext.h
index 99ef4e9..797e997 100644 (file)
 
 #if SK_ANGLE
 
-#include "SkGLContextHelper.h"
+#include "SkGLContext.h"
 
 #include <GLES2/gl2.h>
 #include <EGL/egl.h>
 
-class SkANGLEGLContext : public SkGLContextHelper {
+class SkANGLEGLContext : public SkGLContext {
 public:
-    SkANGLEGLContext();
-
-    virtual ~SkANGLEGLContext();
-
+    virtual ~SkANGLEGLContext() SK_OVERRIDE;
     virtual void makeCurrent() const SK_OVERRIDE;
     virtual void swapBuffers() const SK_OVERRIDE;
 
-    class AutoContextRestore {
-    public:
-        AutoContextRestore();
-        ~AutoContextRestore();
-
-    private:
-        EGLContext fOldEGLContext;
-        EGLDisplay fOldDisplay;
-        EGLSurface fOldSurface;
-    };
-
-protected:
-    virtual const GrGLInterface* createGLContext() SK_OVERRIDE;
-    virtual void destroyGLContext() SK_OVERRIDE;
+    static SkANGLEGLContext* Create(GrGLStandard forcedGpuAPI) {
+        if (kGL_GrGLStandard == forcedGpuAPI) {
+            return NULL;
+        }
+        SkANGLEGLContext* ctx = SkNEW(SkANGLEGLContext);
+        if (!ctx->isValid()) {
+            SkDELETE(ctx);
+            return NULL;
+        }
+        return ctx;
+    }
 
 private:
+    SkANGLEGLContext();
+    void destroyGLContext();
+
     EGLContext fContext;
     EGLDisplay fDisplay;
     EGLSurface fSurface;