1 #ifndef EGLSURFACE_INCLUDED
2 #define EGLSURFACE_INCLUDED
5 #include "egltypedefs.h"
9 * "Base" class for device driver surfaces.
13 EGLSurface Handle
; /* The public/opaque handle which names this object */
16 /* May need reference counting here */
18 EGLBoolean DeletePending
;
20 EGLint Type
; /* one of EGL_WINDOW_BIT, EGL_PIXMAP_BIT or EGL_PBUFFER_BIT */
22 EGLint TextureFormat
, TextureTarget
;
23 EGLint MipmapTexture
, MipmapLevel
;
26 /* If type == EGL_SCREEN_BIT: */
27 EGLint VisibleRefCount
; /* number of screens I'm displayed on */
32 _eglInitSurface(_EGLSurface
*surf
);
36 _eglSaveSurface(_EGLSurface
*surf
);
40 _eglRemoveSurface(_EGLSurface
*surf
);
44 _eglLookupSurface(EGLSurface surf
);
48 _eglGetCurrentSurface(EGLint readdraw
);
52 _eglSwapBuffers(_EGLDriver
*drv
, EGLDisplay dpy
, EGLSurface draw
);
56 _eglCopyBuffers(_EGLDriver
*drv
, EGLDisplay dpy
, EGLSurface surface
, NativePixmapType target
);
60 _eglQuerySurface(_EGLDriver
*drv
, EGLDisplay dpy
, EGLSurface surface
, EGLint attribute
, EGLint
*value
);
64 _eglCreateWindowSurface(_EGLDriver
*drv
, EGLDisplay dpy
, EGLConfig config
, NativeWindowType window
, const EGLint
*attrib_list
);
68 _eglCreatePixmapSurface(_EGLDriver
*drv
, EGLDisplay dpy
, EGLConfig config
, NativePixmapType pixmap
, const EGLint
*attrib_list
);
72 _eglCreatePbufferSurface(_EGLDriver
*drv
, EGLDisplay dpy
, EGLConfig config
, const EGLint
*attrib_list
);
76 _eglDestroySurface(_EGLDriver
*drv
, EGLDisplay dpy
, EGLSurface surface
);
80 _eglSurfaceAttrib(_EGLDriver
*drv
, EGLDisplay dpy
, EGLSurface surface
, EGLint attribute
, EGLint value
);
84 _eglBindTexImage(_EGLDriver
*drv
, EGLDisplay dpy
, EGLSurface surface
, EGLint buffer
);
88 _eglReleaseTexImage(_EGLDriver
*drv
, EGLDisplay dpy
, EGLSurface surface
, EGLint buffer
);
92 _eglSwapInterval(_EGLDriver
*drv
, EGLDisplay dpy
, EGLint interval
);
96 #endif /* EGLSURFACE_INCLUDED */