17c3bcf8f08ef1ba5445200223e6c700d4837fdf
[gltest.git] / eglbackend.h
1 #include "glwindow.h"
2
3 #include <EGL/egl.h>
4
5
6 /** Make an X window fit for GL. You have to manage the X window yourself! */
7 class EGLBackend : public GLBackend {
8 public:
9         /** Create a GL window class and find an appropriate visual */
10         EGLBackend() : display(EGL_NO_DISPLAY), context(EGL_NO_CONTEXT) {}
11         /** Fre all resources */
12         virtual ~EGLBackend();
13         
14         /** Initialize GL backend, choose visual configuration and return the ID */
15         virtual VisualID initialize(Display *display);
16         
17         /** create a GL context for the given window */
18         virtual void createContext(Window window);
19         
20         /** Swap back and front buffers */
21         virtual void swapBuffers() const;
22         
23         /** Set the swap interval */
24         virtual void setSwapInterval(int i) const;
25 private:
26         EGLDisplay display;
27         EGLConfig  config;
28         EGLSurface surface;
29         EGLContext context;
30 };