types for Mesa implementation of EGL

This commit is contained in:
Brian Paul 2005-04-22 21:16:28 +00:00
parent 11b0a76370
commit 20d44dc9bc
1 changed files with 34 additions and 38 deletions

View File

@ -1,48 +1,44 @@
/* /*
* egltypes.h - EGL API compatibility ** egltypes.h for Mesa
* **
* The intention here is to support multiple EGL implementations for the ** ONLY egl.h SHOULD INCLUDE THIS FILE!
* various backends - GLX, AGL, WGL, Solo - so we define the EGL types as **
* opaque handles. We also define the Native types as opaque handles for ** See comments about egltypes.h in the standard egl.h file.
* now, which should be fine for GLX and Solo but the others who knows.
* They can extend this later.
*
* We require that 'int' be 32 bits. Other than that this should be pretty
* portable.
*
* Derived from the OpenGL|ES 1.1 egl.h on the Khronos website:
* http://www.khronos.org/opengles/spec_headers/opengles1_1/egl.h
*
*/ */
#ifndef _EGLTYPES_H
#define _EGLTYPES_H
#include <sys/types.h> #include <sys/types.h>
/* /*
* Native types ** These opaque EGL types are implemented as unsigned 32-bit integers:
*/ */
typedef u_int32_t EGLDisplay;
typedef u_int32_t EGLConfig;
typedef u_int32_t EGLSurface;
typedef u_int32_t EGLContext;
/* EGL_MESA_screen_surface */
typedef u_int32_t EGLModeMESA;
/*
** Other basic EGL types:
*/
typedef u_int8_t EGLBoolean;
typedef int32_t EGLint;
typedef void * NativeDisplayType; typedef void * NativeDisplayType;
typedef void *NativePixmapType; typedef int NativePixmapType;
typedef void *NativeWindowType; typedef int NativeWindowType;
/* /*
* Types and resources ** EGL and native handle null values:
*/
typedef GLboolean EGLBoolean;
typedef GLint EGLint;
typedef void *EGLDisplay;
typedef void *EGLConfig;
typedef void *EGLSurface;
typedef void *EGLContext;
/*
* EGL and native handle values
*/ */
#define EGL_DEFAULT_DISPLAY ((NativeDisplayType) 0) #define EGL_DEFAULT_DISPLAY ((NativeDisplayType) 0)
#define EGL_NO_CONTEXT ((EGLContext) 0) #define EGL_NO_CONTEXT ((EGLContext) 0)
#define EGL_NO_DISPLAY ((EGLDisplay) 0) #define EGL_NO_DISPLAY ((EGLDisplay) 0)
#define EGL_NO_SURFACE ((EGLSurface) 0) #define EGL_NO_SURFACE ((EGLSurface) 0)
#endif /* _EGLTYPES_H */ /* EGL_MESA_screen_surface */
#define EGL_NO_MODE_MESA ((EGLModeMESA) 0)