• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
315