2005-04-22 21:09:39 +00:00
|
|
|
#ifndef EGLDISPLAY_INCLUDED
|
|
|
|
#define EGLDISPLAY_INCLUDED
|
|
|
|
|
2008-05-27 16:48:23 -06:00
|
|
|
#ifdef _EGL_PLATFORM_X
|
|
|
|
#include <X11/Xlib.h>
|
|
|
|
#endif
|
2005-04-22 21:09:39 +00:00
|
|
|
|
|
|
|
#include "egltypedefs.h"
|
|
|
|
|
|
|
|
|
|
|
|
struct _egl_display
|
|
|
|
{
|
2008-05-27 16:48:23 -06:00
|
|
|
EGLNativeDisplayType NativeDisplay;
|
2005-04-22 21:09:39 +00:00
|
|
|
EGLDisplay Handle;
|
|
|
|
|
2008-05-27 16:48:23 -06:00
|
|
|
const char *DriverName;
|
2008-05-28 12:56:36 -06:00
|
|
|
const char *DriverArgs;
|
2005-04-22 21:09:39 +00:00
|
|
|
_EGLDriver *Driver;
|
|
|
|
|
|
|
|
EGLint NumScreens;
|
2005-05-04 03:33:21 +00:00
|
|
|
_EGLScreen **Screens; /* array [NumScreens] */
|
2005-04-22 21:09:39 +00:00
|
|
|
|
|
|
|
EGLint NumConfigs;
|
2008-06-04 11:34:10 -06:00
|
|
|
_EGLConfig **Configs; /* array [NumConfigs] of ptr to _EGLConfig */
|
2008-05-27 16:48:23 -06:00
|
|
|
|
2009-07-17 11:48:27 -06:00
|
|
|
/* lists of linked contexts and surface */
|
|
|
|
_EGLContext *ContextList;
|
|
|
|
_EGLSurface *SurfaceList;
|
2008-05-27 16:48:23 -06:00
|
|
|
#ifdef _EGL_PLATFORM_X
|
|
|
|
Display *Xdpy;
|
|
|
|
#endif
|
2005-04-22 21:09:39 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
extern _EGLDisplay *
|
|
|
|
_eglNewDisplay(NativeDisplayType displayName);
|
|
|
|
|
|
|
|
|
2009-07-17 11:48:27 -06:00
|
|
|
extern EGLDisplay
|
|
|
|
_eglLinkDisplay(_EGLDisplay *dpy);
|
|
|
|
|
|
|
|
|
|
|
|
extern void
|
|
|
|
_eglUnlinkDisplay(_EGLDisplay *dpy);
|
|
|
|
|
|
|
|
|
|
|
|
extern EGLDisplay
|
2008-05-27 14:33:54 -06:00
|
|
|
_eglGetDisplayHandle(_EGLDisplay *display);
|
|
|
|
|
|
|
|
|
2005-04-22 21:09:39 +00:00
|
|
|
extern _EGLDisplay *
|
|
|
|
_eglLookupDisplay(EGLDisplay dpy);
|
|
|
|
|
|
|
|
|
2008-05-27 16:48:23 -06:00
|
|
|
extern void
|
2009-07-17 11:48:27 -06:00
|
|
|
_eglCleanupDisplay(_EGLDisplay *disp);
|
|
|
|
|
|
|
|
|
|
|
|
extern EGLContext
|
|
|
|
_eglLinkContext(_EGLContext *ctx, _EGLDisplay *dpy);
|
2008-05-27 16:48:23 -06:00
|
|
|
|
|
|
|
|
2005-04-22 21:09:39 +00:00
|
|
|
extern void
|
2009-07-17 11:48:27 -06:00
|
|
|
_eglUnlinkContext(_EGLContext *ctx);
|
|
|
|
|
|
|
|
|
|
|
|
extern EGLContext
|
|
|
|
_eglGetContextHandle(_EGLContext *ctx);
|
|
|
|
|
|
|
|
|
|
|
|
extern _EGLContext *
|
|
|
|
_eglLookupContext(EGLContext ctx);
|
|
|
|
|
|
|
|
|
|
|
|
extern EGLSurface
|
|
|
|
_eglLinkSurface(_EGLSurface *surf, _EGLDisplay *dpy);
|
|
|
|
|
|
|
|
|
|
|
|
extern void
|
|
|
|
_eglUnlinkSurface(_EGLSurface *surf);
|
|
|
|
|
2005-05-13 18:31:35 +00:00
|
|
|
|
2009-07-17 11:48:27 -06:00
|
|
|
extern EGLSurface
|
|
|
|
_eglGetSurfaceHandle(_EGLSurface *);
|
2005-05-13 18:31:35 +00:00
|
|
|
|
|
|
|
|
2009-07-17 11:48:27 -06:00
|
|
|
extern _EGLSurface *
|
|
|
|
_eglLookupSurface(EGLSurface surf);
|
2005-04-22 21:09:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
#endif /* EGLDISPLAY_INCLUDED */
|