damageproto.h
上传用户:lctgjx
上传日期:2022-06-04
资源大小:8887k
文件大小:4k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

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