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

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.  * $XFree86: xc/include/extensions/xfixesproto.h,v 1.1 2002/11/30 06:21:43 keithp Exp $
  3.  *
  4.  * Copyright © 2006 Sun Microsystems
  5.  *
  6.  * Permission to use, copy, modify, distribute, and sell this software and its
  7.  * documentation for any purpose is hereby granted without fee, provided that
  8.  * the above copyright notice appear in all copies and that both that
  9.  * copyright notice and this permission notice appear in supporting
  10.  * documentation, and that the name of Sun Microsystems not be used in
  11.  * advertising or publicity pertaining to distribution of the software without
  12.  * specific, written prior permission.  Sun Microsystems makes no
  13.  * representations about the suitability of this software for any purpose.  It
  14.  * is provided "as is" without express or implied warranty.
  15.  *
  16.  * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  17.  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  18.  * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  19.  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  20.  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  21.  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  22.  * PERFORMANCE OF THIS SOFTWARE.
  23.  *
  24.  * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
  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. #ifndef _XFIXESPROTO_H_
  45. #define _XFIXESPROTO_H_
  46. #include <X11/Xmd.h>
  47. #include <X11/extensions/xfixeswire.h>
  48. #define _SHAPE_SERVER_
  49. #include <X11/extensions/shape.h>
  50. #undef _SHAPE_SERVER_
  51. #define Window CARD32
  52. #define Drawable CARD32
  53. #define Font CARD32
  54. #define Pixmap CARD32
  55. #define Cursor CARD32
  56. #define Colormap CARD32
  57. #define GContext CARD32
  58. #define Atom CARD32
  59. #define VisualID CARD32
  60. #define Time CARD32
  61. #define KeyCode CARD8
  62. #define KeySym CARD32
  63. #define Picture CARD32
  64. /*************** Version 1 ******************/
  65. typedef struct {
  66.     CARD8   reqType;
  67.     CARD8   xfixesReqType;
  68.     CARD16  length B16;
  69. } xXFixesReq;
  70. /* 
  71.  * requests and replies
  72.  */
  73. typedef struct {
  74.     CARD8   reqType;
  75.     CARD8   xfixesReqType;
  76.     CARD16  length B16;
  77.     CARD32  majorVersion B32;
  78.     CARD32  minorVersion B32;
  79. } xXFixesQueryVersionReq;
  80. #define sz_xXFixesQueryVersionReq   12
  81. typedef struct {
  82.     BYTE    type;   /* X_Reply */
  83.     BYTE    pad1;
  84.     CARD16  sequenceNumber B16;
  85.     CARD32  length B32;
  86.     CARD32  majorVersion B32;
  87.     CARD32  minorVersion B32;
  88.     CARD32  pad2 B32;
  89.     CARD32  pad3 B32;
  90.     CARD32  pad4 B32;
  91.     CARD32  pad5 B32;
  92. } xXFixesQueryVersionReply;
  93. #define sz_xXFixesQueryVersionReply 32
  94. typedef struct {
  95.     CARD8   reqType;
  96.     CARD8   xfixesReqType;
  97.     CARD16  length B16;
  98.     BYTE    mode;     /* SetModeInsert/SetModeDelete*/
  99.     BYTE    target;     /* SaveSetNearest/SaveSetRoot*/
  100.     BYTE    map;     /* SaveSetMap/SaveSetUnmap */
  101.     BYTE    pad1;
  102.     Window  window;
  103. } xXFixesChangeSaveSetReq;
  104. #define sz_xXFixesChangeSaveSetReq 12
  105. typedef struct {
  106.     CARD8   reqType;
  107.     CARD8   xfixesReqType;
  108.     CARD16  length B16;
  109.     Window  window  B32;
  110.     Atom    selection B32;
  111.     CARD32  eventMask B32;
  112. } xXFixesSelectSelectionInputReq;
  113. #define sz_xXFixesSelectSelectionInputReq   16
  114. typedef struct {
  115.     CARD8   type;
  116.     CARD8   subtype;
  117.     CARD16  sequenceNumber B16;
  118.     Window  window B32;
  119.     Window  owner B32;
  120.     Atom    selection B32;
  121.     Time    timestamp B32;
  122.     Time    selectionTimestamp B32;
  123.     CARD32  pad2 B32;
  124.     CARD32  pad3 B32;
  125. } xXFixesSelectionNotifyEvent;
  126. typedef struct {
  127.     CARD8   reqType;
  128.     CARD8   xfixesReqType;
  129.     CARD16  length B16;
  130.     Window  window B32;
  131.     CARD32  eventMask B32;
  132. } xXFixesSelectCursorInputReq;
  133. #define sz_xXFixesSelectCursorInputReq 12
  134. typedef struct {
  135.     CARD8   type;
  136.     CARD8   subtype;
  137.     CARD16  sequenceNumber B16;
  138.     Window  window B32;
  139.     CARD32  cursorSerial B32;
  140.     Time    timestamp;
  141.     Atom    name B32;     /* Version 2 */
  142.     CARD32  pad1 B32;
  143.     CARD32  pad2 B32;
  144.     CARD32  pad3 B32;
  145. } xXFixesCursorNotifyEvent;
  146. typedef struct {
  147.     CARD8   reqType;
  148.     CARD8   xfixesReqType;
  149.     CARD16  length B16;
  150. } xXFixesGetCursorImageReq;
  151. #define sz_xXFixesGetCursorImageReq 4
  152. typedef struct {
  153.     BYTE    type;   /* X_Reply */
  154.     BYTE    pad1;
  155.     CARD16  sequenceNumber B16;
  156.     CARD32  length B32;
  157.     INT16   x B16;
  158.     INT16   y B16;
  159.     CARD16  width B16;
  160.     CARD16  height B16;
  161.     CARD16  xhot B16;
  162.     CARD16  yhot B16;
  163.     CARD32  cursorSerial B32;
  164.     CARD32  pad2 B32;
  165.     CARD32  pad3 B32;
  166. } xXFixesGetCursorImageReply;
  167. #define sz_xXFixesGetCursorImageReply 32
  168. /*************** Version 2 ******************/
  169. #define Region CARD32
  170. typedef struct {
  171.     CARD8   reqType;
  172.     CARD8   xfixesReqType;
  173.     CARD16  length B16;
  174.     Region  region B32;
  175.     /* LISTofRECTANGLE */
  176. } xXFixesCreateRegionReq;
  177. #define sz_xXFixesCreateRegionReq 8
  178. typedef struct {
  179.     CARD8   reqType;
  180.     CARD8   xfixesReqType;
  181.     CARD16  length B16;
  182.     Region  region B32;
  183.     Pixmap  bitmap B32;
  184. } xXFixesCreateRegionFromBitmapReq;
  185. #define sz_xXFixesCreateRegionFromBitmapReq 12
  186. typedef struct {
  187.     CARD8   reqType;
  188.     CARD8   xfixesReqType;
  189.     CARD16  length B16;
  190.     Region  region B32;
  191.     Window  window B32;
  192.     CARD8   kind;
  193.     CARD8   pad1;
  194.     CARD16  pad2 B16;
  195. } xXFixesCreateRegionFromWindowReq;
  196. #define sz_xXFixesCreateRegionFromWindowReq 16
  197. typedef struct {
  198.     CARD8   reqType;
  199.     CARD8   xfixesReqType;
  200.     CARD16  length B16;
  201.     Region  region B32;
  202.     GContext gc B32;
  203. } xXFixesCreateRegionFromGCReq;
  204. #define sz_xXFixesCreateRegionFromGCReq 12
  205. typedef struct {
  206.     CARD8   reqType;
  207.     CARD8   xfixesReqType;
  208.     CARD16  length B16;
  209.     Region  region B32;
  210.     Picture picture B32;
  211. } xXFixesCreateRegionFromPictureReq;
  212. #define sz_xXFixesCreateRegionFromPictureReq 12
  213. typedef struct {
  214.     CARD8   reqType;
  215.     CARD8   xfixesReqType;
  216.     CARD16  length B16;
  217.     Region  region B32;
  218. } xXFixesDestroyRegionReq;
  219. #define sz_xXFixesDestroyRegionReq 8
  220. typedef struct {
  221.     CARD8   reqType;
  222.     CARD8   xfixesReqType;
  223.     CARD16  length B16;
  224.     Region  region B32;
  225.     /* LISTofRECTANGLE */
  226. } xXFixesSetRegionReq;
  227. #define sz_xXFixesSetRegionReq 8
  228. typedef struct {
  229.     CARD8   reqType;
  230.     CARD8   xfixesReqType;
  231.     CARD16  length B16;
  232.     Region  source B32;
  233.     Region  destination B32;
  234. } xXFixesCopyRegionReq;
  235. #define sz_xXFixesCopyRegionReq 12
  236. typedef struct {
  237.     CARD8   reqType;
  238.     CARD8   xfixesReqType;
  239.     CARD16  length B16;
  240.     Region  source1 B32;
  241.     Region  source2 B32;
  242.     Region  destination B32;
  243. } xXFixesCombineRegionReq,
  244.   xXFixesUnionRegionReq,
  245.   xXFixesIntersectRegionReq,
  246.   xXFixesSubtractRegionReq;
  247. #define sz_xXFixesCombineRegionReq 16
  248. #define sz_xXFixesUnionRegionReq sz_xXFixesCombineRegionReq
  249. #define sz_xXFixesIntersectRegionReq sz_xXFixesCombineRegionReq
  250. #define sz_xXFixesSubtractRegionReq sz_xXFixesCombineRegionReq
  251. typedef struct {
  252.     CARD8   reqType;
  253.     CARD8   xfixesReqType;
  254.     CARD16  length B16;
  255.     Region  source B32;
  256.     INT16   x B16, y B16;
  257.     CARD16  width B16, height B16;
  258.     Region  destination B32;
  259. } xXFixesInvertRegionReq;
  260. #define sz_xXFixesInvertRegionReq 20
  261. typedef struct {
  262.     CARD8   reqType;
  263.     CARD8   xfixesReqType;
  264.     CARD16  length B16;
  265.     Region  region B32;
  266.     INT16   dx B16, dy B16;
  267. } xXFixesTranslateRegionReq;
  268. #define sz_xXFixesTranslateRegionReq 12
  269.     
  270. typedef struct {
  271.     CARD8   reqType;
  272.     CARD8   xfixesReqType;
  273.     CARD16  length B16;
  274.     Region  source B32;
  275.     Region  destination B32;
  276. } xXFixesRegionExtentsReq;
  277. #define sz_xXFixesRegionExtentsReq 12
  278. typedef struct {
  279.     CARD8   reqType;
  280.     CARD8   xfixesReqType;
  281.     CARD16  length B16;
  282.     Region  region B32;
  283. } xXFixesFetchRegionReq;
  284. #define sz_xXFixesFetchRegionReq 8
  285. typedef struct {
  286.     BYTE    type;   /* X_Reply */
  287.     BYTE    pad1;
  288.     CARD16  sequenceNumber B16;
  289.     CARD32  length B32;
  290.     INT16   x B16, y B16;
  291.     CARD16  width B16, height B16;
  292.     CARD32  pad2 B32;
  293.     CARD32  pad3 B32;
  294.     CARD32  pad4 B32;
  295.     CARD32  pad5 B32;
  296. } xXFixesFetchRegionReply;
  297. #define sz_xXFixesFetchRegionReply 32
  298. typedef struct {
  299.     CARD8   reqType;
  300.     CARD8   xfixesReqType;
  301.     CARD16  length B16;
  302.     GContext gc B32;
  303.     Region  region B32;
  304.     INT16   xOrigin B16, yOrigin B16;
  305. } xXFixesSetGCClipRegionReq;
  306. #define sz_xXFixesSetGCClipRegionReq 16
  307. typedef struct {
  308.     CARD8   reqType;
  309.     CARD8   xfixesReqType;
  310.     CARD16  length B16;
  311.     Window  dest;
  312.     BYTE    destKind;
  313.     CARD8   pad1;
  314.     CARD16  pad2 B16;
  315.     INT16   xOff B16, yOff B16;
  316.     Region  region;
  317. } xXFixesSetWindowShapeRegionReq;
  318. #define sz_xXFixesSetWindowShapeRegionReq 20
  319. typedef struct {
  320.     CARD8   reqType;
  321.     CARD8   xfixesReqType;
  322.     CARD16  length B16;
  323.     Picture picture B32;
  324.     Region  region B32;
  325.     INT16   xOrigin B16, yOrigin B16;
  326. } xXFixesSetPictureClipRegionReq;
  327. #define sz_xXFixesSetPictureClipRegionReq   16
  328. typedef struct {
  329.     CARD8   reqType;
  330.     CARD8   xfixesReqType;
  331.     CARD16  length B16;
  332.     Cursor  cursor B32;
  333.     CARD16  nbytes B16;
  334.     CARD16  pad B16;
  335. } xXFixesSetCursorNameReq;
  336. #define sz_xXFixesSetCursorNameReq     12
  337. typedef struct {
  338.     CARD8   reqType;
  339.     CARD8   xfixesReqType;
  340.     CARD16  length B16;
  341.     Cursor  cursor B32;
  342. } xXFixesGetCursorNameReq;
  343. #define sz_xXFixesGetCursorNameReq     8
  344. typedef struct {
  345.     BYTE    type;   /* X_Reply */
  346.     BYTE    pad1;
  347.     CARD16  sequenceNumber B16;
  348.     CARD32  length B32;
  349.     Atom    atom B32;
  350.     CARD16  nbytes B16;
  351.     CARD16  pad2 B16;
  352.     CARD32  pad3 B32;
  353.     CARD32  pad4 B32;
  354.     CARD32  pad5 B32;
  355.     CARD32  pad6 B32;
  356. } xXFixesGetCursorNameReply;
  357. #define sz_xXFixesGetCursorNameReply     32
  358. typedef struct {
  359.     CARD8   reqType;
  360.     CARD8   xfixesReqType;
  361.     CARD16  length B16;
  362. } xXFixesGetCursorImageAndNameReq;
  363. #define sz_xXFixesGetCursorImageAndNameReq  4
  364. typedef struct {
  365.     BYTE    type;   /* X_Reply */
  366.     BYTE    pad1;
  367.     CARD16  sequenceNumber B16;
  368.     CARD32  length B32;
  369.     INT16   x B16;
  370.     INT16   y B16;
  371.     CARD16  width B16;
  372.     CARD16  height B16;
  373.     CARD16  xhot B16;
  374.     CARD16  yhot B16;
  375.     CARD32  cursorSerial B32;
  376.     Atom    cursorName B32;
  377.     CARD16  nbytes B16;
  378.     CARD16  pad B16;
  379. } xXFixesGetCursorImageAndNameReply;
  380. #define sz_xXFixesGetCursorImageAndNameReply 32
  381. typedef struct {
  382.     CARD8   reqType;
  383.     CARD8   xfixesReqType;
  384.     CARD16  length B16;
  385.     Cursor  source B32;
  386.     Cursor  destination B32;
  387. } xXFixesChangeCursorReq;
  388. #define sz_xXFixesChangeCursorReq 12
  389. typedef struct {
  390.     CARD8   reqType;
  391.     CARD8   xfixesReqType;
  392.     CARD16  length B16;
  393.     Cursor  source B32;
  394.     CARD16  nbytes;
  395.     CARD16  pad;
  396. } xXFixesChangeCursorByNameReq;
  397. #define sz_xXFixesChangeCursorByNameReq 12
  398. /*************** Version 3 ******************/
  399. typedef struct {
  400.     CARD8   reqType;
  401.     CARD8   xfixesReqType;
  402.     CARD16  length B16;
  403.     Region  source B32;
  404.     Region  destination B32;
  405.     CARD16  left B16;
  406.     CARD16  right B16;
  407.     CARD16  top B16;
  408.     CARD16  bottom B16;
  409. } xXFixesExpandRegionReq;
  410. #define sz_xXFixesExpandRegionReq 20
  411. /*************** Version 4.0 ******************/
  412. typedef struct {
  413.     CARD8   reqType;
  414.     CARD8   xfixesReqType;
  415.     CARD16  length B16;
  416.     Window  window B32;
  417. } xXFixesHideCursorReq;
  418. #define sz_xXFixesHideCursorReq sizeof(xXFixesHideCursorReq)
  419. typedef struct {
  420.     CARD8   reqType;
  421.     CARD8   xfixesReqType;
  422.     CARD16  length B16;
  423.     Window  window B32;
  424. } xXFixesShowCursorReq;
  425. #define sz_xXFixesShowCursorReq sizeof(xXFixesShowCursorReq)
  426. #undef Region
  427. #undef Picture
  428. #undef Window
  429. #undef Drawable
  430. #undef Font
  431. #undef Pixmap
  432. #undef Cursor
  433. #undef Colormap
  434. #undef GContext
  435. #undef Atom
  436. #undef VisualID
  437. #undef Time
  438. #undef KeyCode
  439. #undef KeySym
  440. #endif /* _XFIXESPROTO_H_ */