1 #ifndef EGLSCREEN_INCLUDED
2 #define EGLSCREEN_INCLUDED
5 #include "egltypedefs.h"
8 #ifdef EGL_MESA_screen_surface
12 * Per-screen information.
13 * Note that an EGL screen doesn't have a size. A screen may be set to
14 * one of several display modes (width/height/scanrate). The screen
15 * then displays a drawing surface. The drawing surface must be at least
16 * as large as the display mode's resolution. If it's larger, the
17 * OriginX and OriginY fields control what part of the surface is visible
22 EGLScreenMESA Handle
; /* The public/opaque handle which names this object */
24 _EGLMode
*CurrentMode
;
25 _EGLSurface
*CurrentSurface
;
27 EGLint OriginX
, OriginY
; /**< Origin of scan-out region w.r.t. surface */
28 EGLint StepX
, StepY
; /**< Screen position/origin granularity */
31 _EGLMode
*Modes
; /**< array [NumModes] */
36 _eglInitScreen(_EGLScreen
*screen
);
40 _eglLookupScreen(EGLScreenMESA screen
, _EGLDisplay
*dpy
);
44 _eglAddScreen(_EGLDisplay
*display
, _EGLScreen
*screen
);
48 _eglGetScreensMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, EGLScreenMESA
*screens
, EGLint max_screens
, EGLint
*num_screens
);
52 _eglCreateScreenSurfaceMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, _EGLConfig
*conf
, const EGLint
*attrib_list
);
56 _eglShowScreenSurfaceMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, _EGLScreen
*scrn
, _EGLSurface
*surf
, _EGLMode
*m
);
60 _eglScreenModeMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, _EGLScreen
*scrn
, _EGLMode
*m
);
64 _eglScreenPositionMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, _EGLScreen
*scrn
, EGLint x
, EGLint y
);
68 _eglQueryDisplayMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, EGLint attribute
, EGLint
*value
);
72 _eglQueryScreenSurfaceMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
,
73 _EGLScreen
*scrn
, _EGLSurface
**surface
);
77 _eglQueryScreenModeMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, _EGLScreen
*scrn
, _EGLMode
**m
);
81 _eglQueryScreenMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, _EGLScreen
*scrn
, EGLint attribute
, EGLint
*value
);
85 _eglDestroyScreenModes(_EGLScreen
*scrn
);
89 _eglDestroyScreen(_EGLScreen
*scrn
);
92 #endif /* EGL_MESA_screen_surface */
95 #endif /* EGLSCREEN_INCLUDED */