1152 lines
25 KiB
C++
1152 lines
25 KiB
C++
/*
|
|
* 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 <X11/extensions/randr.h>
|
|
#include <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 RRLease CARD32
|
|
|
|
#define Rotation CARD16
|
|
#define SizeID CARD16
|
|
#define SubpixelOrder CARD16
|
|
|
|
/*
|
|
* data structures
|
|
*/
|
|
|
|
typedef struct {
|
|
CARD16 widthInPixels;
|
|
CARD16 heightInPixels;
|
|
CARD16 widthInMillimeters;
|
|
CARD16 heightInMillimeters;
|
|
} xScreenSizes;
|
|
#define sz_xScreenSizes 8
|
|
|
|
/*
|
|
* requests and replies
|
|
*/
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
CARD32 majorVersion;
|
|
CARD32 minorVersion;
|
|
} xRRQueryVersionReq;
|
|
#define sz_xRRQueryVersionReq 12
|
|
|
|
typedef struct {
|
|
BYTE type; /* X_Reply */
|
|
BYTE pad1;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
CARD32 majorVersion;
|
|
CARD32 minorVersion;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
} xRRQueryVersionReply;
|
|
#define sz_xRRQueryVersionReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
} xRRGetScreenInfoReq;
|
|
#define sz_xRRGetScreenInfoReq 8
|
|
|
|
/*
|
|
* the xRRScreenInfoReply structure is followed by:
|
|
*
|
|
* the size information
|
|
*/
|
|
|
|
|
|
typedef struct {
|
|
BYTE type; /* X_Reply */
|
|
BYTE setOfRotations;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Window root;
|
|
Time timestamp;
|
|
Time configTimestamp;
|
|
CARD16 nSizes;
|
|
SizeID sizeID;
|
|
Rotation rotation;
|
|
CARD16 rate;
|
|
CARD16 nrateEnts;
|
|
CARD16 pad;
|
|
} xRRGetScreenInfoReply;
|
|
#define sz_xRRGetScreenInfoReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Drawable drawable;
|
|
Time timestamp;
|
|
Time configTimestamp;
|
|
SizeID sizeID;
|
|
Rotation rotation;
|
|
} xRR1_0SetScreenConfigReq;
|
|
#define sz_xRR1_0SetScreenConfigReq 20
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Drawable drawable;
|
|
Time timestamp;
|
|
Time configTimestamp;
|
|
SizeID sizeID;
|
|
Rotation rotation;
|
|
CARD16 rate;
|
|
CARD16 pad;
|
|
} xRRSetScreenConfigReq;
|
|
#define sz_xRRSetScreenConfigReq 24
|
|
|
|
typedef struct {
|
|
BYTE type; /* X_Reply */
|
|
CARD8 status;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Time newTimestamp;
|
|
Time newConfigTimestamp;
|
|
Window root;
|
|
CARD16 subpixelOrder;
|
|
CARD16 pad4;
|
|
CARD32 pad5;
|
|
CARD32 pad6;
|
|
} xRRSetScreenConfigReply;
|
|
#define sz_xRRSetScreenConfigReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
CARD16 enable;
|
|
CARD16 pad2;
|
|
} xRRSelectInputReq;
|
|
#define sz_xRRSelectInputReq 12
|
|
|
|
/*
|
|
* Additions for version 1.2
|
|
*/
|
|
|
|
typedef struct _xRRModeInfo {
|
|
RRMode id;
|
|
CARD16 width;
|
|
CARD16 height;
|
|
CARD32 dotClock;
|
|
CARD16 hSyncStart;
|
|
CARD16 hSyncEnd;
|
|
CARD16 hTotal;
|
|
CARD16 hSkew;
|
|
CARD16 vSyncStart;
|
|
CARD16 vSyncEnd;
|
|
CARD16 vTotal;
|
|
CARD16 nameLength;
|
|
RRModeFlags modeFlags;
|
|
} xRRModeInfo;
|
|
#define sz_xRRModeInfo 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
} xRRGetScreenSizeRangeReq;
|
|
#define sz_xRRGetScreenSizeRangeReq 8
|
|
|
|
typedef struct {
|
|
BYTE type; /* X_Reply */
|
|
CARD8 pad;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
CARD16 minWidth;
|
|
CARD16 minHeight;
|
|
CARD16 maxWidth;
|
|
CARD16 maxHeight;
|
|
CARD32 pad0;
|
|
CARD32 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
} xRRGetScreenSizeRangeReply;
|
|
#define sz_xRRGetScreenSizeRangeReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
CARD16 width;
|
|
CARD16 height;
|
|
CARD32 widthInMillimeters;
|
|
CARD32 heightInMillimeters;
|
|
} xRRSetScreenSizeReq;
|
|
#define sz_xRRSetScreenSizeReq 20
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
} xRRGetScreenResourcesReq;
|
|
#define sz_xRRGetScreenResourcesReq 8
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 pad;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Time timestamp;
|
|
Time configTimestamp;
|
|
CARD16 nCrtcs;
|
|
CARD16 nOutputs;
|
|
CARD16 nModes;
|
|
CARD16 nbytesNames;
|
|
CARD32 pad1;
|
|
CARD32 pad2;
|
|
} xRRGetScreenResourcesReply;
|
|
#define sz_xRRGetScreenResourcesReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RROutput output;
|
|
Time configTimestamp;
|
|
} xRRGetOutputInfoReq;
|
|
#define sz_xRRGetOutputInfoReq 12
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 status;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Time timestamp;
|
|
RRCrtc crtc;
|
|
CARD32 mmWidth;
|
|
CARD32 mmHeight;
|
|
CARD8 connection;
|
|
CARD8 subpixelOrder;
|
|
CARD16 nCrtcs;
|
|
CARD16 nModes;
|
|
CARD16 nPreferred;
|
|
CARD16 nClones;
|
|
CARD16 nameLength;
|
|
} xRRGetOutputInfoReply;
|
|
#define sz_xRRGetOutputInfoReply 36
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RROutput output;
|
|
} xRRListOutputPropertiesReq;
|
|
#define sz_xRRListOutputPropertiesReq 8
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 pad0;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
CARD16 nAtoms;
|
|
CARD16 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
CARD32 pad6;
|
|
} xRRListOutputPropertiesReply;
|
|
#define sz_xRRListOutputPropertiesReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RROutput output;
|
|
Atom property;
|
|
} xRRQueryOutputPropertyReq;
|
|
#define sz_xRRQueryOutputPropertyReq 12
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
BYTE pad0;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
BOOL pending;
|
|
BOOL range;
|
|
BOOL immutable;
|
|
BYTE pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
CARD32 pad6;
|
|
} xRRQueryOutputPropertyReply;
|
|
#define sz_xRRQueryOutputPropertyReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RROutput output;
|
|
Atom property;
|
|
BOOL pending;
|
|
BOOL range;
|
|
CARD16 pad;
|
|
} xRRConfigureOutputPropertyReq;
|
|
#define sz_xRRConfigureOutputPropertyReq 16
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RROutput output;
|
|
Atom property;
|
|
Atom type;
|
|
CARD8 format;
|
|
CARD8 mode;
|
|
CARD16 pad;
|
|
CARD32 nUnits;
|
|
} xRRChangeOutputPropertyReq;
|
|
#define sz_xRRChangeOutputPropertyReq 24
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RROutput output;
|
|
Atom property;
|
|
} xRRDeleteOutputPropertyReq;
|
|
#define sz_xRRDeleteOutputPropertyReq 12
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RROutput output;
|
|
Atom property;
|
|
Atom type;
|
|
CARD32 longOffset;
|
|
CARD32 longLength;
|
|
#ifdef __cplusplus
|
|
BOOL _delete;
|
|
#else
|
|
BOOL delete;
|
|
#endif
|
|
BOOL pending;
|
|
CARD16 pad1;
|
|
} xRRGetOutputPropertyReq;
|
|
#define sz_xRRGetOutputPropertyReq 28
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 format;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Atom propertyType;
|
|
CARD32 bytesAfter;
|
|
CARD32 nItems;
|
|
CARD32 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
} xRRGetOutputPropertyReply;
|
|
#define sz_xRRGetOutputPropertyReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
xRRModeInfo modeInfo;
|
|
} xRRCreateModeReq;
|
|
#define sz_xRRCreateModeReq 40
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 pad0;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
RRMode mode;
|
|
CARD32 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
} xRRCreateModeReply;
|
|
#define sz_xRRCreateModeReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRMode mode;
|
|
} xRRDestroyModeReq;
|
|
#define sz_xRRDestroyModeReq 8
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RROutput output;
|
|
RRMode mode;
|
|
} xRRAddOutputModeReq;
|
|
#define sz_xRRAddOutputModeReq 12
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RROutput output;
|
|
RRMode mode;
|
|
} xRRDeleteOutputModeReq;
|
|
#define sz_xRRDeleteOutputModeReq 12
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRCrtc crtc;
|
|
Time configTimestamp;
|
|
} xRRGetCrtcInfoReq;
|
|
#define sz_xRRGetCrtcInfoReq 12
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 status;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Time timestamp;
|
|
INT16 x;
|
|
INT16 y;
|
|
CARD16 width;
|
|
CARD16 height;
|
|
RRMode mode;
|
|
Rotation rotation;
|
|
Rotation rotations;
|
|
CARD16 nOutput;
|
|
CARD16 nPossibleOutput;
|
|
} xRRGetCrtcInfoReply;
|
|
#define sz_xRRGetCrtcInfoReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRCrtc crtc;
|
|
Time timestamp;
|
|
Time configTimestamp;
|
|
INT16 x;
|
|
INT16 y;
|
|
RRMode mode;
|
|
Rotation rotation;
|
|
CARD16 pad;
|
|
} xRRSetCrtcConfigReq;
|
|
#define sz_xRRSetCrtcConfigReq 28
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 status;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Time newTimestamp;
|
|
CARD32 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
} xRRSetCrtcConfigReply;
|
|
#define sz_xRRSetCrtcConfigReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRCrtc crtc;
|
|
} xRRGetCrtcGammaSizeReq;
|
|
#define sz_xRRGetCrtcGammaSizeReq 8
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 status;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
CARD16 size;
|
|
CARD16 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
CARD32 pad6;
|
|
} xRRGetCrtcGammaSizeReply;
|
|
#define sz_xRRGetCrtcGammaSizeReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRCrtc crtc;
|
|
} xRRGetCrtcGammaReq;
|
|
#define sz_xRRGetCrtcGammaReq 8
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 status;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
CARD16 size;
|
|
CARD16 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
CARD32 pad6;
|
|
} xRRGetCrtcGammaReply;
|
|
#define sz_xRRGetCrtcGammaReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRCrtc crtc;
|
|
CARD16 size;
|
|
CARD16 pad1;
|
|
} 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;
|
|
RRCrtc crtc;
|
|
xRenderTransform transform;
|
|
CARD16 nbytesFilter; /* number of bytes in filter name */
|
|
CARD16 pad;
|
|
} xRRSetCrtcTransformReq;
|
|
|
|
#define sz_xRRSetCrtcTransformReq 48
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRCrtc crtc;
|
|
} xRRGetCrtcTransformReq;
|
|
|
|
#define sz_xRRGetCrtcTransformReq 8
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 status;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
xRenderTransform pendingTransform;
|
|
BYTE hasTransforms;
|
|
CARD8 pad0;
|
|
CARD16 pad1;
|
|
xRenderTransform currentTransform;
|
|
CARD32 pad2;
|
|
CARD16 pendingNbytesFilter; /* number of bytes in filter name */
|
|
CARD16 pendingNparamsFilter; /* number of filter params */
|
|
CARD16 currentNbytesFilter; /* number of bytes in filter name */
|
|
CARD16 currentNparamsFilter; /* number of filter params */
|
|
} xRRGetCrtcTransformReply;
|
|
|
|
#define sz_xRRGetCrtcTransformReply 96
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
RROutput output;
|
|
} xRRSetOutputPrimaryReq;
|
|
#define sz_xRRSetOutputPrimaryReq 12
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
} xRRGetOutputPrimaryReq;
|
|
#define sz_xRRGetOutputPrimaryReq 8
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 pad;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
RROutput output;
|
|
CARD32 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
} xRRGetOutputPrimaryReply;
|
|
#define sz_xRRGetOutputPrimaryReply 32
|
|
|
|
/*
|
|
* Additions for V1.4
|
|
*/
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
} xRRGetProvidersReq;
|
|
#define sz_xRRGetProvidersReq 8
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 pad;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Time timestamp;
|
|
CARD16 nProviders;
|
|
CARD16 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
} xRRGetProvidersReply;
|
|
#define sz_xRRGetProvidersReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRProvider provider;
|
|
Time configTimestamp;
|
|
} xRRGetProviderInfoReq;
|
|
#define sz_xRRGetProviderInfoReq 12
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 status;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Time timestamp;
|
|
CARD32 capabilities;
|
|
CARD16 nCrtcs;
|
|
CARD16 nOutputs;
|
|
CARD16 nAssociatedProviders;
|
|
CARD16 nameLength;
|
|
CARD32 pad1;
|
|
CARD32 pad2;
|
|
} xRRGetProviderInfoReply;
|
|
#define sz_xRRGetProviderInfoReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRProvider provider;
|
|
RRProvider source_provider;
|
|
Time configTimestamp;
|
|
} xRRSetProviderOutputSourceReq;
|
|
#define sz_xRRSetProviderOutputSourceReq 16
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRProvider provider;
|
|
RRProvider sink_provider;
|
|
Time configTimestamp;
|
|
} xRRSetProviderOffloadSinkReq;
|
|
#define sz_xRRSetProviderOffloadSinkReq 16
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRProvider provider;
|
|
} xRRListProviderPropertiesReq;
|
|
#define sz_xRRListProviderPropertiesReq 8
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 pad0;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
CARD16 nAtoms;
|
|
CARD16 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
CARD32 pad6;
|
|
} xRRListProviderPropertiesReply;
|
|
#define sz_xRRListProviderPropertiesReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRProvider provider;
|
|
Atom property;
|
|
} xRRQueryProviderPropertyReq;
|
|
#define sz_xRRQueryProviderPropertyReq 12
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
BYTE pad0;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
BOOL pending;
|
|
BOOL range;
|
|
BOOL immutable;
|
|
BYTE pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
CARD32 pad6;
|
|
} xRRQueryProviderPropertyReply;
|
|
#define sz_xRRQueryProviderPropertyReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRProvider provider;
|
|
Atom property;
|
|
BOOL pending;
|
|
BOOL range;
|
|
CARD16 pad;
|
|
} xRRConfigureProviderPropertyReq;
|
|
#define sz_xRRConfigureProviderPropertyReq 16
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRProvider provider;
|
|
Atom property;
|
|
Atom type;
|
|
CARD8 format;
|
|
CARD8 mode;
|
|
CARD16 pad;
|
|
CARD32 nUnits;
|
|
} xRRChangeProviderPropertyReq;
|
|
#define sz_xRRChangeProviderPropertyReq 24
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRProvider provider;
|
|
Atom property;
|
|
} xRRDeleteProviderPropertyReq;
|
|
#define sz_xRRDeleteProviderPropertyReq 12
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRProvider provider;
|
|
Atom property;
|
|
Atom type;
|
|
CARD32 longOffset;
|
|
CARD32 longLength;
|
|
#ifdef __cplusplus
|
|
BOOL _delete;
|
|
#else
|
|
BOOL delete;
|
|
#endif
|
|
BOOL pending;
|
|
CARD16 pad1;
|
|
} xRRGetProviderPropertyReq;
|
|
#define sz_xRRGetProviderPropertyReq 28
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 format;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Atom propertyType;
|
|
CARD32 bytesAfter;
|
|
CARD32 nItems;
|
|
CARD32 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
} xRRGetProviderPropertyReply;
|
|
#define sz_xRRGetProviderPropertyReply 32
|
|
|
|
/*
|
|
* Additions for V1.6
|
|
*/
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
RRLease lid;
|
|
CARD16 nCrtcs;
|
|
CARD16 nOutputs;
|
|
} xRRCreateLeaseReq;
|
|
#define sz_xRRCreateLeaseReq 16
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 nfd;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
CARD32 pad6;
|
|
CARD32 pad7;
|
|
} xRRCreateLeaseReply;
|
|
#define sz_xRRCreateLeaseReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRLease lid;
|
|
BYTE terminate;
|
|
CARD8 pad1;
|
|
CARD16 pad2;
|
|
} xRRFreeLeaseReq;
|
|
#define sz_xRRFreeLeaseReq 12
|
|
|
|
/*
|
|
* event
|
|
*/
|
|
typedef struct {
|
|
CARD8 type; /* always evBase + ScreenChangeNotify */
|
|
CARD8 rotation; /* new rotation */
|
|
CARD16 sequenceNumber;
|
|
Time timestamp; /* time screen was changed */
|
|
Time configTimestamp; /* time config data was changed */
|
|
Window root; /* root window */
|
|
Window window; /* window requesting notification */
|
|
SizeID sizeID; /* new size ID */
|
|
CARD16 subpixelOrder; /* subpixel order */
|
|
CARD16 widthInPixels; /* new size */
|
|
CARD16 heightInPixels;
|
|
CARD16 widthInMillimeters;
|
|
CARD16 heightInMillimeters;
|
|
} xRRScreenChangeNotifyEvent;
|
|
#define sz_xRRScreenChangeNotifyEvent 32
|
|
|
|
typedef struct {
|
|
CARD8 type; /* always evBase + RRNotify */
|
|
CARD8 subCode; /* RRNotify_CrtcChange */
|
|
CARD16 sequenceNumber;
|
|
Time timestamp; /* time crtc was changed */
|
|
Window window; /* window requesting notification */
|
|
RRCrtc crtc; /* affected CRTC */
|
|
RRMode mode; /* current mode */
|
|
CARD16 rotation; /* rotation and reflection */
|
|
CARD16 pad1; /* unused */
|
|
INT16 x; /* new location */
|
|
INT16 y;
|
|
CARD16 width; /* new size */
|
|
CARD16 height;
|
|
} xRRCrtcChangeNotifyEvent;
|
|
#define sz_xRRCrtcChangeNotifyEvent 32
|
|
|
|
typedef struct {
|
|
CARD8 type; /* always evBase + RRNotify */
|
|
CARD8 subCode; /* RRNotify_OutputChange */
|
|
CARD16 sequenceNumber;
|
|
Time timestamp; /* time output was changed */
|
|
Time configTimestamp; /* time config was changed */
|
|
Window window; /* window requesting notification */
|
|
RROutput output; /* affected output */
|
|
RRCrtc crtc; /* current crtc */
|
|
RRMode mode; /* current mode */
|
|
CARD16 rotation; /* 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;
|
|
Window window; /* window requesting notification */
|
|
RROutput output; /* affected output */
|
|
Atom atom; /* property name */
|
|
Time timestamp; /* time crtc was changed */
|
|
CARD8 state; /* NewValue or Deleted */
|
|
CARD8 pad1;
|
|
CARD16 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
} xRROutputPropertyNotifyEvent;
|
|
#define sz_xRROutputPropertyNotifyEvent 32
|
|
|
|
typedef struct {
|
|
CARD8 type; /* always evBase + RRNotify */
|
|
CARD8 subCode; /* RRNotify_ProviderChange */
|
|
CARD16 sequenceNumber;
|
|
Time timestamp; /* time provider was changed */
|
|
Window window; /* window requesting notification */
|
|
RRProvider provider; /* affected provider */
|
|
CARD32 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
} xRRProviderChangeNotifyEvent;
|
|
#define sz_xRRProviderChangeNotifyEvent 32
|
|
|
|
typedef struct {
|
|
CARD8 type; /* always evBase + RRNotify */
|
|
CARD8 subCode; /* RRNotify_ProviderProperty */
|
|
CARD16 sequenceNumber;
|
|
Window window; /* window requesting notification */
|
|
RRProvider provider; /* affected provider */
|
|
Atom atom; /* property name */
|
|
Time timestamp; /* time provider was changed */
|
|
CARD8 state; /* NewValue or Deleted */
|
|
CARD8 pad1;
|
|
CARD16 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
} xRRProviderPropertyNotifyEvent;
|
|
#define sz_xRRProviderPropertyNotifyEvent 32
|
|
|
|
typedef struct {
|
|
CARD8 type; /* always evBase + RRNotify */
|
|
CARD8 subCode; /* RRNotify_ResourceChange */
|
|
CARD16 sequenceNumber;
|
|
Time timestamp; /* time resource was changed */
|
|
Window window; /* window requesting notification */
|
|
CARD32 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
} xRRResourceChangeNotifyEvent;
|
|
#define sz_xRRResourceChangeNotifyEvent 32
|
|
|
|
typedef struct {
|
|
CARD8 type; /* always evBase + RRNotify */
|
|
CARD8 subCode; /* RRNotify_Lease */
|
|
CARD16 sequenceNumber;
|
|
Time timestamp; /* time resource was changed */
|
|
Window window; /* window requesting notification */
|
|
RRLease lease;
|
|
CARD8 created; /* created/deleted */
|
|
CARD8 pad0;
|
|
CARD16 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
} xRRLeaseNotifyEvent;
|
|
#define sz_xRRLeaseNotifyEvent 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRCrtc crtc;
|
|
} xRRGetPanningReq;
|
|
#define sz_xRRGetPanningReq 8
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 status;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Time timestamp;
|
|
CARD16 left;
|
|
CARD16 top;
|
|
CARD16 width;
|
|
CARD16 height;
|
|
CARD16 track_left;
|
|
CARD16 track_top;
|
|
CARD16 track_width;
|
|
CARD16 track_height;
|
|
INT16 border_left;
|
|
INT16 border_top;
|
|
INT16 border_right;
|
|
INT16 border_bottom;
|
|
} xRRGetPanningReply;
|
|
#define sz_xRRGetPanningReply 36
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
RRCrtc crtc;
|
|
Time timestamp;
|
|
CARD16 left;
|
|
CARD16 top;
|
|
CARD16 width;
|
|
CARD16 height;
|
|
CARD16 track_left;
|
|
CARD16 track_top;
|
|
CARD16 track_width;
|
|
CARD16 track_height;
|
|
INT16 border_left;
|
|
INT16 border_top;
|
|
INT16 border_right;
|
|
INT16 border_bottom;
|
|
} xRRSetPanningReq;
|
|
#define sz_xRRSetPanningReq 36
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 status;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Time newTimestamp;
|
|
CARD32 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
CARD32 pad4;
|
|
CARD32 pad5;
|
|
} xRRSetPanningReply;
|
|
#define sz_xRRSetPanningReply 32
|
|
|
|
typedef struct {
|
|
Atom name;
|
|
BOOL primary;
|
|
BOOL automatic;
|
|
CARD16 noutput;
|
|
INT16 x;
|
|
INT16 y;
|
|
CARD16 width;
|
|
CARD16 height;
|
|
CARD32 widthInMillimeters;
|
|
CARD32 heightInMillimeters;
|
|
} xRRMonitorInfo;
|
|
#define sz_xRRMonitorInfo 24
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
BOOL get_active;
|
|
CARD8 pad;
|
|
CARD16 pad2;
|
|
} xRRGetMonitorsReq;
|
|
#define sz_xRRGetMonitorsReq 12
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
CARD8 status;
|
|
CARD16 sequenceNumber;
|
|
CARD32 length;
|
|
Time timestamp;
|
|
CARD32 nmonitors;
|
|
CARD32 noutputs;
|
|
CARD32 pad1;
|
|
CARD32 pad2;
|
|
CARD32 pad3;
|
|
} xRRGetMonitorsReply;
|
|
#define sz_xRRGetMonitorsReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
xRRMonitorInfo monitor;
|
|
} xRRSetMonitorReq;
|
|
#define sz_xRRSetMonitorReq 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType;
|
|
CARD8 randrReqType;
|
|
CARD16 length;
|
|
Window window;
|
|
Atom name;
|
|
} xRRDeleteMonitorReq;
|
|
#define sz_xRRDeleteMonitorReq 12
|
|
|
|
#undef RRLease
|
|
#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
|
|
|
|
#endif /* _XRANDRP_H_ */
|