diff options
Diffstat (limited to 'depends/libxcb/depends/xorgproto/include/X11/extensions/presentproto.h')
-rw-r--r-- | depends/libxcb/depends/xorgproto/include/X11/extensions/presentproto.h | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/depends/libxcb/depends/xorgproto/include/X11/extensions/presentproto.h b/depends/libxcb/depends/xorgproto/include/X11/extensions/presentproto.h new file mode 100644 index 0000000..d8dc6d2 --- /dev/null +++ b/depends/libxcb/depends/xorgproto/include/X11/extensions/presentproto.h @@ -0,0 +1,248 @@ +/* + * Copyright © 2013 Keith Packard + * + * 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. + */ + +#ifndef _PRESENT_PROTO_H_ +#define _PRESENT_PROTO_H_ + +#include <X11/extensions/presenttokens.h> + +#define Window CARD32 +#define Pixmap CARD32 +#define Region CARD32 +#define XSyncFence CARD32 +#define EventID CARD32 + +typedef struct { + Window window; + CARD32 serial; +} xPresentNotify; +#define sz_xPresentNotify 8 + +typedef struct { + CARD8 reqType; + CARD8 presentReqType; + CARD16 length; + CARD32 majorVersion; + CARD32 minorVersion; +} xPresentQueryVersionReq; +#define sz_xPresentQueryVersionReq 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; +} xPresentQueryVersionReply; +#define sz_xPresentQueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 presentReqType; + CARD16 length; + Window window; + + Pixmap pixmap; + CARD32 serial; + + Region valid; + Region update; + + INT16 x_off; + INT16 y_off; + CARD32 target_crtc; + + XSyncFence wait_fence; + XSyncFence idle_fence; + + CARD32 options; + CARD32 pad1; + + CARD64 target_msc; + CARD64 divisor; + CARD64 remainder; + /* followed by a LISTofPRESENTNOTIFY */ +} xPresentPixmapReq; +#define sz_xPresentPixmapReq 72 + +typedef struct { + CARD8 reqType; + CARD8 presentReqType; + CARD16 length; + Window window; + + CARD32 serial; + CARD32 pad0; + + CARD64 target_msc; + CARD64 divisor; + CARD64 remainder; +} xPresentNotifyMSCReq; +#define sz_xPresentNotifyMSCReq 40 + +typedef struct { + CARD8 reqType; + CARD8 presentReqType; + CARD16 length; + CARD32 eid; + CARD32 window; + CARD32 eventMask; +} xPresentSelectInputReq; +#define sz_xPresentSelectInputReq 16 + +typedef struct { + CARD8 reqType; + CARD8 presentReqType; + CARD16 length; + CARD32 target; +} xPresentQueryCapabilitiesReq; +#define sz_xPresentQueryCapabilitiesReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber; + CARD32 length; + CARD32 capabilities; + CARD32 pad3; + CARD32 pad4; + CARD32 pad5; + CARD32 pad6; + CARD32 pad7; +} xPresentQueryCapabilitiesReply; +#define sz_xPresentQueryCapabilitiesReply 32 + +/* + * Events + * + * All Present events are X Generic Events + */ + +typedef struct { + CARD8 type; + CARD8 extension; + CARD16 sequenceNumber; + CARD32 length; + CARD16 evtype; + CARD16 pad2; + CARD32 eid; + CARD32 window; + INT16 x; + INT16 y; + CARD16 width; + CARD16 height; + INT16 off_x; + INT16 off_y; + + CARD16 pixmap_width; + CARD16 pixmap_height; + CARD32 pixmap_flags; +} xPresentConfigureNotify; +#define sz_xPresentConfigureNotify 40 + +typedef struct { + CARD8 type; + CARD8 extension; + CARD16 sequenceNumber; + CARD32 length; + CARD16 evtype; + CARD8 kind; + CARD8 mode; + CARD32 eid; + Window window; + CARD32 serial; + CARD64 ust; + + CARD64 msc; +} xPresentCompleteNotify; +#define sz_xPresentCompleteNotify 40 + +typedef struct { + CARD8 type; + CARD8 extension; + CARD16 sequenceNumber; + CARD32 length; + CARD16 evtype; + CARD16 pad2; + CARD32 eid; + Window window; + CARD32 serial; + Pixmap pixmap; + CARD32 idle_fence; +} xPresentIdleNotify; +#define sz_xPresentIdleNotify 32 + +#if PRESENT_FUTURE_VERSION +typedef struct { + CARD8 type; + CARD8 extension; + CARD16 sequenceNumber; + CARD32 length; + CARD16 evtype; + CARD8 update_window; + CARD8 pad1; + CARD32 eid; + Window event_window; + Window window; + Pixmap pixmap; + CARD32 serial; + + /* 32-byte boundary */ + + Region valid_region; + Region update_region; + + xRectangle valid_rect; + + xRectangle update_rect; + + INT16 x_off; + INT16 y_off; + CARD32 target_crtc; + + XSyncFence wait_fence; + XSyncFence idle_fence; + + CARD32 options; + CARD32 pad2; + + CARD64 target_msc; + CARD64 divisor; + CARD64 remainder; + +} xPresentRedirectNotify; + +#define sz_xPresentRedirectNotify 104 +#endif + +#undef Window +#undef Pixmap +#undef Region +#undef XSyncFence +#undef EventID + +#endif |