2
* $XFree86: xc/programs/Xserver/randr/randrstr.h,v 1.5 2002/09/29 23:39:45 keithp Exp $
4
* Copyright © 2000 Compaq Computer Corporation
6
* Permission to use, copy, modify, distribute, and sell this software and its
7
* documentation for any purpose is hereby granted without fee, provided that
8
* the above copyright notice appear in all copies and that both that
9
* copyright notice and this permission notice appear in supporting
10
* documentation, and that the name of Compaq not be used in
11
* advertising or publicity pertaining to distribution of the software without
12
* specific, written prior permission. Compaq makes no
13
* representations about the suitability of this software for any purpose. It
14
* is provided "as is" without express or implied warranty.
16
* COMPAQ DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18
* EVENT SHALL COMPAQ BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22
* PERFORMANCE OF THIS SOFTWARE.
25
#ifdef HAVE_DIX_CONFIG_H
26
#include <dix-config.h>
32
#include <X11/extensions/randr.h>
34
typedef struct _rrScreenRate {
38
} RRScreenRate, *RRScreenRatePtr;
40
typedef struct _rrScreenSize {
43
short mmWidth, mmHeight;
44
RRScreenRatePtr pRates;
49
} RRScreenSize, *RRScreenSizePtr;
51
typedef Bool (*RRSetConfigProcPtr) (ScreenPtr pScreen,
54
RRScreenSizePtr pSize);
56
typedef Bool (*RRGetInfoProcPtr) (ScreenPtr pScreen, Rotation *rotations);
57
typedef Bool (*RRCloseScreenProcPtr) ( int i, ScreenPtr pscreen);
59
typedef struct _rrScrPriv {
60
RRSetConfigProcPtr rrSetConfig;
61
RRGetInfoProcPtr rrGetInfo;
63
TimeStamp lastSetTime; /* last changed by client */
64
TimeStamp lastConfigTime; /* possible configs changed */
65
RRCloseScreenProcPtr CloseScreen;
68
* Configuration information
74
RRScreenSizePtr pSizes;
82
} rrScrPrivRec, *rrScrPrivPtr;
84
extern int rrPrivIndex;
86
#define rrGetScrPriv(pScr) ((rrScrPrivPtr) (pScr)->devPrivates[rrPrivIndex].ptr)
87
#define rrScrPriv(pScr) rrScrPrivPtr pScrPriv = rrGetScrPriv(pScr)
88
#define SetRRScreen(s,p) ((s)->devPrivates[rrPrivIndex].ptr = (pointer) (p))
90
/* Initialize the extension */
92
RRExtensionInit (void);
95
* Then, register the specific size with the screen
99
RRRegisterSize (ScreenPtr pScreen,
105
Bool RRRegisterRate (ScreenPtr pScreen,
106
RRScreenSizePtr pSize,
110
* Finally, set the current configuration of the screen
114
RRSetCurrentConfig (ScreenPtr pScreen,
117
RRScreenSizePtr pSize);
119
Bool RRScreenInit(ScreenPtr pScreen);
122
RRSetScreenConfig (ScreenPtr pScreen,
125
RRScreenSizePtr pSize);
128
miRandRInit (ScreenPtr pScreen);
131
miRRGetInfo (ScreenPtr pScreen, Rotation *rotations);
134
miRRSetConfig (ScreenPtr pScreen,
137
RRScreenSizePtr size);
140
miRRGetScreenInfo (ScreenPtr pScreen);
142
#endif /* _RANDRSTR_H_ */