blob: ced31a5b85dda1a209689dddc5d3ce85c8520d89 [file] [log] [blame]
#ifndef SkEGLContext_DEFINED
#define SkEGLContext_DEFINED
#if defined(SK_MESA)
#include "GL/osmesa.h"
#elif defined(SK_BUILD_FOR_MAC)
#include <AGL/agl.h>
#elif defined(SK_BUILD_FOR_ANDROID)
#include "GLES2/gl2.h"
#include "EGL/egl.h"
#elif defined(SK_BUILD_FOR_UNIX)
#include <X11/Xlib.h>
#include <GL/glx.h>
#elif defined(SK_BUILD_FOR_WIN32)
#include <Windows.h>
#include <GL/GL.h>
#else
#endif
/**
* Create an offscreen opengl context
*/
class SkEGLContext {
public:
SkEGLContext();
~SkEGLContext();
bool init(const int width, const int height);
private:
#if defined(SK_MESA)
OSMesaContext context;
GLfloat *image;
#elif defined(SK_BUILD_FOR_MAC)
AGLContext context;
#elif defined(SK_BUILD_FOR_ANDROID)
#elif defined(SK_BUILD_FOR_UNIX)
GLXContext context;
Display *display;
Pixmap pixmap;
GLXPixmap glxPixmap;
#elif defined(SK_BUILD_FOR_WIN32)
HWND fWindow;
HDC fDeviceContext;
HGLRC fGlRenderContext;
#else
#endif
};
#endif