1d1856b96b7a8a701d38edf04207983849a89e90
[mesa.git] / src / egl / main / eglscreen.h
1 #ifndef EGLSCREEN_INCLUDED
2 #define EGLSCREEN_INCLUDED
3
4
5 /* NOTE: there is no public EGLScreen type, we refers to screens with
6 * an integer.
7 */
8
9 struct _egl_screen
10 {
11 EGLScreenMESA Handle; /* The public/opaque handle which names this object */
12
13 _EGLMode *CurrentMode;
14 _EGLSurface *CurrentSurface;
15 EGLint OriginX, OriginY;
16
17 EGLint NumModes;
18 _EGLMode *Modes; /* array [NumModes] */
19 };
20
21
22 extern _EGLScreen *
23 _eglNewScreen(void);
24
25
26 extern _EGLScreen *
27 _eglLookupScreen(EGLDisplay dpy, EGLScreenMESA screen);
28
29
30 extern void
31 _eglAddScreen(_EGLDisplay *display, _EGLScreen *screen);
32
33
34 extern EGLBoolean
35 _eglGetScreensMESA(_EGLDriver *drv, EGLDisplay dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens);
36
37
38 extern EGLSurface
39 _eglCreateScreenSurfaceMESA(_EGLDriver *drv, EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
40
41
42 extern EGLBoolean
43 _eglShowSurfaceMESA(_EGLDriver *drv, EGLDisplay dpy, EGLScreenMESA screen, EGLSurface surface);
44
45
46 extern EGLBoolean
47 _eglScreenModeMESA(_EGLDriver *drv, EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA mode);
48
49
50 extern EGLBoolean
51 _eglScreenPositionMESA(_EGLDriver *drv, EGLDisplay dpy, EGLScreenMESA screen, EGLint x, EGLint y);
52
53
54 extern EGLBoolean
55 _eglQueryDisplayMESA(_EGLDriver *drv, EGLDisplay dpy, EGLint attribute, EGLint *value);
56
57
58 extern EGLBoolean
59 _eglQueryScreenSurfaceMESA(_EGLDriver *drv, EGLDisplay dpy,
60 EGLScreenMESA screen, EGLSurface *surface);
61
62
63 extern EGLBoolean
64 _eglQueryScreenModeMESA(_EGLDriver *drv, EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *mode);
65
66
67 extern EGLBoolean
68 _eglQueryScreenMESA(_EGLDriver *drv, EGLDisplay dpy, EGLScreenMESA screen, EGLint attribute, EGLint *value);
69
70
71 extern void
72 _eglDeleteScreen(_EGLScreen *scrn);
73
74
75 #endif /* EGLSCREEN_INCLUDED */