1 #ifndef EGLSCREEN_INCLUDED
2 #define EGLSCREEN_INCLUDED
6 * Per-screen information.
7 * Note that an EGL screen doesn't have a size. A screen may be set to
8 * one of several display modes (width/height/scanrate). The screen
9 * then displays a drawing surface. The drawing surface must be at least
10 * as large as the display mode's resolution. If it's larger, the
11 * OriginX and OriginY fields control what part of the surface is visible
16 EGLScreenMESA Handle
; /* The public/opaque handle which names this object */
18 _EGLMode
*CurrentMode
;
19 _EGLSurface
*CurrentSurface
;
21 EGLint OriginX
, OriginY
; /**< Origin of scan-out region w.r.t. surface */
22 EGLint StepX
, StepY
; /**< Screen position/origin granularity */
25 _EGLMode
*Modes
; /**< array [NumModes] */
30 _eglAllocScreenHandle(void);
34 _eglInitScreen(_EGLScreen
*screen
);
38 _eglLookupScreen(EGLScreenMESA screen
, _EGLDisplay
*dpy
);
42 _eglAddScreen(_EGLDisplay
*display
, _EGLScreen
*screen
);
46 _eglGetScreensMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, EGLScreenMESA
*screens
, EGLint max_screens
, EGLint
*num_screens
);
50 _eglCreateScreenSurfaceMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, _EGLConfig
*conf
, const EGLint
*attrib_list
);
54 _eglShowScreenSurfaceMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, _EGLScreen
*scrn
, _EGLSurface
*surf
, _EGLMode
*m
);
58 _eglScreenModeMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, _EGLScreen
*scrn
, _EGLMode
*m
);
62 _eglScreenPositionMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, _EGLScreen
*scrn
, EGLint x
, EGLint y
);
66 _eglQueryDisplayMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, EGLint attribute
, EGLint
*value
);
70 _eglQueryScreenSurfaceMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
,
71 _EGLScreen
*scrn
, _EGLSurface
**surface
);
75 _eglQueryScreenModeMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, _EGLScreen
*scrn
, _EGLMode
**m
);
79 _eglQueryScreenMESA(_EGLDriver
*drv
, _EGLDisplay
*dpy
, _EGLScreen
*scrn
, EGLint attribute
, EGLint
*value
);
83 _eglDestroyScreenModes(_EGLScreen
*scrn
);
87 _eglDestroyScreen(_EGLScreen
*scrn
);
90 #endif /* EGLSCREEN_INCLUDED */