blob: 6aa8518e532c12dcc45ba7ffdb55aa3c5e3dad6b [file] [log] [blame]
reed@google.com873cb1e2010-12-23 15:00:45 +00001#ifndef SkEGLContext_DEFINED
2#define SkEGLContext_DEFINED
reed@google.comc31ce102010-12-21 16:26:39 +00003
bungeman@google.com16bab872011-05-17 14:24:46 +00004#if defined(SK_BUILD_FOR_MAC)
5 #include <AGL/agl.h>
6#elif defined(SK_BUILD_FOR_UNIX)
7 #include <X11/Xlib.h>
8 #include <GL/glx.h>
9#else
10
11#endif
reed@google.comc31ce102010-12-21 16:26:39 +000012
reed@google.com873cb1e2010-12-23 15:00:45 +000013/**
14 * Create an offscreen opengl context
15 */
reed@google.comc31ce102010-12-21 16:26:39 +000016class SkEGLContext {
17public:
bungeman@google.com16bab872011-05-17 14:24:46 +000018 SkEGLContext();
19 ~SkEGLContext();
reed@google.comc31ce102010-12-21 16:26:39 +000020
bungeman@google.com16bab872011-05-17 14:24:46 +000021 bool init(int width, int height);
reed@google.comc31ce102010-12-21 16:26:39 +000022
23private:
bungeman@google.com16bab872011-05-17 14:24:46 +000024#if defined(SK_BUILD_FOR_MAC)
25 AGLContext context;
26#elif defined(SK_BUILD_FOR_UNIX)
27 GLXContext context;
28 Display *display;
29 Pixmap pixmap;
30 GLXPixmap glxPixmap;
31#else
32
33#endif
reed@google.comc31ce102010-12-21 16:26:39 +000034};
35
reed@google.com873cb1e2010-12-23 15:00:45 +000036#endif