SDL-1.2.14
[sdl_omap.git] / src / video / Xext / extensions / xf86vmode.h
1 /* $XFree86: xc/include/extensions/xf86vmode.h,v 3.30 2001/05/07 20:09:50 mvojkovi Exp $ */
2 /*
3
4 Copyright 1995  Kaleb S. KEITHLEY
5
6 Permission is hereby granted, free of charge, to any person obtaining
7 a copy of this software and associated documentation files (the
8 "Software"), to deal in the Software without restriction, including
9 without limitation the rights to use, copy, modify, merge, publish,
10 distribute, sublicense, and/or sell copies of the Software, and to
11 permit persons to whom the Software is furnished to do so, subject to
12 the following conditions:
13
14 The above copyright notice and this permission notice shall be
15 included in all copies or substantial portions of the Software.
16
17 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES 
21 OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
22 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23 OTHER DEALINGS IN THE SOFTWARE.
24
25 Except as contained in this notice, the name of Kaleb S. KEITHLEY 
26 shall not be used in advertising or otherwise to promote the sale, use 
27 or other dealings in this Software without prior written authorization
28 from Kaleb S. KEITHLEY
29
30 */
31 /* $Xorg: xf86vmode.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ */
32
33 /* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
34
35 #ifndef _XF86VIDMODE_H_
36 #define _XF86VIDMODE_H_
37
38 #include <X11/Xfuncproto.h>
39 #include <X11/Xmd.h>
40 #include "SDL_name.h"
41
42 #define X_XF86VidModeQueryVersion       0
43 #define X_XF86VidModeGetModeLine        1
44 #define X_XF86VidModeModModeLine        2
45 #define X_XF86VidModeSwitchMode         3
46 #define X_XF86VidModeGetMonitor         4
47 #define X_XF86VidModeLockModeSwitch     5
48 #define X_XF86VidModeGetAllModeLines    6
49 #define X_XF86VidModeAddModeLine        7
50 #define X_XF86VidModeDeleteModeLine     8
51 #define X_XF86VidModeValidateModeLine   9
52 #define X_XF86VidModeSwitchToMode       10
53 #define X_XF86VidModeGetViewPort        11
54 #define X_XF86VidModeSetViewPort        12
55 /* new for version 2.x of this extension */
56 #define X_XF86VidModeGetDotClocks       13
57 #define X_XF86VidModeSetClientVersion   14
58 #define X_XF86VidModeSetGamma           15
59 #define X_XF86VidModeGetGamma           16
60 #define X_XF86VidModeGetGammaRamp       17
61 #define X_XF86VidModeSetGammaRamp       18
62 #define X_XF86VidModeGetGammaRampSize   19
63
64 #define CLKFLAG_PROGRAMABLE             1
65
66 #ifdef XF86VIDMODE_EVENTS
67 #define XF86VidModeNotify               0
68 #define XF86VidModeNumberEvents         (XF86VidModeNotify + 1)
69
70 #define XF86VidModeNotifyMask           0x00000001
71
72 #define XF86VidModeNonEvent             0
73 #define XF86VidModeModeChange           1
74 #else
75 #define XF86VidModeNumberEvents         0
76 #endif
77
78 #define XF86VidModeBadClock             0
79 #define XF86VidModeBadHTimings          1
80 #define XF86VidModeBadVTimings          2
81 #define XF86VidModeModeUnsuitable       3
82 #define XF86VidModeExtensionDisabled    4
83 #define XF86VidModeClientNotLocal       5
84 #define XF86VidModeZoomLocked           6
85 #define XF86VidModeNumberErrors         (XF86VidModeZoomLocked + 1)
86
87 #ifndef _XF86VIDMODE_SERVER_
88
89 typedef struct {
90     unsigned short      hdisplay;
91     unsigned short      hsyncstart;
92     unsigned short      hsyncend;
93     unsigned short      htotal;
94     unsigned short      hskew;
95     unsigned short      vdisplay;
96     unsigned short      vsyncstart;
97     unsigned short      vsyncend;
98     unsigned short      vtotal;
99     unsigned int        flags;
100     int                 privsize;
101 #if defined(__cplusplus) || defined(c_plusplus)
102     /* private is a C++ reserved word */
103     INT32               *c_private;
104 #else
105     INT32               *private;
106 #endif
107 } SDL_NAME(XF86VidModeModeLine);
108
109 typedef struct {
110     unsigned int        dotclock;
111     unsigned short      hdisplay;
112     unsigned short      hsyncstart;
113     unsigned short      hsyncend;
114     unsigned short      htotal;
115     unsigned short      hskew;
116     unsigned short      vdisplay;
117     unsigned short      vsyncstart;
118     unsigned short      vsyncend;
119     unsigned short      vtotal;
120     unsigned int        flags;
121     int                 privsize;
122 #if defined(__cplusplus) || defined(c_plusplus)
123     /* private is a C++ reserved word */
124     INT32               *c_private;
125 #else
126     INT32               *private;
127 #endif
128 } SDL_NAME(XF86VidModeModeInfo);
129
130 typedef struct {
131     float               hi;
132     float               lo;
133 } SDL_NAME(XF86VidModeSyncRange);
134
135 typedef struct {
136     char*                       vendor;
137     char*                       model;
138     float                       EMPTY;
139     unsigned char               nhsync;
140     SDL_NAME(XF86VidModeSyncRange)*     hsync;
141     unsigned char               nvsync;
142     SDL_NAME(XF86VidModeSyncRange)*     vsync;
143 } SDL_NAME(XF86VidModeMonitor);
144     
145 typedef struct {
146     int type;                   /* of event */
147     unsigned long serial;       /* # of last request processed by server */
148     Bool send_event;            /* true if this came from a SendEvent req */
149     Display *display;           /* Display the event was read from */
150     Window root;                /* root window of event screen */
151     int state;                  /* What happened */
152     int kind;                   /* What happened */
153     Bool forced;                /* extents of new region */
154     Time time;                  /* event timestamp */
155 } SDL_NAME(XF86VidModeNotifyEvent);
156
157 typedef struct {
158     float red;                  /* Red Gamma value */
159     float green;                /* Green Gamma value */
160     float blue;                 /* Blue Gamma value */
161 } SDL_NAME(XF86VidModeGamma);
162
163
164 #define SDL_XF86VidModeSelectNextMode(disp, scr) \
165         SDL_NAME(XF86VidModeSwitchMode)(disp, scr, 1)
166 #define SDL_XF86VidModeSelectPrevMode(disp, scr) \
167         SDL_NAME(XF86VidModeSwitchMode)(disp, scr, -1)
168
169 _XFUNCPROTOBEGIN
170
171 Bool SDL_NAME(XF86VidModeQueryVersion)(
172     Display*            /* dpy */,
173     int*                /* majorVersion */,
174     int*                /* minorVersion */
175 );
176
177 Bool SDL_NAME(XF86VidModeQueryExtension)(
178     Display*            /* dpy */,
179     int*                /* event_base */,
180     int*                /* error_base */
181 );
182
183 Bool SDL_NAME(XF86VidModeSetClientVersion)(
184     Display*            /* dpy */
185 );
186
187 Bool SDL_NAME(XF86VidModeGetModeLine)(
188     Display*                    /* dpy */,
189     int                         /* screen */,
190     int*                        /* dotclock */,
191     SDL_NAME(XF86VidModeModeLine)*      /* modeline */
192 );
193
194 Bool SDL_NAME(XF86VidModeGetAllModeLines)(
195     Display*                    /* dpy */,
196     int                         /* screen */,
197     int*                        /* modecount */,
198     SDL_NAME(XF86VidModeModeInfo)***    /* modelinesPtr */
199 );
200
201 Bool SDL_NAME(XF86VidModeAddModeLine)(
202     Display*                    /* dpy */,
203     int                         /* screen */,
204     SDL_NAME(XF86VidModeModeInfo)*      /* new modeline */,
205     SDL_NAME(XF86VidModeModeInfo)*      /* after modeline */
206 );
207
208 Bool SDL_NAME(XF86VidModeDeleteModeLine)(
209     Display*                    /* dpy */,
210     int                         /* screen */,
211     SDL_NAME(XF86VidModeModeInfo)*      /* modeline */
212 );
213
214 Bool SDL_NAME(XF86VidModeModModeLine)(
215     Display*                    /* dpy */,
216     int                         /* screen */,
217     SDL_NAME(XF86VidModeModeLine)*      /* modeline */
218 );
219
220 Status SDL_NAME(XF86VidModeValidateModeLine)(
221     Display*                    /* dpy */,
222     int                         /* screen */,
223     SDL_NAME(XF86VidModeModeInfo)*      /* modeline */
224 );
225
226 Bool SDL_NAME(XF86VidModeSwitchMode)(
227     Display*            /* dpy */,
228     int                 /* screen */,
229     int                 /* zoom */
230 );
231
232 Bool SDL_NAME(XF86VidModeSwitchToMode)(
233     Display*                    /* dpy */,
234     int                         /* screen */,
235     SDL_NAME(XF86VidModeModeInfo)*      /* modeline */
236 );
237
238 Bool SDL_NAME(XF86VidModeLockModeSwitch)(
239     Display*            /* dpy */,
240     int                 /* screen */,
241     int                 /* lock */
242 );
243
244 Bool SDL_NAME(XF86VidModeGetMonitor)(
245     Display*            /* dpy */,
246     int                 /* screen */,
247     SDL_NAME(XF86VidModeMonitor)*       /* monitor */
248 );
249
250 Bool SDL_NAME(XF86VidModeGetViewPort)(
251     Display*            /* dpy */,
252     int                 /* screen */,
253     int*                /* x return */,
254     int*                /* y return */
255 );
256
257 Bool SDL_NAME(XF86VidModeSetViewPort)(
258     Display*            /* dpy */,
259     int                 /* screen */,
260     int                 /* x */,
261     int                 /* y */
262 );
263
264 Bool SDL_NAME(XF86VidModeGetDotClocks)(
265     Display*            /* dpy */,
266     int                 /* screen */,
267     int*                /* flags return */,
268     int*                /* number of clocks return */,
269     int*                /* max dot clock return */,
270     int**               /* clocks return */
271 );
272
273 Bool SDL_NAME(XF86VidModeGetGamma)(
274     Display*                    /* dpy */,
275     int                         /* screen */,
276     SDL_NAME(XF86VidModeGamma)*         /* Gamma */
277 );
278
279 Bool SDL_NAME(XF86VidModeSetGamma)(
280     Display*                    /* dpy */,
281     int                         /* screen */,
282     SDL_NAME(XF86VidModeGamma)*         /* Gamma */
283 );
284
285 Bool SDL_NAME(XF86VidModeSetGammaRamp)(
286     Display*                    /* dpy */,
287     int                         /* screen */,
288     int                         /* size */, 
289     unsigned short*             /* red array */,
290     unsigned short*             /* green array */,
291     unsigned short*             /* blue array */
292 );
293
294 Bool SDL_NAME(XF86VidModeGetGammaRamp)(
295     Display*                    /* dpy */,
296     int                         /* screen */,
297     int                         /* size */,
298     unsigned short*             /* red array */,
299     unsigned short*             /* green array */,
300     unsigned short*             /* blue array */
301 );
302
303 Bool SDL_NAME(XF86VidModeGetGammaRampSize)(
304     Display*                    /* dpy */,
305     int                         /* screen */,
306     int*                        /* size */
307 );
308
309
310 _XFUNCPROTOEND
311
312 #endif
313
314 #endif