blob: ff623ee1c666474649034ae51197546a3b193ec0 [file] [log] [blame]
Brian Pauladbff7e2005-04-22 21:09:39 +00001#ifndef EGLDISPLAY_INCLUDED
2#define EGLDISPLAY_INCLUDED
3
Brian Paul6052af12008-05-27 16:48:23 -06004#ifdef _EGL_PLATFORM_X
5#include <X11/Xlib.h>
6#endif
Brian Pauladbff7e2005-04-22 21:09:39 +00007
8#include "egltypedefs.h"
9
10
11struct _egl_display
12{
Brian Paul6052af12008-05-27 16:48:23 -060013 EGLNativeDisplayType NativeDisplay;
Brian Pauladbff7e2005-04-22 21:09:39 +000014 EGLDisplay Handle;
15
Brian Paul6052af12008-05-27 16:48:23 -060016 const char *DriverName;
Brian Paul0c8908c2008-05-28 12:56:36 -060017 const char *DriverArgs;
Brian Pauladbff7e2005-04-22 21:09:39 +000018 _EGLDriver *Driver;
19
20 EGLint NumScreens;
Brian Paulc22990c2005-05-04 03:33:21 +000021 _EGLScreen **Screens; /* array [NumScreens] */
Brian Pauladbff7e2005-04-22 21:09:39 +000022
23 EGLint NumConfigs;
Brian Paul97035cb2008-06-04 11:34:10 -060024 _EGLConfig **Configs; /* array [NumConfigs] of ptr to _EGLConfig */
Brian Paul6052af12008-05-27 16:48:23 -060025
26#ifdef _EGL_PLATFORM_X
27 Display *Xdpy;
28#endif
Brian Pauladbff7e2005-04-22 21:09:39 +000029};
30
31
32extern _EGLDisplay *
33_eglNewDisplay(NativeDisplayType displayName);
34
35
Brian Paul721ba152008-05-27 14:33:54 -060036EGLDisplay
37_eglGetDisplayHandle(_EGLDisplay *display);
38
39
Brian Pauladbff7e2005-04-22 21:09:39 +000040extern _EGLDisplay *
41_eglLookupDisplay(EGLDisplay dpy);
42
43
Brian Paul6052af12008-05-27 16:48:23 -060044extern void
45_eglSaveDisplay(_EGLDisplay *dpy);
46
47
Brian Pauladbff7e2005-04-22 21:09:39 +000048extern _EGLDisplay *
49_eglGetCurrentDisplay(void);
50
51
52extern void
Jon Smirl7012d012005-05-13 18:31:35 +000053_eglCleanupDisplay(_EGLDisplay *disp);
54
55
56extern EGLBoolean
57_eglQueryDisplayMESA(_EGLDriver *drv, EGLDisplay dpy, EGLint attrib, EGLint *value);
58
Brian Pauladbff7e2005-04-22 21:09:39 +000059
60
61#endif /* EGLDISPLAY_INCLUDED */