1 /* 2 * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a 5 * copy of this software and associated documentation files (the "Software"), 6 * to deal in the Software without restriction, including without limitation 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 * and/or sell copies of the Software, and to permit persons to whom the 9 * Software is furnished to do so, subject to the following conditions: 10 * 11 * The above copyright notice and this permission notice (including the next 12 * paragraph) shall be included in all copies or substantial portions of the 13 * Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21 * DEALINGS IN THE SOFTWARE. 22 */ 23 /* 24 * Copyright © 2003 Keith Packard 25 * 26 * Permission to use, copy, modify, distribute, and sell this software and its 27 * documentation for any purpose is hereby granted without fee, provided that 28 * the above copyright notice appear in all copies and that both that 29 * copyright notice and this permission notice appear in supporting 30 * documentation, and that the name of Keith Packard not be used in 31 * advertising or publicity pertaining to distribution of the software without 32 * specific, written prior permission. Keith Packard makes no 33 * representations about the suitability of this software for any purpose. It 34 * is provided "as is" without express or implied warranty. 35 * 36 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 37 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 38 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 39 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 40 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 41 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 42 * PERFORMANCE OF THIS SOFTWARE. 43 */ 44 45 #ifndef _COMPOSITEPROTO_H_ 46 #define _COMPOSITEPROTO_H_ 47 48 #include <X11/Xmd.h> 49 #include <X11/extensions/composite.h> 50 51 #define Window CARD32 52 #define Region CARD32 53 #define Pixmap CARD32 54 55 /* 56 * requests and replies 57 */ 58 typedef struct { 59 CARD8 reqType; 60 CARD8 compositeReqType; 61 CARD16 length; 62 CARD32 majorVersion; 63 CARD32 minorVersion; 64 } xCompositeQueryVersionReq; 65 66 #define sz_xCompositeQueryVersionReq 12 67 68 typedef struct { 69 BYTE type; /* X_Reply */ 70 BYTE pad1; 71 CARD16 sequenceNumber; 72 CARD32 length; 73 CARD32 majorVersion; 74 CARD32 minorVersion; 75 CARD32 pad2; 76 CARD32 pad3; 77 CARD32 pad4; 78 CARD32 pad5; 79 } xCompositeQueryVersionReply; 80 81 #define sz_xCompositeQueryVersionReply 32 82 83 typedef struct { 84 CARD8 reqType; 85 CARD8 compositeReqType; 86 CARD16 length; 87 Window window; 88 CARD8 update; 89 CARD8 pad1; 90 CARD16 pad2; 91 } xCompositeRedirectWindowReq; 92 93 #define sz_xCompositeRedirectWindowReq 12 94 95 typedef struct { 96 CARD8 reqType; 97 CARD8 compositeReqType; 98 CARD16 length; 99 Window window; 100 CARD8 update; 101 CARD8 pad1; 102 CARD16 pad2; 103 } xCompositeRedirectSubwindowsReq; 104 105 #define sz_xCompositeRedirectSubwindowsReq 12 106 107 typedef struct { 108 CARD8 reqType; 109 CARD8 compositeReqType; 110 CARD16 length; 111 Window window; 112 CARD8 update; 113 CARD8 pad1; 114 CARD16 pad2; 115 } xCompositeUnredirectWindowReq; 116 117 #define sz_xCompositeUnredirectWindowReq 12 118 119 typedef struct { 120 CARD8 reqType; 121 CARD8 compositeReqType; 122 CARD16 length; 123 Window window; 124 CARD8 update; 125 CARD8 pad1; 126 CARD16 pad2; 127 } xCompositeUnredirectSubwindowsReq; 128 129 #define sz_xCompositeUnredirectSubwindowsReq 12 130 131 typedef struct { 132 CARD8 reqType; 133 CARD8 compositeReqType; 134 CARD16 length; 135 Region region; 136 Window window; 137 } xCompositeCreateRegionFromBorderClipReq; 138 139 #define sz_xCompositeCreateRegionFromBorderClipReq 12 140 141 /* Version 0.2 additions */ 142 143 typedef struct { 144 CARD8 reqType; 145 CARD8 compositeReqType; 146 CARD16 length; 147 Window window; 148 Pixmap pixmap; 149 } xCompositeNameWindowPixmapReq; 150 151 #define sz_xCompositeNameWindowPixmapReq 12 152 153 /* Version 0.3 additions */ 154 155 typedef struct { 156 CARD8 reqType; 157 CARD8 compositeReqType; 158 CARD16 length; 159 Window window; 160 } xCompositeGetOverlayWindowReq; 161 162 #define sz_xCompositeGetOverlayWindowReq sizeof(xCompositeGetOverlayWindowReq) 163 164 typedef struct { 165 BYTE type; /* X_Reply */ 166 BYTE pad1; 167 CARD16 sequenceNumber; 168 CARD32 length; 169 Window overlayWin; 170 CARD32 pad2; 171 CARD32 pad3; 172 CARD32 pad4; 173 CARD32 pad5; 174 CARD32 pad6; 175 } xCompositeGetOverlayWindowReply; 176 177 #define sz_xCompositeGetOverlayWindowReply sizeof(xCompositeGetOverlayWindowReply) 178 179 typedef struct { 180 CARD8 reqType; 181 CARD8 compositeReqType; 182 CARD16 length; 183 Window window; 184 } xCompositeReleaseOverlayWindowReq; 185 186 #define sz_xCompositeReleaseOverlayWindowReq sizeof(xCompositeReleaseOverlayWindowReq) 187 188 #undef Window 189 #undef Region 190 #undef Pixmap 191 192 #endif /* _COMPOSITEPROTO_H_ */ 193