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

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.  * $XFree86: xc/include/extensions/renderproto.h,v 1.12 2002/09/26 02:56:48 keithp Exp $
  3.  *
  4.  * Copyright © 2000 SuSE, Inc.
  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 SuSE not be used in advertising or
  11.  * publicity pertaining to distribution of the software without specific,
  12.  * written prior permission.  SuSE makes no representations about the
  13.  * suitability of this software for any purpose.  It is provided "as is"
  14.  * without express or implied warranty.
  15.  *
  16.  * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
  17.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
  18.  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  19.  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  20.  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  21.  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  22.  *
  23.  * Author:  Keith Packard, SuSE, Inc.
  24.  */
  25. #ifndef _XRENDERP_H_
  26. #define _XRENDERP_H_
  27. #include <X11/Xmd.h>
  28. #include <X11/extensions/render.h>
  29. #define Window CARD32
  30. #define Drawable CARD32
  31. #define Font CARD32
  32. #define Pixmap CARD32
  33. #define Cursor CARD32
  34. #define Colormap CARD32
  35. #define GContext CARD32
  36. #define Atom CARD32
  37. #define VisualID CARD32
  38. #define Time CARD32
  39. #define KeyCode CARD8
  40. #define KeySym CARD32
  41. #define Picture     CARD32
  42. #define PictFormat  CARD32
  43. #define Fixed     INT32
  44. #define Glyphset    CARD32
  45. /*
  46.  * data structures
  47.  */
  48. typedef struct {
  49.     CARD16  red B16;
  50.     CARD16  redMask B16;
  51.     CARD16  green B16;
  52.     CARD16  greenMask B16;
  53.     CARD16  blue B16;
  54.     CARD16  blueMask B16;
  55.     CARD16  alpha B16;
  56.     CARD16  alphaMask B16;
  57. } xDirectFormat;
  58. #define sz_xDirectFormat    16
  59. typedef struct {
  60.     PictFormat id B32;
  61.     CARD8 type;
  62.     CARD8 depth;
  63.     CARD16 pad1 B16;
  64.     xDirectFormat   direct;
  65.     Colormap colormap;
  66. } xPictFormInfo;
  67. #define sz_xPictFormInfo    28
  68. typedef struct {
  69.     VisualID visual;
  70.     PictFormat format;
  71. } xPictVisual;
  72. #define sz_xPictVisual     8
  73. typedef struct {
  74.     CARD8 depth;
  75.     CARD8 pad1;
  76.     CARD16 nPictVisuals B16;
  77.     CARD32 pad2 B32;
  78. } xPictDepth;
  79. #define sz_xPictDepth 8
  80. typedef struct {
  81.     CARD32 nDepth B32;
  82.     PictFormat fallback B32;
  83. } xPictScreen;
  84. #define sz_xPictScreen 8
  85. typedef struct {
  86.     CARD32 pixel B32;
  87.     CARD16 red B16;
  88.     CARD16 green B16;
  89.     CARD16 blue B16;
  90.     CARD16 alpha B16;
  91. } xIndexValue;
  92. #define sz_xIndexValue 12
  93. typedef struct {
  94.     CARD16 red B16;
  95.     CARD16 green B16;
  96.     CARD16 blue B16;
  97.     CARD16 alpha B16;
  98. } xRenderColor;
  99. #define sz_xRenderColor 8
  100. typedef struct {
  101.     Fixed x B32;
  102.     Fixed y B32;
  103. } xPointFixed;
  104. #define sz_xPointFixed 8
  105. typedef struct {
  106.     xPointFixed p1;
  107.     xPointFixed p2;
  108. } xLineFixed;
  109. #define sz_xLineFixed 16
  110. typedef struct {
  111.     xPointFixed p1, p2, p3;
  112. } xTriangle;
  113. #define sz_xTriangle 24
  114. typedef struct {
  115.     Fixed top B32;
  116.     Fixed bottom B32;
  117.     xLineFixed left;
  118.     xLineFixed right;
  119. } xTrapezoid;
  120. #define sz_xTrapezoid 40
  121. typedef struct {
  122.     CARD16  width B16;
  123.     CARD16  height B16;
  124.     INT16   x B16;
  125.     INT16   y B16;
  126.     INT16   xOff B16;
  127.     INT16   yOff B16;
  128. } xGlyphInfo;
  129. #define sz_xGlyphInfo 12
  130. typedef struct {
  131.     CARD8   len;
  132.     CARD8   pad1;
  133.     CARD16  pad2;
  134.     INT16   deltax;
  135.     INT16   deltay;
  136. } xGlyphElt;
  137. #define sz_xGlyphElt 8
  138. typedef struct {
  139.     Fixed   l, r, y;
  140. } xSpanFix;
  141. #define sz_xSpanFix 12
  142. typedef struct {
  143.     xSpanFix top, bot;
  144. } xTrap;
  145. #define sz_xTrap 24
  146. /*
  147.  * requests and replies
  148.  */
  149. typedef struct {
  150.     CARD8   reqType;
  151.     CARD8   renderReqType;
  152.     CARD16  length B16;
  153.     CARD32  majorVersion B32;
  154.     CARD32  minorVersion B32;
  155. } xRenderQueryVersionReq;
  156. #define sz_xRenderQueryVersionReq   12
  157. typedef struct {
  158.     BYTE    type;   /* X_Reply */
  159.     BYTE    pad1;
  160.     CARD16  sequenceNumber B16;
  161.     CARD32  length B32;
  162.     CARD32  majorVersion B32;
  163.     CARD32  minorVersion B32;
  164.     CARD32  pad2 B32;
  165.     CARD32  pad3 B32;
  166.     CARD32  pad4 B32;
  167.     CARD32  pad5 B32;
  168. } xRenderQueryVersionReply;
  169. #define sz_xRenderQueryVersionReply 32
  170. typedef struct {
  171.     CARD8   reqType;
  172.     CARD8   renderReqType;
  173.     CARD16  length B16;
  174. } xRenderQueryPictFormatsReq;
  175. #define sz_xRenderQueryPictFormatsReq 4
  176. typedef struct {
  177.     BYTE    type;   /* X_Reply */
  178.     BYTE    pad1;
  179.     CARD16  sequenceNumber B16;
  180.     CARD32  length B32;
  181.     CARD32  numFormats B32;
  182.     CARD32  numScreens B32;
  183.     CARD32  numDepths B32;
  184.     CARD32  numVisuals B32;
  185.     CARD32  numSubpixel B32;     /* Version 0.6 */
  186.     CARD32  pad5 B32;
  187. } xRenderQueryPictFormatsReply;
  188. #define sz_xRenderQueryPictFormatsReply 32
  189. typedef struct {
  190.     CARD8   reqType;
  191.     CARD8   renderReqType;
  192.     CARD16  length B16;
  193.     PictFormat format B32;
  194. } xRenderQueryPictIndexValuesReq;
  195. #define sz_xRenderQueryPictIndexValuesReq   8
  196. typedef struct {
  197.     BYTE    type;   /* X_Reply */
  198.     BYTE    pad1;
  199.     CARD16  sequenceNumber B16;
  200.     CARD32  length B32;
  201.     CARD32  numIndexValues;
  202.     CARD32  pad2 B32;
  203.     CARD32  pad3 B32;
  204.     CARD32  pad4 B32;
  205.     CARD32  pad5 B32;
  206.     CARD32  pad6 B32;
  207. } xRenderQueryPictIndexValuesReply;
  208. #define sz_xRenderQueryPictIndexValuesReply 32
  209. typedef struct {
  210.     CARD8 reqType;
  211.     CARD8 renderReqType;
  212.     CARD16 length B16;
  213.     Picture pid B32;
  214.     Drawable drawable B32;
  215.     PictFormat format B32;
  216.     CARD32 mask B32;
  217. } xRenderCreatePictureReq;
  218. #define sz_xRenderCreatePictureReq     20
  219. typedef struct {
  220.     CARD8 reqType;
  221.     CARD8 renderReqType;
  222.     CARD16 length B16;
  223.     Picture picture B32;
  224.     CARD32 mask B32;
  225. } xRenderChangePictureReq;
  226. #define sz_xRenderChangePictureReq     12
  227. typedef struct {
  228.     CARD8       reqType;
  229.     CARD8       renderReqType;
  230.     CARD16      length B16;
  231.     Picture     picture B32;
  232.     INT16 xOrigin B16;
  233.     INT16 yOrigin B16;
  234. } xRenderSetPictureClipRectanglesReq;
  235. #define sz_xRenderSetPictureClipRectanglesReq     12
  236. typedef struct {
  237.     CARD8       reqType;
  238.     CARD8       renderReqType;
  239.     CARD16      length B16;
  240.     Picture     picture B32;
  241. } xRenderFreePictureReq;
  242. #define sz_xRenderFreePictureReq     8
  243. typedef struct {
  244.     CARD8       reqType;
  245.     CARD8       renderReqType;
  246.     CARD16      length B16;
  247.     CARD8 op;
  248.     CARD8 pad1;
  249.     CARD16 pad2 B16;
  250.     Picture src B32;
  251.     Picture mask B32;
  252.     Picture dst B32;
  253.     INT16 xSrc B16;
  254.     INT16 ySrc B16;
  255.     INT16 xMask B16;
  256.     INT16 yMask B16;
  257.     INT16 xDst B16;
  258.     INT16 yDst B16;
  259.     CARD16 width B16;
  260.     CARD16 height B16;
  261. } xRenderCompositeReq;
  262. #define sz_xRenderCompositeReq     36
  263. typedef struct {
  264.     CARD8       reqType;
  265.     CARD8       renderReqType;
  266.     CARD16      length B16;
  267.     Picture src B32;
  268.     Picture dst B32;
  269.     CARD32 colorScale B32;
  270.     CARD32 alphaScale B32;
  271.     INT16 xSrc B16;
  272.     INT16 ySrc B16;
  273.     INT16 xDst B16;
  274.     INT16 yDst B16;
  275.     CARD16 width B16;
  276.     CARD16 height B16;
  277. } xRenderScaleReq;
  278. #define sz_xRenderScaleReq     32
  279. typedef struct {
  280.     CARD8       reqType;
  281.     CARD8       renderReqType;
  282.     CARD16      length B16;
  283.     CARD8 op;
  284.     CARD8 pad1;
  285.     CARD16 pad2 B16;
  286.     Picture src B32;
  287.     Picture dst B32;
  288.     PictFormat maskFormat B32;
  289.     INT16 xSrc B16;
  290.     INT16 ySrc B16;
  291. } xRenderTrapezoidsReq;
  292. #define sz_xRenderTrapezoidsReq     24
  293. typedef struct {
  294.     CARD8       reqType;
  295.     CARD8       renderReqType;
  296.     CARD16      length B16;
  297.     CARD8 op;
  298.     CARD8 pad1;
  299.     CARD16 pad2 B16;
  300.     Picture src B32;
  301.     Picture dst B32;
  302.     PictFormat maskFormat B32;
  303.     INT16 xSrc B16;
  304.     INT16 ySrc B16;
  305. } xRenderTrianglesReq;
  306. #define sz_xRenderTrianglesReq     24
  307. typedef struct {
  308.     CARD8       reqType;
  309.     CARD8       renderReqType;
  310.     CARD16      length B16;
  311.     CARD8 op;
  312.     CARD8 pad1;
  313.     CARD16 pad2 B16;
  314.     Picture src B32;
  315.     Picture dst B32;
  316.     PictFormat maskFormat B32;
  317.     INT16 xSrc B16;
  318.     INT16 ySrc B16;
  319. } xRenderTriStripReq;
  320. #define sz_xRenderTriStripReq     24
  321. typedef struct {
  322.     CARD8       reqType;
  323.     CARD8       renderReqType;
  324.     CARD16      length B16;
  325.     CARD8 op;
  326.     CARD8 pad1;
  327.     CARD16 pad2 B16;
  328.     Picture src B32;
  329.     Picture dst B32;
  330.     PictFormat maskFormat B32;
  331.     INT16 xSrc B16;
  332.     INT16 ySrc B16;
  333. } xRenderTriFanReq;
  334. #define sz_xRenderTriFanReq     24
  335. typedef struct {
  336.     CARD8       reqType;
  337.     CARD8       renderReqType;
  338.     CARD16      length B16;
  339.     Glyphset gsid B32;
  340.     PictFormat format B32;
  341. } xRenderCreateGlyphSetReq;
  342. #define sz_xRenderCreateGlyphSetReq     12
  343. typedef struct {
  344.     CARD8       reqType;
  345.     CARD8       renderReqType;
  346.     CARD16      length B16;
  347.     Glyphset    gsid B32;
  348.     Glyphset    existing B32;
  349. } xRenderReferenceGlyphSetReq;
  350. #define sz_xRenderReferenceGlyphSetReq     24
  351. typedef struct {
  352.     CARD8       reqType;
  353.     CARD8       renderReqType;
  354.     CARD16      length B16;
  355.     Glyphset    glyphset B32;
  356. } xRenderFreeGlyphSetReq;
  357. #define sz_xRenderFreeGlyphSetReq     8
  358. typedef struct {
  359.     CARD8       reqType;
  360.     CARD8       renderReqType;
  361.     CARD16      length B16;
  362.     Glyphset    glyphset B32;
  363.     CARD32 nglyphs;
  364. } xRenderAddGlyphsReq;
  365. #define sz_xRenderAddGlyphsReq     12
  366. typedef struct {
  367.     CARD8       reqType;
  368.     CARD8       renderReqType;
  369.     CARD16      length B16;
  370.     Glyphset    glyphset B32;
  371. } xRenderFreeGlyphsReq;
  372. #define sz_xRenderFreeGlyphsReq     8
  373. typedef struct {
  374.     CARD8       reqType;
  375.     CARD8       renderReqType;
  376.     CARD16      length B16;
  377.     CARD8 op;
  378.     CARD8 pad1;
  379.     CARD16 pad2 B16;
  380.     Picture src B32;
  381.     Picture dst B32;
  382.     PictFormat maskFormat B32;
  383.     Glyphset    glyphset B32;
  384.     INT16 xSrc B16;
  385.     INT16 ySrc B16;
  386. } xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req,
  387. xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req;
  388. #define sz_xRenderCompositeGlyphs8Req     28
  389. #define sz_xRenderCompositeGlyphs16Req     28
  390. #define sz_xRenderCompositeGlyphs32Req     28
  391. /* 0.1 and higher */
  392. typedef struct {
  393.     CARD8 reqType;
  394.     CARD8       renderReqType;
  395.     CARD16      length B16;
  396.     CARD8 op;
  397.     CARD8 pad1;
  398.     CARD16 pad2 B16;
  399.     Picture dst B32;
  400.     xRenderColor    color;
  401. } xRenderFillRectanglesReq;
  402. #define sz_xRenderFillRectanglesReq     20
  403. /* 0.5 and higher */
  404. typedef struct {
  405.     CARD8 reqType;
  406.     CARD8 renderReqType;
  407.     CARD16 length B16;
  408.     Cursor cid B32;
  409.     Picture src B32;
  410.     CARD16 x B16;
  411.     CARD16 y B16;
  412. } xRenderCreateCursorReq;
  413. #define sz_xRenderCreateCursorReq     16
  414. /* 0.6 and higher */
  415. /*
  416.  * This can't use an array because 32-bit values may be in bitfields
  417.  */
  418. typedef struct {
  419.     Fixed matrix11 B32;
  420.     Fixed matrix12 B32;
  421.     Fixed matrix13 B32;
  422.     Fixed matrix21 B32;
  423.     Fixed matrix22 B32;
  424.     Fixed matrix23 B32;
  425.     Fixed matrix31 B32;
  426.     Fixed matrix32 B32;
  427.     Fixed matrix33 B32;
  428. } xRenderTransform;
  429. #define sz_xRenderTransform 36
  430. typedef struct {
  431.     CARD8 reqType;
  432.     CARD8 renderReqType;
  433.     CARD16 length B16;
  434.     Picture picture B32;
  435.     xRenderTransform transform;
  436. } xRenderSetPictureTransformReq;
  437. #define sz_xRenderSetPictureTransformReq     44
  438. typedef struct {
  439.     CARD8 reqType;
  440.     CARD8 renderReqType;
  441.     CARD16 length B16;
  442.     Drawable drawable B32;
  443. } xRenderQueryFiltersReq;
  444. #define sz_xRenderQueryFiltersReq     8
  445. typedef struct {
  446.     BYTE    type;   /* X_Reply */
  447.     BYTE    pad1;
  448.     CARD16  sequenceNumber B16;
  449.     CARD32  length B32;
  450.     CARD32  numAliases B32; /* LISTofCARD16 */
  451.     CARD32  numFilters B32; /* LISTofSTRING8 */
  452.     CARD32  pad2 B32;
  453.     CARD32  pad3 B32;
  454.     CARD32  pad4 B32;
  455.     CARD32  pad5 B32;
  456. } xRenderQueryFiltersReply;
  457. #define sz_xRenderQueryFiltersReply     32
  458. typedef struct {
  459.     CARD8 reqType;
  460.     CARD8 renderReqType;
  461.     CARD16 length B16;
  462.     Picture picture B32;
  463.     CARD16 nbytes B16; /* number of bytes in name */
  464.     CARD16 pad B16;
  465. } xRenderSetPictureFilterReq;
  466. #define sz_xRenderSetPictureFilterReq     12
  467. /* 0.8 and higher */
  468. typedef struct {
  469.     Cursor cursor B32;
  470.     CARD32 delay B32;
  471. } xAnimCursorElt;
  472. #define sz_xAnimCursorElt     8
  473. typedef struct {
  474.     CARD8 reqType;
  475.     CARD8 renderReqType;
  476.     CARD16 length B16;
  477.     Cursor cid B32;
  478. } xRenderCreateAnimCursorReq;
  479. #define sz_xRenderCreateAnimCursorReq     8
  480. /* 0.9 and higher */
  481. typedef struct {
  482.     CARD8 reqType;
  483.     CARD8 renderReqType;
  484.     CARD16 length B16;
  485.     Picture picture;
  486.     INT16 xOff B16;
  487.     INT16 yOff B16;
  488. } xRenderAddTrapsReq;
  489. #define sz_xRenderAddTrapsReq     12
  490. /* 0.10 and higher */
  491. typedef struct {
  492.     CARD8 reqType;
  493.     CARD8 renderReqType;
  494.     CARD16 length B16;
  495.     Picture pid B32;
  496.     xRenderColor color;
  497. } xRenderCreateSolidFillReq;
  498. #define sz_xRenderCreateSolidFillReq                 16
  499. typedef struct {
  500.     CARD8 reqType;
  501.     CARD8 renderReqType;
  502.     CARD16 length B16;
  503.     Picture pid B32;
  504.     xPointFixed p1;
  505.     xPointFixed p2;
  506.     CARD32      nStops;
  507. } xRenderCreateLinearGradientReq;
  508. #define sz_xRenderCreateLinearGradientReq                 28
  509. typedef struct {
  510.     CARD8 reqType;
  511.     CARD8 renderReqType;
  512.     CARD16 length B16;
  513.     Picture pid B32;
  514.     xPointFixed inner;
  515.     xPointFixed outer;
  516.     Fixed       inner_radius;
  517.     Fixed       outer_radius;
  518.     CARD32      nStops;
  519. } xRenderCreateRadialGradientReq;
  520. #define sz_xRenderCreateRadialGradientReq                 36
  521. typedef struct {
  522.     CARD8 reqType;
  523.     CARD8 renderReqType;
  524.     CARD16 length B16;
  525.     Picture pid B32;
  526.     xPointFixed center;
  527.     Fixed       angle; /* in degrees */
  528.     CARD32      nStops;
  529. } xRenderCreateConicalGradientReq;
  530. #define sz_xRenderCreateConicalGradientReq                 24
  531. #undef Window
  532. #undef Drawable
  533. #undef Font
  534. #undef Pixmap
  535. #undef Cursor
  536. #undef Colormap
  537. #undef GContext
  538. #undef Atom
  539. #undef VisualID
  540. #undef Time
  541. #undef KeyCode
  542. #undef KeySym
  543. #undef Picture
  544. #undef PictFormat
  545. #undef Fixed
  546. #undef Glyphset
  547. #endif /* _XRENDERP_H_ */