Merge branch 'master' into gallium-0.2
[mesa.git] / src / egl / main / egldisplay.h
1 #ifndef EGLDISPLAY_INCLUDED
2 #define EGLDISPLAY_INCLUDED
3
4 #ifdef _EGL_PLATFORM_X
5 #include <X11/Xlib.h>
6 #endif
7
8 #include "egltypedefs.h"
9
10
11 struct _egl_display
12 {
13 EGLNativeDisplayType NativeDisplay;
14 EGLDisplay Handle;
15
16 const char *DriverName;
17 const char *DriverArgs;
18 _EGLDriver *Driver;
19
20 EGLint NumScreens;
21 _EGLScreen **Screens; /* array [NumScreens] */
22
23 EGLint NumConfigs;
24 _EGLConfig **Configs; /* array [NumConfigs] of ptr to _EGLConfig */
25
26 #ifdef _EGL_PLATFORM_X
27 Display *Xdpy;
28 #endif
29 };
30
31
32 extern _EGLDisplay *
33 _eglNewDisplay(NativeDisplayType displayName);
34
35
36 EGLDisplay
37 _eglGetDisplayHandle(_EGLDisplay *display);
38
39
40 extern _EGLDisplay *
41 _eglLookupDisplay(EGLDisplay dpy);
42
43
44 extern void
45 _eglSaveDisplay(_EGLDisplay *dpy);
46
47
48 extern _EGLDisplay *
49 _eglGetCurrentDisplay(void);
50
51
52 extern void
53 _eglCleanupDisplay(_EGLDisplay *disp);
54
55
56 extern EGLBoolean
57 _eglQueryDisplayMESA(_EGLDriver *drv, EGLDisplay dpy, EGLint attrib, EGLint *value);
58
59
60
61 #endif /* EGLDISPLAY_INCLUDED */