gallium: add target-helpers/wrap_screen.c to C_SOURCES
[mesa/mesa-lb.git] / src / egl / main / eglscreen.h
blob0fd71f71fc83cb89ec6c68e3c7ed606f362bc3fd
1 #ifndef EGLSCREEN_INCLUDED
2 #define EGLSCREEN_INCLUDED
5 #include "egltypedefs.h"
8 /**
9 * Per-screen information.
10 * Note that an EGL screen doesn't have a size. A screen may be set to
11 * one of several display modes (width/height/scanrate). The screen
12 * then displays a drawing surface. The drawing surface must be at least
13 * as large as the display mode's resolution. If it's larger, the
14 * OriginX and OriginY fields control what part of the surface is visible
15 * on the screen.
17 struct _egl_screen
19 EGLScreenMESA Handle; /* The public/opaque handle which names this object */
21 _EGLMode *CurrentMode;
22 _EGLSurface *CurrentSurface;
24 EGLint OriginX, OriginY; /**< Origin of scan-out region w.r.t. surface */
25 EGLint StepX, StepY; /**< Screen position/origin granularity */
27 EGLint NumModes;
28 _EGLMode *Modes; /**< array [NumModes] */
32 PUBLIC void
33 _eglInitScreen(_EGLScreen *screen);
36 extern _EGLScreen *
37 _eglLookupScreen(EGLScreenMESA screen, _EGLDisplay *dpy);
40 PUBLIC void
41 _eglAddScreen(_EGLDisplay *display, _EGLScreen *screen);
44 extern EGLBoolean
45 _eglGetScreensMESA(_EGLDriver *drv, _EGLDisplay *dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens);
48 extern _EGLSurface *
49 _eglCreateScreenSurfaceMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *conf, const EGLint *attrib_list);
52 extern EGLBoolean
53 _eglShowScreenSurfaceMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn, _EGLSurface *surf, _EGLMode *m);
56 extern EGLBoolean
57 _eglScreenModeMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn, _EGLMode *m);
60 extern EGLBoolean
61 _eglScreenPositionMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn, EGLint x, EGLint y);
64 extern EGLBoolean
65 _eglQueryDisplayMESA(_EGLDriver *drv, _EGLDisplay *dpy, EGLint attribute, EGLint *value);
68 extern EGLBoolean
69 _eglQueryScreenSurfaceMESA(_EGLDriver *drv, _EGLDisplay *dpy,
70 _EGLScreen *scrn, _EGLSurface **surface);
73 extern EGLBoolean
74 _eglQueryScreenModeMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn, _EGLMode **m);
77 extern EGLBoolean
78 _eglQueryScreenMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn, EGLint attribute, EGLint *value);
81 extern void
82 _eglDestroyScreenModes(_EGLScreen *scrn);
85 PUBLIC void
86 _eglDestroyScreen(_EGLScreen *scrn);
89 #endif /* EGLSCREEN_INCLUDED */