Home | History | Annotate | Line # | Download | only in extensions
      1 /*
      2  * Copyright (c) 2006, Oracle and/or its affiliates.
      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