blob: 10954c1c1a79ff1b02f5698d0d174bdd0c14d65c [file] [log] [blame]
robertphillips@google.comd3b9fbb2012-03-28 16:19:11 +00001
2/*
3 * Copyright 2012 Google Inc.
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8#ifndef SkANGLEGLContext_DEFINED
9#define SkANGLEGLContext_DEFINED
10
11#if SK_ANGLE
12
13#include "SkGLContext.h"
14
15#include <GLES2/gl2.h>
16#include <EGL/egl.h>
17
18class SkANGLEGLContext : public SkGLContext {
19public:
20 SkANGLEGLContext();
21
22 virtual ~SkANGLEGLContext();
23
24 virtual void makeCurrent() const SK_OVERRIDE;
25
26 class AutoContextRestore {
27 public:
28 AutoContextRestore();
29 ~AutoContextRestore();
30
31 private:
32 angle::EGLContext fOldEGLContext;
33 angle::EGLDisplay fOldDisplay;
34 angle::EGLSurface fOldSurface;
35 };
36
37protected:
38 virtual const GrGLInterface* createGLContext() SK_OVERRIDE;
39 virtual void destroyGLContext() SK_OVERRIDE;
40
41private:
42 angle::EGLContext fContext;
43 angle::EGLDisplay fDisplay;
44 angle::EGLSurface fSurface;
45};
46
47#endif
48
49#endif