Commit 9acfa3b2 authored by Mike Gabriel's avatar Mike Gabriel

randrproto: It was discovered that nx-libs shipped two different version of…

randrproto: It was discovered that nx-libs shipped two different version of randr.h and randrproto.h. This commit leaves the newer file versions in the package and let's the build process use those everywhere.
parent f4f0b449
/* /*
* $XFree86: xc/include/extensions/randr.h,v 1.4 2001/11/24 07:24:58 keithp Exp $ * Copyright © 2000 Compaq Computer Corporation
* * Copyright © 2002 Hewlett Packard Company
* Copyright © 2000, Compaq Computer Corporation, * Copyright © 2006 Intel Corporation
* Copyright © 2002, Hewlett Packard, Inc. * Copyright © 2008 Red Hat, Inc.
* *
* Permission to use, copy, modify, distribute, and sell this software and its * Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that * documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that * the above copyright notice appear in all copies and that both that copyright
* copyright notice and this permission notice appear in supporting * notice and this permission notice appear in supporting documentation, and
* documentation, and that the name of Compaq or HP not be used in advertising * that the name of the copyright holders not be used in advertising or
* or publicity pertaining to distribution of the software without specific, * publicity pertaining to distribution of the software without specific,
* written prior permission. HP makes no representations about the * written prior permission. The copyright holders make no representations
* suitability of this software for any purpose. It is provided "as is" * about the suitability of this software for any purpose. It is provided "as
* without express or implied warranty. * is" without express or implied warranty.
* *
* HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL HP * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
* *
* Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc. * Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc.
* Keith Packard, Intel Corporation
*/ */
#ifndef _RANDR_H_ #ifndef _RANDR_H_
...@@ -30,13 +32,19 @@ ...@@ -30,13 +32,19 @@
typedef unsigned short Rotation; typedef unsigned short Rotation;
typedef unsigned short SizeID; typedef unsigned short SizeID;
typedef unsigned short SubpixelOrder; typedef unsigned short SubpixelOrder;
typedef unsigned short Connection;
typedef unsigned short XRandrRotation;
typedef unsigned short XRandrSizeID;
typedef unsigned short XRandrSubpixelOrder;
typedef unsigned long XRandrModeFlags;
#define RANDR_NAME "RANDR" #define RANDR_NAME "RANDR"
#define RANDR_MAJOR 1 #define RANDR_MAJOR 1
#define RANDR_MINOR 1 #define RANDR_MINOR 5
#define RRNumberErrors 0 #define RRNumberErrors 4
#define RRNumberEvents 1 #define RRNumberEvents 2
#define RRNumberRequests 45
#define X_RRQueryVersion 0 #define X_RRQueryVersion 0
/* we skip 1 to make old clients fail pretty immediately */ /* we skip 1 to make old clients fail pretty immediately */
...@@ -49,12 +57,80 @@ typedef unsigned short SubpixelOrder; ...@@ -49,12 +57,80 @@ typedef unsigned short SubpixelOrder;
#define X_RRSelectInput 4 #define X_RRSelectInput 4
#define X_RRGetScreenInfo 5 #define X_RRGetScreenInfo 5
/* used in XRRSelectInput */ /* V1.2 additions */
#define X_RRGetScreenSizeRange 6
#define X_RRSetScreenSize 7
#define X_RRGetScreenResources 8
#define X_RRGetOutputInfo 9
#define X_RRListOutputProperties 10
#define X_RRQueryOutputProperty 11
#define X_RRConfigureOutputProperty 12
#define X_RRChangeOutputProperty 13
#define X_RRDeleteOutputProperty 14
#define X_RRGetOutputProperty 15
#define X_RRCreateMode 16
#define X_RRDestroyMode 17
#define X_RRAddOutputMode 18
#define X_RRDeleteOutputMode 19
#define X_RRGetCrtcInfo 20
#define X_RRSetCrtcConfig 21
#define X_RRGetCrtcGammaSize 22
#define X_RRGetCrtcGamma 23
#define X_RRSetCrtcGamma 24
/* V1.3 additions */
#define X_RRGetScreenResourcesCurrent 25
#define X_RRSetCrtcTransform 26
#define X_RRGetCrtcTransform 27
#define X_RRGetPanning 28
#define X_RRSetPanning 29
#define X_RRSetOutputPrimary 30
#define X_RRGetOutputPrimary 31
#define RRTransformUnit (1L << 0)
#define RRTransformScaleUp (1L << 1)
#define RRTransformScaleDown (1L << 2)
#define RRTransformProjective (1L << 3)
/* v1.4 */
#define X_RRGetProviders 32
#define X_RRGetProviderInfo 33
#define X_RRSetProviderOffloadSink 34
#define X_RRSetProviderOutputSource 35
#define X_RRListProviderProperties 36
#define X_RRQueryProviderProperty 37
#define X_RRConfigureProviderProperty 38
#define X_RRChangeProviderProperty 39
#define X_RRDeleteProviderProperty 40
#define X_RRGetProviderProperty 41
/* v1.5 */
#define X_RRGetMonitors 42
#define X_RRSetMonitor 43
#define X_RRDeleteMonitor 44
/* Event selection bits */
#define RRScreenChangeNotifyMask (1L << 0) #define RRScreenChangeNotifyMask (1L << 0)
/* V1.2 additions */
#define RRCrtcChangeNotifyMask (1L << 1)
#define RROutputChangeNotifyMask (1L << 2)
#define RROutputPropertyNotifyMask (1L << 3)
/* V1.4 additions */
#define RRProviderChangeNotifyMask (1L << 4)
#define RRProviderPropertyNotifyMask (1L << 5)
#define RRResourceChangeNotifyMask (1L << 6)
/* Event codes */
#define RRScreenChangeNotify 0 #define RRScreenChangeNotify 0
/* V1.2 additions */
#define RRNotify 1
/* RRNotify Subcodes */
#define RRNotify_CrtcChange 0
#define RRNotify_OutputChange 1
#define RRNotify_OutputProperty 2
#define RRNotify_ProviderChange 3
#define RRNotify_ProviderProperty 4
#define RRNotify_ResourceChange 5
/* used in the rotation field; rotation and reflection in 0.1 proto. */ /* used in the rotation field; rotation and reflection in 0.1 proto. */
#define RR_Rotate_0 1 #define RR_Rotate_0 1
#define RR_Rotate_90 2 #define RR_Rotate_90 2
...@@ -71,4 +147,52 @@ typedef unsigned short SubpixelOrder; ...@@ -71,4 +147,52 @@ typedef unsigned short SubpixelOrder;
#define RRSetConfigInvalidTime 2 #define RRSetConfigInvalidTime 2
#define RRSetConfigFailed 3 #define RRSetConfigFailed 3
/* new in 1.2 protocol */
#define RR_HSyncPositive 0x00000001
#define RR_HSyncNegative 0x00000002
#define RR_VSyncPositive 0x00000004
#define RR_VSyncNegative 0x00000008
#define RR_Interlace 0x00000010
#define RR_DoubleScan 0x00000020
#define RR_CSync 0x00000040
#define RR_CSyncPositive 0x00000080
#define RR_CSyncNegative 0x00000100
#define RR_HSkewPresent 0x00000200
#define RR_BCast 0x00000400
#define RR_PixelMultiplex 0x00000800
#define RR_DoubleClock 0x00001000
#define RR_ClockDivideBy2 0x00002000
#define RR_Connected 0
#define RR_Disconnected 1
#define RR_UnknownConnection 2
#define BadRROutput 0
#define BadRRCrtc 1
#define BadRRMode 2
#define BadRRProvider 3
/* Conventional RandR output properties */
#define RR_PROPERTY_BACKLIGHT "Backlight"
#define RR_PROPERTY_RANDR_EDID "EDID"
#define RR_PROPERTY_SIGNAL_FORMAT "SignalFormat"
#define RR_PROPERTY_SIGNAL_PROPERTIES "SignalProperties"
#define RR_PROPERTY_CONNECTOR_TYPE "ConnectorType"
#define RR_PROPERTY_CONNECTOR_NUMBER "ConnectorNumber"
#define RR_PROPERTY_COMPATIBILITY_LIST "CompatibilityList"
#define RR_PROPERTY_CLONE_LIST "CloneList"
#define RR_PROPERTY_BORDER "Border"
#define RR_PROPERTY_BORDER_DIMENSIONS "BorderDimensions"
#define RR_PROPERTY_GUID "GUID"
#define RR_PROPERTY_RANDR_TILE "TILE"
/* roles this device can carry out */
#define RR_Capability_None 0
#define RR_Capability_SourceOutput 1
#define RR_Capability_SinkOutput 2
#define RR_Capability_SourceOffload 4
#define RR_Capability_SinkOffload 8
#endif /* _RANDR_H_ */ #endif /* _RANDR_H_ */
/* /*
* $XFree86: xc/include/extensions/randrproto.h,v 1.6 2002/09/29 23:39:43 keithp Exp $
*
* Copyright © 2000 Compaq Computer Corporation * Copyright © 2000 Compaq Computer Corporation
* Copyright © 2002 Hewlett-Packard Company * Copyright © 2002 Hewlett-Packard Company
* Copyright © 2006 Intel Corporation
* Copyright © 2008 Red Hat, Inc.
* *
* Permission to use, copy, modify, distribute, and sell this software and its * Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that * documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that * the above copyright notice appear in all copies and that both that copyright
* copyright notice and this permission notice appear in supporting * notice and this permission notice appear in supporting documentation, and
* documentation, and that the name of Compaq or HP not be used in advertising * that the name of the copyright holders not be used in advertising or
* or publicity pertaining to distribution of the software without specific, * publicity pertaining to distribution of the software without specific,
* written prior permission. Compaq and HP makes no representations about the * written prior permission. The copyright holders make no representations
* suitability of this software for any purpose. It is provided "as is" * about the suitability of this software for any purpose. It is provided "as
* without express or implied warranty. * is" without express or implied warranty.
* *
* HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL COMPAQ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
* *
* Author: Jim Gettys, Hewlett-Packard Company, Inc. * Author: Jim Gettys, Hewlett-Packard Company, Inc.
* Keith Packard, Intel Corporation
*/ */
/* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */ /* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */
...@@ -29,7 +31,8 @@ ...@@ -29,7 +31,8 @@
#ifndef _XRANDRP_H_ #ifndef _XRANDRP_H_
#define _XRANDRP_H_ #define _XRANDRP_H_
#include <X11/extensions/randr.h> #include <nx-X11/extensions/randr.h>
#include <nx-X11/extensions/renderproto.h>
#define Window CARD32 #define Window CARD32
#define Drawable CARD32 #define Drawable CARD32
...@@ -42,6 +45,12 @@ ...@@ -42,6 +45,12 @@
#define Time CARD32 #define Time CARD32
#define KeyCode CARD8 #define KeyCode CARD8
#define KeySym CARD32 #define KeySym CARD32
#define RROutput CARD32
#define RRMode CARD32
#define RRCrtc CARD32
#define RRProvider CARD32
#define RRModeFlags CARD32
#define Atom CARD32
#define Rotation CARD16 #define Rotation CARD16
#define SizeID CARD16 #define SizeID CARD16
...@@ -57,6 +66,7 @@ typedef struct { ...@@ -57,6 +66,7 @@ typedef struct {
CARD16 widthInMillimeters B16; CARD16 widthInMillimeters B16;
CARD16 heightInMillimeters B16; CARD16 heightInMillimeters B16;
} xScreenSizes; } xScreenSizes;
#define sz_xScreenSizes 8 #define sz_xScreenSizes 8
/* /*
...@@ -70,6 +80,7 @@ typedef struct { ...@@ -70,6 +80,7 @@ typedef struct {
CARD32 majorVersion B32; CARD32 majorVersion B32;
CARD32 minorVersion B32; CARD32 minorVersion B32;
} xRRQueryVersionReq; } xRRQueryVersionReq;
#define sz_xRRQueryVersionReq 12 #define sz_xRRQueryVersionReq 12
typedef struct { typedef struct {
...@@ -84,6 +95,7 @@ typedef struct { ...@@ -84,6 +95,7 @@ typedef struct {
CARD32 pad4 B32; CARD32 pad4 B32;
CARD32 pad5 B32; CARD32 pad5 B32;
} xRRQueryVersionReply; } xRRQueryVersionReply;
#define sz_xRRQueryVersionReply 32 #define sz_xRRQueryVersionReply 32
typedef struct { typedef struct {
...@@ -92,6 +104,7 @@ typedef struct { ...@@ -92,6 +104,7 @@ typedef struct {
CARD16 length B16; CARD16 length B16;
Window window B32; Window window B32;
} xRRGetScreenInfoReq; } xRRGetScreenInfoReq;
#define sz_xRRGetScreenInfoReq 8 #define sz_xRRGetScreenInfoReq 8
/* /*
...@@ -100,7 +113,6 @@ typedef struct { ...@@ -100,7 +113,6 @@ typedef struct {
* the size information * the size information
*/ */
typedef struct { typedef struct {
BYTE type; /* X_Reply */ BYTE type; /* X_Reply */
BYTE setOfRotations; BYTE setOfRotations;
...@@ -116,6 +128,7 @@ typedef struct { ...@@ -116,6 +128,7 @@ typedef struct {
CARD16 nrateEnts B16; CARD16 nrateEnts B16;
CARD16 pad B16; CARD16 pad B16;
} xRRGetScreenInfoReply; } xRRGetScreenInfoReply;
#define sz_xRRGetScreenInfoReply 32 #define sz_xRRGetScreenInfoReply 32
typedef struct { typedef struct {
...@@ -128,6 +141,7 @@ typedef struct { ...@@ -128,6 +141,7 @@ typedef struct {
SizeID sizeID B16; SizeID sizeID B16;
Rotation rotation B16; Rotation rotation B16;
} xRR1_0SetScreenConfigReq; } xRR1_0SetScreenConfigReq;
#define sz_xRR1_0SetScreenConfigReq 20 #define sz_xRR1_0SetScreenConfigReq 20
typedef struct { typedef struct {
...@@ -142,6 +156,7 @@ typedef struct { ...@@ -142,6 +156,7 @@ typedef struct {
CARD16 rate B16; CARD16 rate B16;
CARD16 pad B16; CARD16 pad B16;
} xRRSetScreenConfigReq; } xRRSetScreenConfigReq;
#define sz_xRRSetScreenConfigReq 24 #define sz_xRRSetScreenConfigReq 24
typedef struct { typedef struct {
...@@ -157,6 +172,7 @@ typedef struct { ...@@ -157,6 +172,7 @@ typedef struct {
CARD32 pad5 B32; CARD32 pad5 B32;
CARD32 pad6 B32; CARD32 pad6 B32;
} xRRSetScreenConfigReply; } xRRSetScreenConfigReply;
#define sz_xRRSetScreenConfigReply 32 #define sz_xRRSetScreenConfigReply 32
typedef struct { typedef struct {
...@@ -167,43 +183,988 @@ typedef struct { ...@@ -167,43 +183,988 @@ typedef struct {
CARD16 enable B16; CARD16 enable B16;
CARD16 pad2 B16; CARD16 pad2 B16;
} xRRSelectInputReq; } xRRSelectInputReq;
#define sz_xRRSelectInputReq 12
#define sz_xRRSelectInputReq 12 #define sz_xRRSelectInputReq 12
/* /*
* event * Additions for version 1.2
*/ */
typedef struct _xRRModeInfo {
RRMode id B32;
CARD16 width B16;
CARD16 height B16;
CARD32 dotClock B32;
CARD16 hSyncStart B16;
CARD16 hSyncEnd B16;
CARD16 hTotal B16;
CARD16 hSkew B16;
CARD16 vSyncStart B16;
CARD16 vSyncEnd B16;
CARD16 vTotal B16;
CARD16 nameLength B16;
RRModeFlags modeFlags B32;
} xRRModeInfo;
#define sz_xRRModeInfo 32
typedef struct { typedef struct {
CARD8 type; /* always evBase + ScreenChangeNotify */ CARD8 reqType;
CARD8 rotation; /* new rotation */ CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetScreenSizeRangeReq;
#define sz_xRRGetScreenSizeRangeReq 8
typedef struct {
BYTE type; /* X_Reply */
CARD8 pad;
CARD16 sequenceNumber B16; CARD16 sequenceNumber B16;
Time timestamp B32; /* time screen was changed */ CARD32 length B32;
Time configTimestamp B32; /* time config data was changed */ CARD16 minWidth B16;
Window root B32; /* root window */ CARD16 minHeight B16;
Window window B32; /* window requesting notification */ CARD16 maxWidth B16;
SizeID sizeID B16; /* new size ID */ CARD16 maxHeight B16;
CARD16 subpixelOrder B16; /* subpixel order */ CARD32 pad0 B32;
CARD16 widthInPixels B16; /* new size */ CARD32 pad1 B32;
CARD16 heightInPixels B16; CARD32 pad2 B32;
CARD16 widthInMillimeters B16; CARD32 pad3 B32;
CARD16 heightInMillimeters B16; } xRRGetScreenSizeRangeReply;
} xRRScreenChangeNotifyEvent;
#define sz_xRRScreenChangeNotifyEvent 32
#undef Window #define sz_xRRGetScreenSizeRangeReply 32
#undef Drawable
#undef Font typedef struct {
#undef Pixmap CARD8 reqType;
#undef Cursor CARD8 randrReqType;
#undef Colormap CARD16 length B16;
#undef GContext Window window B32;
#undef Atom CARD16 width B16;
#undef Time CARD16 height B16;
#undef KeyCode CARD32 widthInMillimeters B32;
#undef KeySym CARD32 heightInMillimeters B32;
#undef Rotation } xRRSetScreenSizeReq;
#undef SizeID
#undef SubpixelOrder #define sz_xRRSetScreenSizeReq 20
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetScreenResourcesReq;
#define sz_xRRGetScreenResourcesReq 8
typedef struct {
BYTE type;
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
Time configTimestamp B32;
CARD16 nCrtcs B16;
CARD16 nOutputs B16;
CARD16 nModes B16;
CARD16 nbytesNames B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
} xRRGetScreenResourcesReply;
#define sz_xRRGetScreenResourcesReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Time configTimestamp B32;
} xRRGetOutputInfoReq;
#define sz_xRRGetOutputInfoReq 12
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
RRCrtc crtc B32;
CARD32 mmWidth B32;
CARD32 mmHeight B32;
CARD8 connection;
CARD8 subpixelOrder;
CARD16 nCrtcs B16;
CARD16 nModes B16;
CARD16 nPreferred B16;
CARD16 nClones B16;
CARD16 nameLength B16;
} xRRGetOutputInfoReply;
#define sz_xRRGetOutputInfoReply 36
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
} xRRListOutputPropertiesReq;
#define sz_xRRListOutputPropertiesReq 8
typedef struct {
BYTE type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 nAtoms B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRListOutputPropertiesReply;
#define sz_xRRListOutputPropertiesReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
} xRRQueryOutputPropertyReq;
#define sz_xRRQueryOutputPropertyReq 12
typedef struct {
BYTE type;
BYTE pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
BOOL pending;
BOOL range;
BOOL immutable;
BYTE pad1;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRQueryOutputPropertyReply;
#define sz_xRRQueryOutputPropertyReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
BOOL pending;
BOOL range;
CARD16 pad B16;
} xRRConfigureOutputPropertyReq;
#define sz_xRRConfigureOutputPropertyReq 16
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
Atom type B32;
CARD8 format;
CARD8 mode;
CARD16 pad;
CARD32 nUnits B32;
} xRRChangeOutputPropertyReq;
#define sz_xRRChangeOutputPropertyReq 24
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
} xRRDeleteOutputPropertyReq;
#define sz_xRRDeleteOutputPropertyReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
Atom type B32;
CARD32 longOffset B32;
CARD32 longLength B32;
#ifdef __cplusplus
BOOL _delete;
#else
BOOL delete;
#endif
BOOL pending;
CARD16 pad1 B16;
} xRRGetOutputPropertyReq;
#define sz_xRRGetOutputPropertyReq 28
typedef struct {
BYTE type;
CARD8 format;
CARD16 sequenceNumber B16;
CARD32 length B32;
Atom propertyType B32;
CARD32 bytesAfter B32;
CARD32 nItems B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xRRGetOutputPropertyReply;
#define sz_xRRGetOutputPropertyReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
xRRModeInfo modeInfo;
} xRRCreateModeReq;
#define sz_xRRCreateModeReq 40
typedef struct {
BYTE type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
RRMode mode B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRCreateModeReply;
#define sz_xRRCreateModeReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRMode mode B32;
} xRRDestroyModeReq;
#define sz_xRRDestroyModeReq 8
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
RRMode mode B32;
} xRRAddOutputModeReq;
#define sz_xRRAddOutputModeReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
RRMode mode B32;
} xRRDeleteOutputModeReq;
#define sz_xRRDeleteOutputModeReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
Time configTimestamp B32;
} xRRGetCrtcInfoReq;
#define sz_xRRGetCrtcInfoReq 12
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
INT16 x B16;
INT16 y B16;
CARD16 width B16;
CARD16 height B16;
RRMode mode B32;
Rotation rotation B16;
Rotation rotations B16;
CARD16 nOutput B16;
CARD16 nPossibleOutput B16;
} xRRGetCrtcInfoReply;
#define sz_xRRGetCrtcInfoReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
Time timestamp B32;
Time configTimestamp B32;
INT16 x B16;
INT16 y B16;
RRMode mode B32;
Rotation rotation B16;
CARD16 pad B16;
} xRRSetCrtcConfigReq;
#define sz_xRRSetCrtcConfigReq 28
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time newTimestamp B32;
CARD32 pad1 B32;
CARD32 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRSetCrtcConfigReply;
#define sz_xRRSetCrtcConfigReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
} xRRGetCrtcGammaSizeReq;
#define sz_xRRGetCrtcGammaSizeReq 8
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 size B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRGetCrtcGammaSizeReply;
#define sz_xRRGetCrtcGammaSizeReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
} xRRGetCrtcGammaReq;
#define sz_xRRGetCrtcGammaReq 8
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 size B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRGetCrtcGammaReply;
#define sz_xRRGetCrtcGammaReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
CARD16 size B16;
CARD16 pad1 B16;
} xRRSetCrtcGammaReq;
#define sz_xRRSetCrtcGammaReq 12
/*
* Additions for V1.3
*/
typedef xRRGetScreenResourcesReq xRRGetScreenResourcesCurrentReq;
#define sz_xRRGetScreenResourcesCurrentReq sz_xRRGetScreenResourcesReq
typedef xRRGetScreenResourcesReply xRRGetScreenResourcesCurrentReply;
#define sz_xRRGetScreenResourcesCurrentReply sz_xRRGetScreenResourcesReply
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
xRenderTransform transform;
CARD16 nbytesFilter; /* number of bytes in filter name */
CARD16 pad B16;
} xRRSetCrtcTransformReq;
#define sz_xRRSetCrtcTransformReq 48
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
} xRRGetCrtcTransformReq;
#define sz_xRRGetCrtcTransformReq 8
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
xRenderTransform pendingTransform;
BYTE hasTransforms;
CARD8 pad0;
CARD16 pad1 B16;
xRenderTransform currentTransform;
CARD32 pad2 B32;
CARD16 pendingNbytesFilter B16; /* number of bytes in filter name */
CARD16 pendingNparamsFilter B16; /* number of filter params */
CARD16 currentNbytesFilter B16; /* number of bytes in filter name */
CARD16 currentNparamsFilter B16; /* number of filter params */
} xRRGetCrtcTransformReply;
#define sz_xRRGetCrtcTransformReply 96
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
RROutput output B32;
} xRRSetOutputPrimaryReq;
#define sz_xRRSetOutputPrimaryReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetOutputPrimaryReq;
#define sz_xRRGetOutputPrimaryReq 8
typedef struct {
BYTE type;
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
RROutput output B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRGetOutputPrimaryReply;
#define sz_xRRGetOutputPrimaryReply 32
/*
* Additions for V1.4
*/
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetProvidersReq;
#define sz_xRRGetProvidersReq 8
typedef struct {
BYTE type;
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
CARD16 nProviders;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRGetProvidersReply;
#define sz_xRRGetProvidersReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Time configTimestamp B32;
} xRRGetProviderInfoReq;
#define sz_xRRGetProviderInfoReq 12
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
CARD32 capabilities B32;
CARD16 nCrtcs B16;
CARD16 nOutputs B16;
CARD16 nAssociatedProviders B16;
CARD16 nameLength B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
} xRRGetProviderInfoReply;
#define sz_xRRGetProviderInfoReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
RRProvider source_provider B32;
Time configTimestamp B32;
} xRRSetProviderOutputSourceReq;
#define sz_xRRSetProviderOutputSourceReq 16
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
RRProvider sink_provider B32;
Time configTimestamp B32;
} xRRSetProviderOffloadSinkReq;
#define sz_xRRSetProviderOffloadSinkReq 16
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
} xRRListProviderPropertiesReq;
#define sz_xRRListProviderPropertiesReq 8
typedef struct {
BYTE type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 nAtoms B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRListProviderPropertiesReply;
#define sz_xRRListProviderPropertiesReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
} xRRQueryProviderPropertyReq;
#define sz_xRRQueryProviderPropertyReq 12
typedef struct {
BYTE type;
BYTE pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
BOOL pending;
BOOL range;
BOOL immutable;
BYTE pad1;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRQueryProviderPropertyReply;
#define sz_xRRQueryProviderPropertyReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
BOOL pending;
BOOL range;
CARD16 pad B16;
} xRRConfigureProviderPropertyReq;
#define sz_xRRConfigureProviderPropertyReq 16
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
Atom type B32;
CARD8 format;
CARD8 mode;
CARD16 pad;
CARD32 nUnits B32;
} xRRChangeProviderPropertyReq;
#define sz_xRRChangeProviderPropertyReq 24
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
} xRRDeleteProviderPropertyReq;
#define sz_xRRDeleteProviderPropertyReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
Atom type B32;
CARD32 longOffset B32;
CARD32 longLength B32;
#ifdef __cplusplus
BOOL _delete;
#else
BOOL delete;
#endif
BOOL pending;
CARD16 pad1 B16;
} xRRGetProviderPropertyReq;
#define sz_xRRGetProviderPropertyReq 28
typedef struct {
BYTE type;
CARD8 format;
CARD16 sequenceNumber B16;
CARD32 length B32;
Atom propertyType B32;
CARD32 bytesAfter B32;
CARD32 nItems B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xRRGetProviderPropertyReply;
#define sz_xRRGetProviderPropertyReply 32
/*
* event
*/
typedef struct {
CARD8 type; /* always evBase + ScreenChangeNotify */
CARD8 rotation; /* new rotation */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time screen was changed */
Time configTimestamp B32; /* time config data was changed */
Window root B32; /* root window */
Window window B32; /* window requesting notification */
SizeID sizeID B16; /* new size ID */
CARD16 subpixelOrder B16; /* subpixel order */
CARD16 widthInPixels B16; /* new size */
CARD16 heightInPixels B16;
CARD16 widthInMillimeters B16;
CARD16 heightInMillimeters B16;
} xRRScreenChangeNotifyEvent;
#define sz_xRRScreenChangeNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_CrtcChange */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time crtc was changed */
Window window B32; /* window requesting notification */
RRCrtc crtc B32; /* affected CRTC */
RRMode mode B32; /* current mode */
CARD16 rotation B16; /* rotation and reflection */
CARD16 pad1 B16; /* unused */
INT16 x B16; /* new location */
INT16 y B16;
CARD16 width B16; /* new size */
CARD16 height B16;
} xRRCrtcChangeNotifyEvent;
#define sz_xRRCrtcChangeNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_OutputChange */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time output was changed */
Time configTimestamp B32; /* time config was changed */
Window window B32; /* window requesting notification */
RROutput output B32; /* affected output */
RRCrtc crtc B32; /* current crtc */
RRMode mode B32; /* current mode */
CARD16 rotation B16; /* rotation and reflection */
CARD8 connection; /* connection status */
CARD8 subpixelOrder; /* subpixel order */
} xRROutputChangeNotifyEvent;
#define sz_xRROutputChangeNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_OutputProperty */
CARD16 sequenceNumber B16;
Window window B32; /* window requesting notification */
RROutput output B32; /* affected output */
Atom atom B32; /* property name */
Time timestamp B32; /* time crtc was changed */
CARD8 state; /* NewValue or Deleted */
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xRROutputPropertyNotifyEvent;
#define sz_xRROutputPropertyNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_ProviderChange */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time provider was changed */
Window window B32; /* window requesting notification */
RRProvider provider B32; /* affected provider */
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xRRProviderChangeNotifyEvent;
#define sz_xRRProviderChangeNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_ProviderProperty */
CARD16 sequenceNumber B16;
Window window B32; /* window requesting notification */
RRProvider provider B32; /* affected provider */
Atom atom B32; /* property name */
Time timestamp B32; /* time provider was changed */
CARD8 state; /* NewValue or Deleted */
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xRRProviderPropertyNotifyEvent;
#define sz_xRRProviderPropertyNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_ResourceChange */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time resource was changed */
Window window B32; /* window requesting notification */
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRResourceChangeNotifyEvent;
#define sz_xRRResourceChangeNotifyEvent 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
} xRRGetPanningReq;
#define sz_xRRGetPanningReq 8
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
CARD16 left B16;
CARD16 top B16;
CARD16 width B16;
CARD16 height B16;
CARD16 track_left B16;
CARD16 track_top B16;
CARD16 track_width B16;
CARD16 track_height B16;
INT16 border_left B16;
INT16 border_top B16;
INT16 border_right B16;
INT16 border_bottom B16;
} xRRGetPanningReply;
#define sz_xRRGetPanningReply 36
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
Time timestamp B32;
CARD16 left B16;
CARD16 top B16;
CARD16 width B16;
CARD16 height B16;
CARD16 track_left B16;
CARD16 track_top B16;
CARD16 track_width B16;
CARD16 track_height B16;
INT16 border_left B16;
INT16 border_top B16;
INT16 border_right B16;
INT16 border_bottom B16;
} xRRSetPanningReq;
#define sz_xRRSetPanningReq 36
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time newTimestamp B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRSetPanningReply;
#define sz_xRRSetPanningReply 32
typedef struct {
Atom name B32;
BOOL primary;
BOOL automatic;
CARD16 noutput B16;
INT16 x B16;
INT16 y B16;
CARD16 width B16;
CARD16 height B16;
CARD32 widthInMillimeters B32;
CARD32 heightInMillimeters B32;
} xRRMonitorInfo;
#define sz_xRRMonitorInfo 24
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
BOOL get_active;
CARD8 pad;
CARD16 pad2;
} xRRGetMonitorsReq;
#define sz_xRRGetMonitorsReq 12
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
CARD32 nmonitors B32;
CARD32 noutputs B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xRRGetMonitorsReply;
#define sz_xRRGetMonitorsReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
xRRMonitorInfo monitor;
} xRRSetMonitorReq;
#define sz_xRRSetMonitorReq 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
Atom name B32;
} xRRDeleteMonitorReq;
#define sz_xRRDeleteMonitorReq 12
#undef RRModeFlags
#undef RRCrtc
#undef RRMode
#undef RROutput
#undef RRMode
#undef RRCrtc
#undef RRProvider
#undef Drawable
#undef Window
#undef Font
#undef Pixmap
#undef Cursor
#undef Colormap
#undef GContext
#undef Atom
#undef Time
#undef KeyCode
#undef KeySym
#undef Rotation
#undef SizeID
#undef SubpixelOrder
#undef Atom
#endif /* _XRANDRP_H_ */ #endif /* _XRANDRP_H_ */
/*
* Copyright © 2000 Compaq Computer Corporation
* Copyright © 2002 Hewlett Packard Company
* Copyright © 2006 Intel Corporation
* Copyright © 2008 Red Hat, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting documentation, and
* that the name of the copyright holders not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. The copyright holders make no representations
* about the suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*
* Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc.
* Keith Packard, Intel Corporation
*/
#ifndef _RANDR_H_
#define _RANDR_H_
typedef unsigned short Rotation;
typedef unsigned short SizeID;
typedef unsigned short SubpixelOrder;
typedef unsigned short Connection;
typedef unsigned short XRandrRotation;
typedef unsigned short XRandrSizeID;
typedef unsigned short XRandrSubpixelOrder;
typedef unsigned long XRandrModeFlags;
#define RANDR_NAME "RANDR"
#define RANDR_MAJOR 1
#define RANDR_MINOR 5
#define RRNumberErrors 4
#define RRNumberEvents 2
#define RRNumberRequests 45
#define X_RRQueryVersion 0
/* we skip 1 to make old clients fail pretty immediately */
#define X_RROldGetScreenInfo 1
#define X_RR1_0SetScreenConfig 2
/* V1.0 apps share the same set screen config request id */
#define X_RRSetScreenConfig 2
#define X_RROldScreenChangeSelectInput 3
/* 3 used to be ScreenChangeSelectInput; deprecated */
#define X_RRSelectInput 4
#define X_RRGetScreenInfo 5
/* V1.2 additions */
#define X_RRGetScreenSizeRange 6
#define X_RRSetScreenSize 7
#define X_RRGetScreenResources 8
#define X_RRGetOutputInfo 9
#define X_RRListOutputProperties 10
#define X_RRQueryOutputProperty 11
#define X_RRConfigureOutputProperty 12
#define X_RRChangeOutputProperty 13
#define X_RRDeleteOutputProperty 14
#define X_RRGetOutputProperty 15
#define X_RRCreateMode 16
#define X_RRDestroyMode 17
#define X_RRAddOutputMode 18
#define X_RRDeleteOutputMode 19
#define X_RRGetCrtcInfo 20
#define X_RRSetCrtcConfig 21
#define X_RRGetCrtcGammaSize 22
#define X_RRGetCrtcGamma 23
#define X_RRSetCrtcGamma 24
/* V1.3 additions */
#define X_RRGetScreenResourcesCurrent 25
#define X_RRSetCrtcTransform 26
#define X_RRGetCrtcTransform 27
#define X_RRGetPanning 28
#define X_RRSetPanning 29
#define X_RRSetOutputPrimary 30
#define X_RRGetOutputPrimary 31
#define RRTransformUnit (1L << 0)
#define RRTransformScaleUp (1L << 1)
#define RRTransformScaleDown (1L << 2)
#define RRTransformProjective (1L << 3)
/* v1.4 */
#define X_RRGetProviders 32
#define X_RRGetProviderInfo 33
#define X_RRSetProviderOffloadSink 34
#define X_RRSetProviderOutputSource 35
#define X_RRListProviderProperties 36
#define X_RRQueryProviderProperty 37
#define X_RRConfigureProviderProperty 38
#define X_RRChangeProviderProperty 39
#define X_RRDeleteProviderProperty 40
#define X_RRGetProviderProperty 41
/* v1.5 */
#define X_RRGetMonitors 42
#define X_RRSetMonitor 43
#define X_RRDeleteMonitor 44
/* Event selection bits */
#define RRScreenChangeNotifyMask (1L << 0)
/* V1.2 additions */
#define RRCrtcChangeNotifyMask (1L << 1)
#define RROutputChangeNotifyMask (1L << 2)
#define RROutputPropertyNotifyMask (1L << 3)
/* V1.4 additions */
#define RRProviderChangeNotifyMask (1L << 4)
#define RRProviderPropertyNotifyMask (1L << 5)
#define RRResourceChangeNotifyMask (1L << 6)
/* Event codes */
#define RRScreenChangeNotify 0
/* V1.2 additions */
#define RRNotify 1
/* RRNotify Subcodes */
#define RRNotify_CrtcChange 0
#define RRNotify_OutputChange 1
#define RRNotify_OutputProperty 2
#define RRNotify_ProviderChange 3
#define RRNotify_ProviderProperty 4
#define RRNotify_ResourceChange 5
/* used in the rotation field; rotation and reflection in 0.1 proto. */
#define RR_Rotate_0 1
#define RR_Rotate_90 2
#define RR_Rotate_180 4
#define RR_Rotate_270 8
/* new in 1.0 protocol, to allow reflection of screen */
#define RR_Reflect_X 16
#define RR_Reflect_Y 32
#define RRSetConfigSuccess 0
#define RRSetConfigInvalidConfigTime 1
#define RRSetConfigInvalidTime 2
#define RRSetConfigFailed 3
/* new in 1.2 protocol */
#define RR_HSyncPositive 0x00000001
#define RR_HSyncNegative 0x00000002
#define RR_VSyncPositive 0x00000004
#define RR_VSyncNegative 0x00000008
#define RR_Interlace 0x00000010
#define RR_DoubleScan 0x00000020
#define RR_CSync 0x00000040
#define RR_CSyncPositive 0x00000080
#define RR_CSyncNegative 0x00000100
#define RR_HSkewPresent 0x00000200
#define RR_BCast 0x00000400
#define RR_PixelMultiplex 0x00000800
#define RR_DoubleClock 0x00001000
#define RR_ClockDivideBy2 0x00002000
#define RR_Connected 0
#define RR_Disconnected 1
#define RR_UnknownConnection 2
#define BadRROutput 0
#define BadRRCrtc 1
#define BadRRMode 2
#define BadRRProvider 3
/* Conventional RandR output properties */
#define RR_PROPERTY_BACKLIGHT "Backlight"
#define RR_PROPERTY_RANDR_EDID "EDID"
#define RR_PROPERTY_SIGNAL_FORMAT "SignalFormat"
#define RR_PROPERTY_SIGNAL_PROPERTIES "SignalProperties"
#define RR_PROPERTY_CONNECTOR_TYPE "ConnectorType"
#define RR_PROPERTY_CONNECTOR_NUMBER "ConnectorNumber"
#define RR_PROPERTY_COMPATIBILITY_LIST "CompatibilityList"
#define RR_PROPERTY_CLONE_LIST "CloneList"
#define RR_PROPERTY_BORDER "Border"
#define RR_PROPERTY_BORDER_DIMENSIONS "BorderDimensions"
#define RR_PROPERTY_GUID "GUID"
#define RR_PROPERTY_RANDR_TILE "TILE"
/* roles this device can carry out */
#define RR_Capability_None 0
#define RR_Capability_SourceOutput 1
#define RR_Capability_SinkOutput 2
#define RR_Capability_SourceOffload 4
#define RR_Capability_SinkOffload 8
#endif /* _RANDR_H_ */
/*
* Copyright © 2000 Compaq Computer Corporation
* Copyright © 2002 Hewlett-Packard Company
* Copyright © 2006 Intel Corporation
* Copyright © 2008 Red Hat, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting documentation, and
* that the name of the copyright holders not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. The copyright holders make no representations
* about the suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*
* Author: Jim Gettys, Hewlett-Packard Company, Inc.
* Keith Packard, Intel Corporation
*/
/* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */
/* V1.0 removes depth switching from the protocol */
#ifndef _XRANDRP_H_
#define _XRANDRP_H_
#include "randr.h"
#include <nx-X11/extensions/renderproto.h>
#define Window CARD32
#define Drawable CARD32
#define Font CARD32
#define Pixmap CARD32
#define Cursor CARD32
#define Colormap CARD32
#define GContext CARD32
#define Atom CARD32
#define Time CARD32
#define KeyCode CARD8
#define KeySym CARD32
#define RROutput CARD32
#define RRMode CARD32
#define RRCrtc CARD32
#define RRProvider CARD32
#define RRModeFlags CARD32
#define Atom CARD32
#define Rotation CARD16
#define SizeID CARD16
#define SubpixelOrder CARD16
/*
* data structures
*/
typedef struct {
CARD16 widthInPixels B16;
CARD16 heightInPixels B16;
CARD16 widthInMillimeters B16;
CARD16 heightInMillimeters B16;
} xScreenSizes;
#define sz_xScreenSizes 8
/*
* requests and replies
*/
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
} xRRQueryVersionReq;
#define sz_xRRQueryVersionReq 12
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRQueryVersionReply;
#define sz_xRRQueryVersionReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetScreenInfoReq;
#define sz_xRRGetScreenInfoReq 8
/*
* the xRRScreenInfoReply structure is followed by:
*
* the size information
*/
typedef struct {
BYTE type; /* X_Reply */
BYTE setOfRotations;
CARD16 sequenceNumber B16;
CARD32 length B32;
Window root B32;
Time timestamp B32;
Time configTimestamp B32;
CARD16 nSizes B16;
SizeID sizeID B16;
Rotation rotation B16;
CARD16 rate B16;
CARD16 nrateEnts B16;
CARD16 pad B16;
} xRRGetScreenInfoReply;
#define sz_xRRGetScreenInfoReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Drawable drawable B32;
Time timestamp B32;
Time configTimestamp B32;
SizeID sizeID B16;
Rotation rotation B16;
} xRR1_0SetScreenConfigReq;
#define sz_xRR1_0SetScreenConfigReq 20
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Drawable drawable B32;
Time timestamp B32;
Time configTimestamp B32;
SizeID sizeID B16;
Rotation rotation B16;
CARD16 rate B16;
CARD16 pad B16;
} xRRSetScreenConfigReq;
#define sz_xRRSetScreenConfigReq 24
typedef struct {
BYTE type; /* X_Reply */
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time newTimestamp B32;
Time newConfigTimestamp B32;
Window root;
CARD16 subpixelOrder B16;
CARD16 pad4 B16;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRSetScreenConfigReply;
#define sz_xRRSetScreenConfigReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
CARD16 enable B16;
CARD16 pad2 B16;
} xRRSelectInputReq;
#define sz_xRRSelectInputReq 12
/*
* Additions for version 1.2
*/
typedef struct _xRRModeInfo {
RRMode id B32;
CARD16 width B16;
CARD16 height B16;
CARD32 dotClock B32;
CARD16 hSyncStart B16;
CARD16 hSyncEnd B16;
CARD16 hTotal B16;
CARD16 hSkew B16;
CARD16 vSyncStart B16;
CARD16 vSyncEnd B16;
CARD16 vTotal B16;
CARD16 nameLength B16;
RRModeFlags modeFlags B32;
} xRRModeInfo;
#define sz_xRRModeInfo 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetScreenSizeRangeReq;
#define sz_xRRGetScreenSizeRangeReq 8
typedef struct {
BYTE type; /* X_Reply */
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 minWidth B16;
CARD16 minHeight B16;
CARD16 maxWidth B16;
CARD16 maxHeight B16;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xRRGetScreenSizeRangeReply;
#define sz_xRRGetScreenSizeRangeReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
CARD16 width B16;
CARD16 height B16;
CARD32 widthInMillimeters B32;
CARD32 heightInMillimeters B32;
} xRRSetScreenSizeReq;
#define sz_xRRSetScreenSizeReq 20
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetScreenResourcesReq;
#define sz_xRRGetScreenResourcesReq 8
typedef struct {
BYTE type;
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
Time configTimestamp B32;
CARD16 nCrtcs B16;
CARD16 nOutputs B16;
CARD16 nModes B16;
CARD16 nbytesNames B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
} xRRGetScreenResourcesReply;
#define sz_xRRGetScreenResourcesReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Time configTimestamp B32;
} xRRGetOutputInfoReq;
#define sz_xRRGetOutputInfoReq 12
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
RRCrtc crtc B32;
CARD32 mmWidth B32;
CARD32 mmHeight B32;
CARD8 connection;
CARD8 subpixelOrder;
CARD16 nCrtcs B16;
CARD16 nModes B16;
CARD16 nPreferred B16;
CARD16 nClones B16;
CARD16 nameLength B16;
} xRRGetOutputInfoReply;
#define sz_xRRGetOutputInfoReply 36
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
} xRRListOutputPropertiesReq;
#define sz_xRRListOutputPropertiesReq 8
typedef struct {
BYTE type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 nAtoms B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRListOutputPropertiesReply;
#define sz_xRRListOutputPropertiesReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
} xRRQueryOutputPropertyReq;
#define sz_xRRQueryOutputPropertyReq 12
typedef struct {
BYTE type;
BYTE pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
BOOL pending;
BOOL range;
BOOL immutable;
BYTE pad1;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRQueryOutputPropertyReply;
#define sz_xRRQueryOutputPropertyReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
BOOL pending;
BOOL range;
CARD16 pad B16;
} xRRConfigureOutputPropertyReq;
#define sz_xRRConfigureOutputPropertyReq 16
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
Atom type B32;
CARD8 format;
CARD8 mode;
CARD16 pad;
CARD32 nUnits B32;
} xRRChangeOutputPropertyReq;
#define sz_xRRChangeOutputPropertyReq 24
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
} xRRDeleteOutputPropertyReq;
#define sz_xRRDeleteOutputPropertyReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
Atom type B32;
CARD32 longOffset B32;
CARD32 longLength B32;
#ifdef __cplusplus
BOOL _delete;
#else
BOOL delete;
#endif
BOOL pending;
CARD16 pad1 B16;
} xRRGetOutputPropertyReq;
#define sz_xRRGetOutputPropertyReq 28
typedef struct {
BYTE type;
CARD8 format;
CARD16 sequenceNumber B16;
CARD32 length B32;
Atom propertyType B32;
CARD32 bytesAfter B32;
CARD32 nItems B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xRRGetOutputPropertyReply;
#define sz_xRRGetOutputPropertyReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
xRRModeInfo modeInfo;
} xRRCreateModeReq;
#define sz_xRRCreateModeReq 40
typedef struct {
BYTE type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
RRMode mode B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRCreateModeReply;
#define sz_xRRCreateModeReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRMode mode B32;
} xRRDestroyModeReq;
#define sz_xRRDestroyModeReq 8
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
RRMode mode B32;
} xRRAddOutputModeReq;
#define sz_xRRAddOutputModeReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
RRMode mode B32;
} xRRDeleteOutputModeReq;
#define sz_xRRDeleteOutputModeReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
Time configTimestamp B32;
} xRRGetCrtcInfoReq;
#define sz_xRRGetCrtcInfoReq 12
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
INT16 x B16;
INT16 y B16;
CARD16 width B16;
CARD16 height B16;
RRMode mode B32;
Rotation rotation B16;
Rotation rotations B16;
CARD16 nOutput B16;
CARD16 nPossibleOutput B16;
} xRRGetCrtcInfoReply;
#define sz_xRRGetCrtcInfoReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
Time timestamp B32;
Time configTimestamp B32;
INT16 x B16;
INT16 y B16;
RRMode mode B32;
Rotation rotation B16;
CARD16 pad B16;
} xRRSetCrtcConfigReq;
#define sz_xRRSetCrtcConfigReq 28
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time newTimestamp B32;
CARD32 pad1 B32;
CARD32 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRSetCrtcConfigReply;
#define sz_xRRSetCrtcConfigReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
} xRRGetCrtcGammaSizeReq;
#define sz_xRRGetCrtcGammaSizeReq 8
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 size B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRGetCrtcGammaSizeReply;
#define sz_xRRGetCrtcGammaSizeReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
} xRRGetCrtcGammaReq;
#define sz_xRRGetCrtcGammaReq 8
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 size B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRGetCrtcGammaReply;
#define sz_xRRGetCrtcGammaReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
CARD16 size B16;
CARD16 pad1 B16;
} xRRSetCrtcGammaReq;
#define sz_xRRSetCrtcGammaReq 12
/*
* Additions for V1.3
*/
typedef xRRGetScreenResourcesReq xRRGetScreenResourcesCurrentReq;
#define sz_xRRGetScreenResourcesCurrentReq sz_xRRGetScreenResourcesReq
typedef xRRGetScreenResourcesReply xRRGetScreenResourcesCurrentReply;
#define sz_xRRGetScreenResourcesCurrentReply sz_xRRGetScreenResourcesReply
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
xRenderTransform transform;
CARD16 nbytesFilter; /* number of bytes in filter name */
CARD16 pad B16;
} xRRSetCrtcTransformReq;
#define sz_xRRSetCrtcTransformReq 48
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
} xRRGetCrtcTransformReq;
#define sz_xRRGetCrtcTransformReq 8
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
xRenderTransform pendingTransform;
BYTE hasTransforms;
CARD8 pad0;
CARD16 pad1 B16;
xRenderTransform currentTransform;
CARD32 pad2 B32;
CARD16 pendingNbytesFilter B16; /* number of bytes in filter name */
CARD16 pendingNparamsFilter B16; /* number of filter params */
CARD16 currentNbytesFilter B16; /* number of bytes in filter name */
CARD16 currentNparamsFilter B16; /* number of filter params */
} xRRGetCrtcTransformReply;
#define sz_xRRGetCrtcTransformReply 96
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
RROutput output B32;
} xRRSetOutputPrimaryReq;
#define sz_xRRSetOutputPrimaryReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetOutputPrimaryReq;
#define sz_xRRGetOutputPrimaryReq 8
typedef struct {
BYTE type;
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
RROutput output B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRGetOutputPrimaryReply;
#define sz_xRRGetOutputPrimaryReply 32
/*
* Additions for V1.4
*/
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetProvidersReq;
#define sz_xRRGetProvidersReq 8
typedef struct {
BYTE type;
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
CARD16 nProviders;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRGetProvidersReply;
#define sz_xRRGetProvidersReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Time configTimestamp B32;
} xRRGetProviderInfoReq;
#define sz_xRRGetProviderInfoReq 12
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
CARD32 capabilities B32;
CARD16 nCrtcs B16;
CARD16 nOutputs B16;
CARD16 nAssociatedProviders B16;
CARD16 nameLength B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
} xRRGetProviderInfoReply;
#define sz_xRRGetProviderInfoReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
RRProvider source_provider B32;
Time configTimestamp B32;
} xRRSetProviderOutputSourceReq;
#define sz_xRRSetProviderOutputSourceReq 16
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
RRProvider sink_provider B32;
Time configTimestamp B32;
} xRRSetProviderOffloadSinkReq;
#define sz_xRRSetProviderOffloadSinkReq 16
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
} xRRListProviderPropertiesReq;
#define sz_xRRListProviderPropertiesReq 8
typedef struct {
BYTE type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 nAtoms B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRListProviderPropertiesReply;
#define sz_xRRListProviderPropertiesReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
} xRRQueryProviderPropertyReq;
#define sz_xRRQueryProviderPropertyReq 12
typedef struct {
BYTE type;
BYTE pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
BOOL pending;
BOOL range;
BOOL immutable;
BYTE pad1;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRQueryProviderPropertyReply;
#define sz_xRRQueryProviderPropertyReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
BOOL pending;
BOOL range;
CARD16 pad B16;
} xRRConfigureProviderPropertyReq;
#define sz_xRRConfigureProviderPropertyReq 16
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
Atom type B32;
CARD8 format;
CARD8 mode;
CARD16 pad;
CARD32 nUnits B32;
} xRRChangeProviderPropertyReq;
#define sz_xRRChangeProviderPropertyReq 24
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
} xRRDeleteProviderPropertyReq;
#define sz_xRRDeleteProviderPropertyReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
Atom type B32;
CARD32 longOffset B32;
CARD32 longLength B32;
#ifdef __cplusplus
BOOL _delete;
#else
BOOL delete;
#endif
BOOL pending;
CARD16 pad1 B16;
} xRRGetProviderPropertyReq;
#define sz_xRRGetProviderPropertyReq 28
typedef struct {
BYTE type;
CARD8 format;
CARD16 sequenceNumber B16;
CARD32 length B32;
Atom propertyType B32;
CARD32 bytesAfter B32;
CARD32 nItems B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xRRGetProviderPropertyReply;
#define sz_xRRGetProviderPropertyReply 32
/*
* event
*/
typedef struct {
CARD8 type; /* always evBase + ScreenChangeNotify */
CARD8 rotation; /* new rotation */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time screen was changed */
Time configTimestamp B32; /* time config data was changed */
Window root B32; /* root window */
Window window B32; /* window requesting notification */
SizeID sizeID B16; /* new size ID */
CARD16 subpixelOrder B16; /* subpixel order */
CARD16 widthInPixels B16; /* new size */
CARD16 heightInPixels B16;
CARD16 widthInMillimeters B16;
CARD16 heightInMillimeters B16;
} xRRScreenChangeNotifyEvent;
#define sz_xRRScreenChangeNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_CrtcChange */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time crtc was changed */
Window window B32; /* window requesting notification */
RRCrtc crtc B32; /* affected CRTC */
RRMode mode B32; /* current mode */
CARD16 rotation B16; /* rotation and reflection */
CARD16 pad1 B16; /* unused */
INT16 x B16; /* new location */
INT16 y B16;
CARD16 width B16; /* new size */
CARD16 height B16;
} xRRCrtcChangeNotifyEvent;
#define sz_xRRCrtcChangeNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_OutputChange */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time output was changed */
Time configTimestamp B32; /* time config was changed */
Window window B32; /* window requesting notification */
RROutput output B32; /* affected output */
RRCrtc crtc B32; /* current crtc */
RRMode mode B32; /* current mode */
CARD16 rotation B16; /* rotation and reflection */
CARD8 connection; /* connection status */
CARD8 subpixelOrder; /* subpixel order */
} xRROutputChangeNotifyEvent;
#define sz_xRROutputChangeNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_OutputProperty */
CARD16 sequenceNumber B16;
Window window B32; /* window requesting notification */
RROutput output B32; /* affected output */
Atom atom B32; /* property name */
Time timestamp B32; /* time crtc was changed */
CARD8 state; /* NewValue or Deleted */
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xRROutputPropertyNotifyEvent;
#define sz_xRROutputPropertyNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_ProviderChange */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time provider was changed */
Window window B32; /* window requesting notification */
RRProvider provider B32; /* affected provider */
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xRRProviderChangeNotifyEvent;
#define sz_xRRProviderChangeNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_ProviderProperty */
CARD16 sequenceNumber B16;
Window window B32; /* window requesting notification */
RRProvider provider B32; /* affected provider */
Atom atom B32; /* property name */
Time timestamp B32; /* time provider was changed */
CARD8 state; /* NewValue or Deleted */
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xRRProviderPropertyNotifyEvent;
#define sz_xRRProviderPropertyNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_ResourceChange */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time resource was changed */
Window window B32; /* window requesting notification */
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRResourceChangeNotifyEvent;
#define sz_xRRResourceChangeNotifyEvent 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
} xRRGetPanningReq;
#define sz_xRRGetPanningReq 8
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
CARD16 left B16;
CARD16 top B16;
CARD16 width B16;
CARD16 height B16;
CARD16 track_left B16;
CARD16 track_top B16;
CARD16 track_width B16;
CARD16 track_height B16;
INT16 border_left B16;
INT16 border_top B16;
INT16 border_right B16;
INT16 border_bottom B16;
} xRRGetPanningReply;
#define sz_xRRGetPanningReply 36
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
Time timestamp B32;
CARD16 left B16;
CARD16 top B16;
CARD16 width B16;
CARD16 height B16;
CARD16 track_left B16;
CARD16 track_top B16;
CARD16 track_width B16;
CARD16 track_height B16;
INT16 border_left B16;
INT16 border_top B16;
INT16 border_right B16;
INT16 border_bottom B16;
} xRRSetPanningReq;
#define sz_xRRSetPanningReq 36
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time newTimestamp B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRSetPanningReply;
#define sz_xRRSetPanningReply 32
typedef struct {
Atom name B32;
BOOL primary;
BOOL automatic;
CARD16 noutput B16;
INT16 x B16;
INT16 y B16;
CARD16 width B16;
CARD16 height B16;
CARD32 widthInMillimeters B32;
CARD32 heightInMillimeters B32;
} xRRMonitorInfo;
#define sz_xRRMonitorInfo 24
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
BOOL get_active;
CARD8 pad;
CARD16 pad2;
} xRRGetMonitorsReq;
#define sz_xRRGetMonitorsReq 12
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
CARD32 nmonitors B32;
CARD32 noutputs B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xRRGetMonitorsReply;
#define sz_xRRGetMonitorsReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
xRRMonitorInfo monitor;
} xRRSetMonitorReq;
#define sz_xRRSetMonitorReq 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
Atom name B32;
} xRRDeleteMonitorReq;
#define sz_xRRDeleteMonitorReq 12
#undef RRModeFlags
#undef RRCrtc
#undef RRMode
#undef RROutput
#undef RRMode
#undef RRCrtc
#undef RRProvider
#undef Drawable
#undef Window
#undef Font
#undef Pixmap
#undef Cursor
#undef Colormap
#undef GContext
#undef Atom
#undef Time
#undef KeyCode
#undef KeySym
#undef Rotation
#undef SizeID
#undef SubpixelOrder
#undef Atom
#endif /* _XRANDRP_H_ */
...@@ -49,8 +49,8 @@ ...@@ -49,8 +49,8 @@
#include "extnsionst.h" #include "extnsionst.h"
#include "servermd.h" #include "servermd.h"
#include "rrtransform.h" #include "rrtransform.h"
#include "randr.h" #include <nx-X11/extensions/randr.h>
#include "randrproto.h" #include <nx-X11/extensions/randrproto.h>
#include <nx-X11/extensions/render.h> /* we share subpixel order information */ #include <nx-X11/extensions/render.h> /* we share subpixel order information */
#include "picturestr.h" #include "picturestr.h"
#include <nx-X11/Xfuncproto.h> #include <nx-X11/Xfuncproto.h>
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#ifndef _RRTRANSFORM_H_ #ifndef _RRTRANSFORM_H_
#define _RRTRANSFORM_H_ #define _RRTRANSFORM_H_
#include "randr.h" #include <nx-X11/extensions/randr.h>
#include "picturestr.h" #include "picturestr.h"
typedef struct _rrTransform RRTransformRec, *RRTransformPtr; typedef struct _rrTransform RRTransformRec, *RRTransformPtr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment