117ca54c3Smrg/* 268872e7fSmrg * Copyright (c) 2006, Oracle and/or its affiliates. 317ca54c3Smrg * 417ca54c3Smrg * Permission is hereby granted, free of charge, to any person obtaining a 517ca54c3Smrg * copy of this software and associated documentation files (the "Software"), 617ca54c3Smrg * to deal in the Software without restriction, including without limitation 717ca54c3Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 817ca54c3Smrg * and/or sell copies of the Software, and to permit persons to whom the 917ca54c3Smrg * Software is furnished to do so, subject to the following conditions: 1017ca54c3Smrg * 1117ca54c3Smrg * The above copyright notice and this permission notice (including the next 1217ca54c3Smrg * paragraph) shall be included in all copies or substantial portions of the 1317ca54c3Smrg * Software. 1417ca54c3Smrg * 1517ca54c3Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1617ca54c3Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1717ca54c3Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 1817ca54c3Smrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 1917ca54c3Smrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 2017ca54c3Smrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 2117ca54c3Smrg * DEALINGS IN THE SOFTWARE. 2217ca54c3Smrg */ 2317ca54c3Smrg/* 2417ca54c3Smrg * Copyright © 2003 Keith Packard 2517ca54c3Smrg * 2617ca54c3Smrg * Permission to use, copy, modify, distribute, and sell this software and its 2717ca54c3Smrg * documentation for any purpose is hereby granted without fee, provided that 2817ca54c3Smrg * the above copyright notice appear in all copies and that both that 2917ca54c3Smrg * copyright notice and this permission notice appear in supporting 3017ca54c3Smrg * documentation, and that the name of Keith Packard not be used in 3117ca54c3Smrg * advertising or publicity pertaining to distribution of the software without 3217ca54c3Smrg * specific, written prior permission. Keith Packard makes no 3317ca54c3Smrg * representations about the suitability of this software for any purpose. It 3417ca54c3Smrg * is provided "as is" without express or implied warranty. 3517ca54c3Smrg * 3617ca54c3Smrg * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 3717ca54c3Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 3817ca54c3Smrg * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 3917ca54c3Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 4017ca54c3Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 4117ca54c3Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 4217ca54c3Smrg * PERFORMANCE OF THIS SOFTWARE. 4317ca54c3Smrg */ 4417ca54c3Smrg 4517ca54c3Smrg#ifndef _COMPOSITEPROTO_H_ 4617ca54c3Smrg#define _COMPOSITEPROTO_H_ 4717ca54c3Smrg 4817ca54c3Smrg#include <X11/Xmd.h> 4917ca54c3Smrg#include <X11/extensions/composite.h> 5017ca54c3Smrg 5117ca54c3Smrg#define Window CARD32 5217ca54c3Smrg#define Region CARD32 5317ca54c3Smrg#define Pixmap CARD32 5417ca54c3Smrg 55ea1d6981Smrg/* 5617ca54c3Smrg * requests and replies 5717ca54c3Smrg */ 5817ca54c3Smrgtypedef struct { 5917ca54c3Smrg CARD8 reqType; 6017ca54c3Smrg CARD8 compositeReqType; 61ea1d6981Smrg CARD16 length; 62ea1d6981Smrg CARD32 majorVersion; 63ea1d6981Smrg CARD32 minorVersion; 6417ca54c3Smrg} xCompositeQueryVersionReq; 6517ca54c3Smrg 6617ca54c3Smrg#define sz_xCompositeQueryVersionReq 12 6717ca54c3Smrg 6817ca54c3Smrgtypedef struct { 6917ca54c3Smrg BYTE type; /* X_Reply */ 7017ca54c3Smrg BYTE pad1; 71ea1d6981Smrg CARD16 sequenceNumber; 72ea1d6981Smrg CARD32 length; 73ea1d6981Smrg CARD32 majorVersion; 74ea1d6981Smrg CARD32 minorVersion; 75ea1d6981Smrg CARD32 pad2; 76ea1d6981Smrg CARD32 pad3; 77ea1d6981Smrg CARD32 pad4; 78ea1d6981Smrg CARD32 pad5; 7917ca54c3Smrg} xCompositeQueryVersionReply; 8017ca54c3Smrg 8117ca54c3Smrg#define sz_xCompositeQueryVersionReply 32 8217ca54c3Smrg 8317ca54c3Smrgtypedef struct { 8417ca54c3Smrg CARD8 reqType; 8517ca54c3Smrg CARD8 compositeReqType; 86ea1d6981Smrg CARD16 length; 87ea1d6981Smrg Window window; 8817ca54c3Smrg CARD8 update; 8917ca54c3Smrg CARD8 pad1; 90ea1d6981Smrg CARD16 pad2; 9117ca54c3Smrg} xCompositeRedirectWindowReq; 9217ca54c3Smrg 9317ca54c3Smrg#define sz_xCompositeRedirectWindowReq 12 9417ca54c3Smrg 9517ca54c3Smrgtypedef struct { 9617ca54c3Smrg CARD8 reqType; 9717ca54c3Smrg CARD8 compositeReqType; 98ea1d6981Smrg CARD16 length; 99ea1d6981Smrg Window window; 10017ca54c3Smrg CARD8 update; 10117ca54c3Smrg CARD8 pad1; 102ea1d6981Smrg CARD16 pad2; 10317ca54c3Smrg} xCompositeRedirectSubwindowsReq; 10417ca54c3Smrg 10517ca54c3Smrg#define sz_xCompositeRedirectSubwindowsReq 12 10617ca54c3Smrg 10717ca54c3Smrgtypedef struct { 10817ca54c3Smrg CARD8 reqType; 10917ca54c3Smrg CARD8 compositeReqType; 110ea1d6981Smrg CARD16 length; 111ea1d6981Smrg Window window; 11217ca54c3Smrg CARD8 update; 11317ca54c3Smrg CARD8 pad1; 114ea1d6981Smrg CARD16 pad2; 11517ca54c3Smrg} xCompositeUnredirectWindowReq; 11617ca54c3Smrg 11717ca54c3Smrg#define sz_xCompositeUnredirectWindowReq 12 11817ca54c3Smrg 11917ca54c3Smrgtypedef struct { 12017ca54c3Smrg CARD8 reqType; 12117ca54c3Smrg CARD8 compositeReqType; 122ea1d6981Smrg CARD16 length; 123ea1d6981Smrg Window window; 12417ca54c3Smrg CARD8 update; 12517ca54c3Smrg CARD8 pad1; 126ea1d6981Smrg CARD16 pad2; 12717ca54c3Smrg} xCompositeUnredirectSubwindowsReq; 12817ca54c3Smrg 12917ca54c3Smrg#define sz_xCompositeUnredirectSubwindowsReq 12 13017ca54c3Smrg 13117ca54c3Smrgtypedef struct { 13217ca54c3Smrg CARD8 reqType; 13317ca54c3Smrg CARD8 compositeReqType; 134ea1d6981Smrg CARD16 length; 135ea1d6981Smrg Region region; 136ea1d6981Smrg Window window; 13717ca54c3Smrg} xCompositeCreateRegionFromBorderClipReq; 13817ca54c3Smrg 13917ca54c3Smrg#define sz_xCompositeCreateRegionFromBorderClipReq 12 14017ca54c3Smrg 14117ca54c3Smrg/* Version 0.2 additions */ 14217ca54c3Smrg 14317ca54c3Smrgtypedef struct { 14417ca54c3Smrg CARD8 reqType; 14517ca54c3Smrg CARD8 compositeReqType; 14617ca54c3Smrg CARD16 length; 147ea1d6981Smrg Window window; 148ea1d6981Smrg Pixmap pixmap; 14917ca54c3Smrg} xCompositeNameWindowPixmapReq; 15017ca54c3Smrg 15117ca54c3Smrg#define sz_xCompositeNameWindowPixmapReq 12 15217ca54c3Smrg 15317ca54c3Smrg/* Version 0.3 additions */ 15417ca54c3Smrg 15517ca54c3Smrgtypedef struct { 15617ca54c3Smrg CARD8 reqType; 15717ca54c3Smrg CARD8 compositeReqType; 158ea1d6981Smrg CARD16 length; 159ea1d6981Smrg Window window; 16017ca54c3Smrg} xCompositeGetOverlayWindowReq; 16117ca54c3Smrg 16217ca54c3Smrg#define sz_xCompositeGetOverlayWindowReq sizeof(xCompositeGetOverlayWindowReq) 16317ca54c3Smrg 16417ca54c3Smrgtypedef struct { 16517ca54c3Smrg BYTE type; /* X_Reply */ 16617ca54c3Smrg BYTE pad1; 167ea1d6981Smrg CARD16 sequenceNumber; 168ea1d6981Smrg CARD32 length; 169ea1d6981Smrg Window overlayWin; 170ea1d6981Smrg CARD32 pad2; 171ea1d6981Smrg CARD32 pad3; 172ea1d6981Smrg CARD32 pad4; 173ea1d6981Smrg CARD32 pad5; 174ea1d6981Smrg CARD32 pad6; 17517ca54c3Smrg} xCompositeGetOverlayWindowReply; 17617ca54c3Smrg 17717ca54c3Smrg#define sz_xCompositeGetOverlayWindowReply sizeof(xCompositeGetOverlayWindowReply) 17817ca54c3Smrg 17917ca54c3Smrgtypedef struct { 18017ca54c3Smrg CARD8 reqType; 18117ca54c3Smrg CARD8 compositeReqType; 182ea1d6981Smrg CARD16 length; 183ea1d6981Smrg Window window; 18417ca54c3Smrg} xCompositeReleaseOverlayWindowReq; 18517ca54c3Smrg 18617ca54c3Smrg#define sz_xCompositeReleaseOverlayWindowReq sizeof(xCompositeReleaseOverlayWindowReq) 18717ca54c3Smrg 18817ca54c3Smrg#undef Window 18917ca54c3Smrg#undef Region 19017ca54c3Smrg#undef Pixmap 19117ca54c3Smrg 19217ca54c3Smrg#endif /* _COMPOSITEPROTO_H_ */ 193