210 lines
5.4 KiB
C
210 lines
5.4 KiB
C
/*
|
|
* $XFree86: xc/include/extensions/randrproto.h,v 1.6 2002/09/29 23:39:43 keithp Exp $
|
|
*
|
|
* Copyright © 2000 Compaq Computer Corporation
|
|
* Copyright © 2002 Hewlett-Packard Company
|
|
*
|
|
* 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 Compaq or HP not be used in advertising
|
|
* or publicity pertaining to distribution of the software without specific,
|
|
* written prior permission. Compaq and HP makes no representations about the
|
|
* suitability of this software for any purpose. It is provided "as is"
|
|
* without express or implied warranty.
|
|
*
|
|
* HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL COMPAQ
|
|
* 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.
|
|
*/
|
|
|
|
/* 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>
|
|
|
|
#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 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
|
|
|
|
#define sz_xRRSelectInputReq 12
|
|
|
|
/*
|
|
* 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
|
|
|
|
#undef Window
|
|
#undef Drawable
|
|
#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_ */
|