github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/xcb/include/X11/extensions/damageproto.h (about)

     1  /*
     2   * Copyright © 2003 Keith Packard
     3   * Copyright © 2007 Eric Anholt
     4   *
     5   * Permission to use, copy, modify, distribute, and sell this software and its
     6   * documentation for any purpose is hereby granted without fee, provided that
     7   * the above copyright notice appear in all copies and that both that
     8   * copyright notice and this permission notice appear in supporting
     9   * documentation, and that the name of Keith Packard not be used in
    10   * advertising or publicity pertaining to distribution of the software without
    11   * specific, written prior permission.  Keith Packard makes no
    12   * representations about the suitability of this software for any purpose.  It
    13   * is provided "as is" without express or implied warranty.
    14   *
    15   * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
    16   * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
    17   * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
    18   * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
    19   * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
    20   * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    21   * PERFORMANCE OF THIS SOFTWARE.
    22   */
    23  
    24  #ifndef _DAMAGEPROTO_H_
    25  #define _DAMAGEPROTO_H_
    26  
    27  #include <X11/Xmd.h>
    28  #include <X11/extensions/xfixesproto.h>
    29  #include <X11/extensions/damagewire.h>
    30  
    31  #define Window CARD32
    32  #define Drawable CARD32
    33  #define Font CARD32
    34  #define Pixmap CARD32
    35  #define Cursor CARD32
    36  #define Colormap CARD32
    37  #define GContext CARD32
    38  #define Atom CARD32
    39  #define VisualID CARD32
    40  #define Time CARD32
    41  #define KeyCode CARD8
    42  #define KeySym CARD32
    43  #define Picture CARD32
    44  #define Region CARD32
    45  #define Damage CARD32
    46  
    47  /************** Version 0 ******************/
    48  
    49  typedef struct {
    50      CARD8   reqType;
    51      CARD8   damageReqType;
    52      CARD16  length;
    53  } xDamageReq;
    54  
    55  /*
    56   * requests and replies
    57   */
    58  
    59  typedef struct {
    60      CARD8   reqType;
    61      CARD8   damageReqType;
    62      CARD16  length;
    63      CARD32  majorVersion;
    64      CARD32  minorVersion;
    65  } xDamageQueryVersionReq;
    66  
    67  #define sz_xDamageQueryVersionReq   12
    68  
    69  typedef struct {
    70      BYTE    type;   /* X_Reply */
    71      BYTE    pad1;
    72      CARD16  sequenceNumber;
    73      CARD32  length;
    74      CARD32  majorVersion;
    75      CARD32  minorVersion;
    76      CARD32  pad2;
    77      CARD32  pad3;
    78      CARD32  pad4;
    79      CARD32  pad5;
    80  } xDamageQueryVersionReply;
    81  
    82  #define sz_xDamageQueryVersionReply	32
    83  
    84  typedef struct {
    85      CARD8	reqType;
    86      CARD8	damageReqType;
    87      CARD16	length;
    88      Damage	damage;
    89      Drawable	drawable;
    90      CARD8	level;
    91      CARD8	pad1;
    92      CARD16	pad2;
    93  } xDamageCreateReq;
    94  
    95  #define sz_xDamageCreateReq		16
    96  
    97  typedef struct {
    98      CARD8	reqType;
    99      CARD8	damageReqType;
   100      CARD16	length;
   101      Damage	damage;
   102  } xDamageDestroyReq;
   103  
   104  #define sz_xDamageDestroyReq		8
   105  
   106  typedef struct {
   107      CARD8	reqType;
   108      CARD8	damageReqType;
   109      CARD16	length;
   110      Damage	damage;
   111      Region	repair;
   112      Region	parts;
   113  } xDamageSubtractReq;
   114  
   115  #define sz_xDamageSubtractReq		16
   116  
   117  typedef struct {
   118      CARD8	reqType;
   119      CARD8	damageReqType;
   120      CARD16	length;
   121      Drawable	drawable;
   122      Region	region;
   123  } xDamageAddReq;
   124  
   125  #define sz_xDamageAddReq		12
   126  
   127  /* Events */
   128  
   129  #define DamageNotifyMore    0x80
   130  
   131  typedef struct {
   132      CARD8	type;
   133      CARD8	level;
   134      CARD16	sequenceNumber;
   135      Drawable	drawable;
   136      Damage	damage;
   137      Time	timestamp;
   138      xRectangle	area;
   139      xRectangle	geometry;
   140  } xDamageNotifyEvent;
   141  
   142  #undef Damage
   143  #undef Region
   144  #undef Picture
   145  #undef Window
   146  #undef Drawable
   147  #undef Font
   148  #undef Pixmap
   149  #undef Cursor
   150  #undef Colormap
   151  #undef GContext
   152  #undef Atom
   153  #undef VisualID
   154  #undef Time
   155  #undef KeyCode
   156  #undef KeySym
   157  
   158  #endif /* _DAMAGEPROTO_H_ */