From abe956221670598a5fd0f77107a3471c2fcf84df Mon Sep 17 00:00:00 2001 From: Matthias Hopf Date: Fri, 28 Nov 2008 17:22:23 +0100 Subject: [PATCH] Panning protocol extension --- randr.h | 4 +++- randrproto.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/randr.h b/randr.h index 87cd4a8..92f2fb6 100644 --- a/randr.h +++ b/randr.h @@ -44,7 +44,7 @@ typedef unsigned long XRandrModeFlags; #define RRNumberErrors 3 #define RRNumberEvents 2 -#define RRNumberRequests 28 +#define RRNumberRequests 30 #define X_RRQueryVersion 0 /* we skip 1 to make old clients fail pretty immediately */ @@ -82,6 +82,8 @@ typedef unsigned long XRandrModeFlags; #define X_RRGetScreenResourcesCurrent 25 #define X_RRSetCrtcTransform 26 #define X_RRGetCrtcTransform 27 +#define X_RRGetPanning 28 +#define X_RRSetPanning 29 #define RRTransformUnit (1L << 0) #define RRTransformScaleUp (1L << 1) diff --git a/randrproto.h b/randrproto.h index f8aac94..324455e 100644 --- a/randrproto.h +++ b/randrproto.h @@ -700,6 +700,72 @@ typedef struct { } xRROutputPropertyNotifyEvent; #define sz_xRROutputPropertyNotifyEvent 32 +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRCrtc crtc B32; + Time configTimestamp B32; +} xRRGetPanningReq; +#define sz_xRRGetPanningReq 12 + +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; + Time configTimestamp 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 40 + +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 + #undef RRModeFlags #undef RRCrtc #undef RRMode