6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync/*
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * $Id: compositeproto.h,v 1.4 2004/07/08 07:20:55 keithp Exp $
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync *
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync *
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * Copyright © 2006 Sun Microsystems
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync *
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * Permission to use, copy, modify, distribute, and sell this software and its
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * documentation for any purpose is hereby granted without fee, provided that
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * the above copyright notice appear in all copies and that both that
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * copyright notice and this permission notice appear in supporting
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * documentation, and that the name of Sun Microsystems not be used in
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * advertising or publicity pertaining to distribution of the software without
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * specific, written prior permission. Sun Microsystems makes no
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * representations about the suitability of this software for any purpose. It
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * is provided "as is" without express or implied warranty.
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync *
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * PERFORMANCE OF THIS SOFTWARE.
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync *
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * Copyright © 2003 Keith Packard
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync *
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * Permission to use, copy, modify, distribute, and sell this software and its
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * documentation for any purpose is hereby granted without fee, provided that
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * the above copyright notice appear in all copies and that both that
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * copyright notice and this permission notice appear in supporting
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * documentation, and that the name of Keith Packard not be used in
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * advertising or publicity pertaining to distribution of the software without
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * specific, written prior permission. Keith Packard makes no
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * representations about the suitability of this software for any purpose. It
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * is provided "as is" without express or implied warranty.
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync *
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * PERFORMANCE OF THIS SOFTWARE.
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync */
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#ifndef _COMPOSITEPROTO_H_
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define _COMPOSITEPROTO_H_
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#include <X11/Xmd.h>
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#include <X11/extensions/composite.h>
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define Window CARD32
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define Region CARD32
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync/*
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync * requests and replies
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync */
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsynctypedef struct {
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 reqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 compositeReqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 length B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 majorVersion B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 minorVersion B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync} xCompositeQueryVersionReq;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define sz_xCompositeQueryVersionReq 12
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsynctypedef struct {
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync BYTE type; /* X_Reply */
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync BYTE pad1;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 sequenceNumber B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 length B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 majorVersion B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 minorVersion B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 pad2 B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 pad3 B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 pad4 B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 pad5 B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync} xCompositeQueryVersionReply;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define sz_xCompositeQueryVersionReply 32
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsynctypedef struct {
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 reqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 compositeReqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 length B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync Window window B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 update;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 pad1;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 pad2 B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync} xCompositeRedirectWindowReq;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define sz_xCompositeRedirectWindowReq 12
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsynctypedef struct {
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 reqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 compositeReqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 length B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync Window window B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 update;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 pad1;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 pad2 B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync} xCompositeRedirectSubwindowsReq;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define sz_xCompositeRedirectSubwindowsReq 12
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsynctypedef struct {
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 reqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 compositeReqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 length B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync Window window B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 update;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 pad1;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 pad2 B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync} xCompositeUnredirectWindowReq;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define sz_xCompositeUnredirectWindowReq 12
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsynctypedef struct {
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 reqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 compositeReqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 length B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync Window window B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 update;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 pad1;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 pad2 B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync} xCompositeUnredirectSubwindowsReq;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define sz_xCompositeUnredirectSubwindowsReq 12
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsynctypedef struct {
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 reqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 compositeReqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 length B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync Region region B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync Window window B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync} xCompositeCreateRegionFromBorderClipReq;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define sz_xCompositeCreateRegionFromBorderClipReq 12
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync/* Version 0.2 additions */
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsynctypedef struct {
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 reqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 compositeReqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 length;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync Window window B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync Pixmap pixmap B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync} xCompositeNameWindowPixmapReq;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define sz_xCompositeNameWindowPixmapReq 12
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync/* Version 0.3 additions */
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsynctypedef struct {
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 reqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 compositeReqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 length B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync Window window B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync} xCompositeGetOverlayWindowReq;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define sz_xCompositeGetOverlayWindowReq sizeof(xCompositeGetOverlayWindowReq)
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsynctypedef struct {
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync BYTE type; /* X_Reply */
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync BYTE pad1;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 sequenceNumber B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 length B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync Window overlayWin B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 pad2 B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 pad3 B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 pad4 B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 pad5 B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD32 pad6 B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync} xCompositeGetOverlayWindowReply;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define sz_xCompositeGetOverlayWindowReply sizeof(xCompositeGetOverlayWindowReply)
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsynctypedef struct {
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 reqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD8 compositeReqType;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync CARD16 length B16;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync Window window B32;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync} xCompositeReleaseOverlayWindowReq;
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#define sz_xCompositeReleaseOverlayWindowReq sizeof(xCompositeReleaseOverlayWindowReq)
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#undef Window
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#undef Region
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync
6d63826eda6b7f83377256f4ad0833d0b4e448fdvboxsync#endif /* _COMPOSITEPROTO_H_ */