Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/linuxbsd_headers/X11/extensions/randr.h
9905 views
1
/*
2
* Copyright © 2000 Compaq Computer Corporation
3
* Copyright © 2002 Hewlett Packard Company
4
* Copyright © 2006 Intel Corporation
5
* Copyright © 2008 Red Hat, Inc.
6
*
7
* Permission to use, copy, modify, distribute, and sell this software and its
8
* documentation for any purpose is hereby granted without fee, provided that
9
* the above copyright notice appear in all copies and that both that copyright
10
* notice and this permission notice appear in supporting documentation, and
11
* that the name of the copyright holders not be used in advertising or
12
* publicity pertaining to distribution of the software without specific,
13
* written prior permission. The copyright holders make no representations
14
* about the suitability of this software for any purpose. It is provided "as
15
* is" without express or implied warranty.
16
*
17
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
18
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
19
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
20
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
21
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
22
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
23
* OF THIS SOFTWARE.
24
*
25
* Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc.
26
* Keith Packard, Intel Corporation
27
*/
28
29
#ifndef _RANDR_H_
30
#define _RANDR_H_
31
32
typedef unsigned short Rotation;
33
typedef unsigned short SizeID;
34
typedef unsigned short SubpixelOrder;
35
typedef unsigned short Connection;
36
typedef unsigned short XRandrRotation;
37
typedef unsigned short XRandrSizeID;
38
typedef unsigned short XRandrSubpixelOrder;
39
typedef unsigned long XRandrModeFlags;
40
41
#define RANDR_NAME "RANDR"
42
#define RANDR_MAJOR 1
43
#define RANDR_MINOR 6
44
45
#define RRNumberErrors 5
46
#define RRNumberEvents 2
47
#define RRNumberRequests 47
48
49
#define X_RRQueryVersion 0
50
/* we skip 1 to make old clients fail pretty immediately */
51
#define X_RROldGetScreenInfo 1
52
#define X_RR1_0SetScreenConfig 2
53
/* V1.0 apps share the same set screen config request id */
54
#define X_RRSetScreenConfig 2
55
#define X_RROldScreenChangeSelectInput 3
56
/* 3 used to be ScreenChangeSelectInput; deprecated */
57
#define X_RRSelectInput 4
58
#define X_RRGetScreenInfo 5
59
60
/* V1.2 additions */
61
#define X_RRGetScreenSizeRange 6
62
#define X_RRSetScreenSize 7
63
#define X_RRGetScreenResources 8
64
#define X_RRGetOutputInfo 9
65
#define X_RRListOutputProperties 10
66
#define X_RRQueryOutputProperty 11
67
#define X_RRConfigureOutputProperty 12
68
#define X_RRChangeOutputProperty 13
69
#define X_RRDeleteOutputProperty 14
70
#define X_RRGetOutputProperty 15
71
#define X_RRCreateMode 16
72
#define X_RRDestroyMode 17
73
#define X_RRAddOutputMode 18
74
#define X_RRDeleteOutputMode 19
75
#define X_RRGetCrtcInfo 20
76
#define X_RRSetCrtcConfig 21
77
#define X_RRGetCrtcGammaSize 22
78
#define X_RRGetCrtcGamma 23
79
#define X_RRSetCrtcGamma 24
80
81
/* V1.3 additions */
82
#define X_RRGetScreenResourcesCurrent 25
83
#define X_RRSetCrtcTransform 26
84
#define X_RRGetCrtcTransform 27
85
#define X_RRGetPanning 28
86
#define X_RRSetPanning 29
87
#define X_RRSetOutputPrimary 30
88
#define X_RRGetOutputPrimary 31
89
90
#define RRTransformUnit (1L << 0)
91
#define RRTransformScaleUp (1L << 1)
92
#define RRTransformScaleDown (1L << 2)
93
#define RRTransformProjective (1L << 3)
94
95
/* v1.4 */
96
#define X_RRGetProviders 32
97
#define X_RRGetProviderInfo 33
98
#define X_RRSetProviderOffloadSink 34
99
#define X_RRSetProviderOutputSource 35
100
#define X_RRListProviderProperties 36
101
#define X_RRQueryProviderProperty 37
102
#define X_RRConfigureProviderProperty 38
103
#define X_RRChangeProviderProperty 39
104
#define X_RRDeleteProviderProperty 40
105
#define X_RRGetProviderProperty 41
106
107
/* v1.5 */
108
#define X_RRGetMonitors 42
109
#define X_RRSetMonitor 43
110
#define X_RRDeleteMonitor 44
111
112
/* v1.6 */
113
#define X_RRCreateLease 45
114
#define X_RRFreeLease 46
115
116
/* Event selection bits */
117
#define RRScreenChangeNotifyMask (1L << 0)
118
/* V1.2 additions */
119
#define RRCrtcChangeNotifyMask (1L << 1)
120
#define RROutputChangeNotifyMask (1L << 2)
121
#define RROutputPropertyNotifyMask (1L << 3)
122
/* V1.4 additions */
123
#define RRProviderChangeNotifyMask (1L << 4)
124
#define RRProviderPropertyNotifyMask (1L << 5)
125
#define RRResourceChangeNotifyMask (1L << 6)
126
/* V1.6 additions */
127
#define RRLeaseNotifyMask (1L << 7)
128
129
/* Event codes */
130
#define RRScreenChangeNotify 0
131
/* V1.2 additions */
132
#define RRNotify 1
133
/* RRNotify Subcodes */
134
#define RRNotify_CrtcChange 0
135
#define RRNotify_OutputChange 1
136
#define RRNotify_OutputProperty 2
137
#define RRNotify_ProviderChange 3
138
#define RRNotify_ProviderProperty 4
139
#define RRNotify_ResourceChange 5
140
/* V1.6 additions */
141
#define RRNotify_Lease 6
142
/* used in the rotation field; rotation and reflection in 0.1 proto. */
143
#define RR_Rotate_0 1
144
#define RR_Rotate_90 2
145
#define RR_Rotate_180 4
146
#define RR_Rotate_270 8
147
148
/* new in 1.0 protocol, to allow reflection of screen */
149
150
#define RR_Reflect_X 16
151
#define RR_Reflect_Y 32
152
153
#define RRSetConfigSuccess 0
154
#define RRSetConfigInvalidConfigTime 1
155
#define RRSetConfigInvalidTime 2
156
#define RRSetConfigFailed 3
157
158
/* new in 1.2 protocol */
159
160
#define RR_HSyncPositive 0x00000001
161
#define RR_HSyncNegative 0x00000002
162
#define RR_VSyncPositive 0x00000004
163
#define RR_VSyncNegative 0x00000008
164
#define RR_Interlace 0x00000010
165
#define RR_DoubleScan 0x00000020
166
#define RR_CSync 0x00000040
167
#define RR_CSyncPositive 0x00000080
168
#define RR_CSyncNegative 0x00000100
169
#define RR_HSkewPresent 0x00000200
170
#define RR_BCast 0x00000400
171
#define RR_PixelMultiplex 0x00000800
172
#define RR_DoubleClock 0x00001000
173
#define RR_ClockDivideBy2 0x00002000
174
175
#define RR_Connected 0
176
#define RR_Disconnected 1
177
#define RR_UnknownConnection 2
178
179
#define BadRROutput 0
180
#define BadRRCrtc 1
181
#define BadRRMode 2
182
#define BadRRProvider 3
183
#define BadRRLease 4
184
185
/* Conventional RandR output properties */
186
187
#define RR_PROPERTY_BACKLIGHT "Backlight"
188
#define RR_PROPERTY_RANDR_EDID "EDID"
189
#define RR_PROPERTY_SIGNAL_FORMAT "SignalFormat"
190
#define RR_PROPERTY_SIGNAL_PROPERTIES "SignalProperties"
191
#define RR_PROPERTY_CONNECTOR_TYPE "ConnectorType"
192
#define RR_PROPERTY_CONNECTOR_NUMBER "ConnectorNumber"
193
#define RR_PROPERTY_COMPATIBILITY_LIST "CompatibilityList"
194
#define RR_PROPERTY_CLONE_LIST "CloneList"
195
#define RR_PROPERTY_BORDER "Border"
196
#define RR_PROPERTY_BORDER_DIMENSIONS "BorderDimensions"
197
#define RR_PROPERTY_GUID "GUID"
198
#define RR_PROPERTY_RANDR_TILE "TILE"
199
#define RR_PROPERTY_NON_DESKTOP "non-desktop"
200
201
/* roles this device can carry out */
202
#define RR_Capability_None 0
203
#define RR_Capability_SourceOutput 1
204
#define RR_Capability_SinkOutput 2
205
#define RR_Capability_SourceOffload 4
206
#define RR_Capability_SinkOffload 8
207
208
#endif /* _RANDR_H_ */
209
210