1f05b35a2Smrg/*
2f05b35a2Smrg
3f05b35a2SmrgCopyright 2003  The Open Group
4f05b35a2Smrg
5f05b35a2SmrgPermission to use, copy, modify, distribute, and sell this software and its
6f05b35a2Smrgdocumentation for any purpose is hereby granted without fee, provided that
7f05b35a2Smrgthe above copyright notice appear in all copies and that both that
8f05b35a2Smrgcopyright notice and this permission notice appear in supporting
9f05b35a2Smrgdocumentation.
10f05b35a2Smrg
11f05b35a2SmrgThe above copyright notice and this permission notice shall be included in
12f05b35a2Smrgall copies or substantial portions of the Software.
13f05b35a2Smrg
14f05b35a2SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15f05b35a2SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16f05b35a2SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
17f05b35a2SmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18f05b35a2SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19f05b35a2SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20f05b35a2Smrg
21f05b35a2SmrgExcept as contained in this notice, the name of The Open Group shall not be
22f05b35a2Smrgused in advertising or otherwise to promote the sale, use or other dealings
23f05b35a2Smrgin this Software without prior written authorization from The Open Group.
24f05b35a2Smrg
25f05b35a2Smrg*/
26f05b35a2Smrg
27f05b35a2Smrg#ifndef _Xinerama_h
28f05b35a2Smrg#define _Xinerama_h
29f05b35a2Smrg
30f05b35a2Smrg#include <X11/Xlib.h>
31f05b35a2Smrg
32f05b35a2Smrgtypedef struct {
33f05b35a2Smrg   int   screen_number;
34f05b35a2Smrg   short x_org;
35f05b35a2Smrg   short y_org;
36f05b35a2Smrg   short width;
37f05b35a2Smrg   short height;
38f05b35a2Smrg} XineramaScreenInfo;
39f05b35a2Smrg
40f05b35a2Smrg_XFUNCPROTOBEGIN
41f05b35a2Smrg
42f05b35a2SmrgBool XineramaQueryExtension (
43f05b35a2Smrg   Display *dpy,
44f05b35a2Smrg   int     *event_base,
45f05b35a2Smrg   int     *error_base
46f05b35a2Smrg);
47f05b35a2Smrg
48f05b35a2SmrgStatus XineramaQueryVersion(
49f05b35a2Smrg   Display *dpy,
50f05b35a2Smrg   int     *major_versionp,
51f05b35a2Smrg   int     *minor_versionp
52f05b35a2Smrg);
53f05b35a2Smrg
54f05b35a2SmrgBool XineramaIsActive(Display *dpy);
55f05b35a2Smrg
56f05b35a2Smrg
5767ab2ff2Smrg/*
58f05b35a2Smrg   Returns the number of heads and a pointer to an array of
59f05b35a2Smrg   structures describing the position and size of the individual
60f05b35a2Smrg   heads.  Returns NULL and number = 0 if Xinerama is not active.
6167ab2ff2Smrg
62f05b35a2Smrg   Returned array should be freed with XFree().
63f05b35a2Smrg*/
64f05b35a2Smrg
6567ab2ff2SmrgXineramaScreenInfo *
66f05b35a2SmrgXineramaQueryScreens(
67f05b35a2Smrg   Display *dpy,
68f05b35a2Smrg   int     *number
69f05b35a2Smrg);
70f05b35a2Smrg
71f05b35a2Smrg_XFUNCPROTOEND
72f05b35a2Smrg
73f05b35a2Smrg#endif /* _Xinerama_h */
74f05b35a2Smrg
75