render.xml RawHistoryFolder
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3Copyright (C) 2002-2004 Carl D. Worth, Jamey Sharp, Bart Massey, Josh Triplett
4All Rights Reserved. See the file COPYING in this directory
5for licensing information.
6-->
7<xcb header="render" extension-xname="RENDER" extension-name="Render"
8 major-version="0" minor-version="11">
9 <!-- supports version 0.11 -->
10
11 <import>xproto</import>
12
13 <enum name="PictType">
14 <item name="Indexed"> <value>0</value> </item>
15 <item name="Direct"> <value>1</value> </item>
16 </enum>
17
18 <enum name="Picture">
19 <item name="None"> <value>0</value> </item>
20 </enum>
21
22 <!-- Disjoint* and Conjoint* are new in version 0.2 -->
23 <!-- PDF blend modes are new in version 0.11 -->
24 <enum name="PictOp">
25 <item name="Clear"> <value>0</value> </item>
26 <item name="Src"> <value>1</value> </item>
27 <item name="Dst"> <value>2</value> </item>
28 <item name="Over"> <value>3</value> </item>
29 <item name="OverReverse"> <value>4</value> </item>
30 <item name="In"> <value>5</value> </item>
31 <item name="InReverse"> <value>6</value> </item>
32 <item name="Out"> <value>7</value> </item>
33 <item name="OutReverse"> <value>8</value> </item>
34 <item name="Atop"> <value>9</value> </item>
35 <item name="AtopReverse"> <value>10</value> </item>
36 <item name="Xor"> <value>11</value> </item>
37 <item name="Add"> <value>12</value> </item>
38 <item name="Saturate"> <value>13</value> </item>
39
40 <item name="DisjointClear"> <value>16</value></item>
41 <item name="DisjointSrc"> <value>17</value> </item>
42 <item name="DisjointDst"> <value>18</value> </item>
43 <item name="DisjointOver"> <value>19</value> </item>
44 <item name="DisjointOverReverse"> <value>20</value> </item>
45 <item name="DisjointIn"> <value>21</value> </item>
46 <item name="DisjointInReverse"> <value>22</value> </item>
47 <item name="DisjointOut"> <value>23</value> </item>
48 <item name="DisjointOutReverse"> <value>24</value> </item>
49 <item name="DisjointAtop"> <value>25</value> </item>
50 <item name="DisjointAtopReverse"> <value>26</value> </item>
51 <item name="DisjointXor"> <value>27</value> </item>
52
53 <item name="ConjointClear"> <value>32</value></item>
54 <item name="ConjointSrc"> <value>33</value> </item>
55 <item name="ConjointDst"> <value>34</value> </item>
56 <item name="ConjointOver"> <value>35</value> </item>
57 <item name="ConjointOverReverse"> <value>36</value> </item>
58 <item name="ConjointIn"> <value>37</value> </item>
59 <item name="ConjointInReverse"> <value>38</value> </item>
60 <item name="ConjointOut"> <value>39</value> </item>
61 <item name="ConjointOutReverse"> <value>40</value> </item>
62 <item name="ConjointAtop"> <value>41</value> </item>
63 <item name="ConjointAtopReverse"> <value>42</value> </item>
64 <item name="ConjointXor"> <value>43</value> </item>
65
66 <!-- PDF blend modes are new in version 0.11 -->
67 <item name="Multiply"> <value>48</value></item>
68 <item name="Screen"> <value>49</value> </item>
69 <item name="Overlay"> <value>50</value> </item>
70 <item name="Darken"> <value>51</value> </item>
71 <item name="Lighten"> <value>52</value> </item>
72 <item name="ColorDodge"> <value>53</value> </item>
73 <item name="ColorBurn"> <value>54</value> </item>
74 <item name="HardLight"> <value>55</value> </item>
75 <item name="SoftLight"> <value>56</value> </item>
76 <item name="Difference"> <value>57</value> </item>
77 <item name="Exclusion"> <value>58</value> </item>
78 <item name="HSLHue"> <value>59</value> </item>
79 <item name="HSLSaturation"> <value>60</value> </item>
80 <item name="HSLColor"> <value>61</value> </item>
81 <item name="HSLLuminosity"> <value>62</value> </item>
82 </enum>
83
84 <enum name="PolyEdge">
85 <item name="Sharp"> <value>0</value> </item>
86 <item name="Smooth"> <value>1</value> </item>
87 </enum>
88
89 <enum name="PolyMode">
90 <item name="Precise"> <value>0</value> </item>
91 <item name="Imprecise"> <value>1</value> </item>
92 </enum>
93
94 <enum name="CP">
95 <item name="Repeat"> <bit>0</bit></item>
96 <item name="AlphaMap"> <bit>1</bit></item>
97 <item name="AlphaXOrigin"> <bit>2</bit></item>
98 <item name="AlphaYOrigin"> <bit>3</bit></item>
99 <item name="ClipXOrigin"> <bit>4</bit></item>
100 <item name="ClipYOrigin"> <bit>5</bit></item>
101 <item name="ClipMask"> <bit>6</bit></item>
102 <item name="GraphicsExposure"><bit>7</bit></item>
103 <item name="SubwindowMode"> <bit>8</bit></item>
104 <item name="PolyEdge"> <bit>9</bit></item>
105 <item name="PolyMode"> <bit>10</bit></item>
106 <item name="Dither"> <bit>11</bit></item>
107 <item name="ComponentAlpha"> <bit>12</bit></item>
108 </enum>
109
110 <enum name="SubPixel">
111 <item name="Unknown"> <value>0</value> </item>
112 <item name="HorizontalRGB"> <value>1</value> </item>
113 <item name="HorizontalBGR"> <value>2</value> </item>
114 <item name="VerticalRGB"> <value>3</value> </item>
115 <item name="VerticalBGR"> <value>4</value> </item>
116 <item name="None"> <value>5</value> </item>
117 </enum>
118
119 <!-- Extended repeat attributes introduced in 0.10 -->
120 <enum name="Repeat">
121 <item name="None"> <value>0</value> </item>
122 <item name="Normal"> <value>1</value> </item>
123 <item name="Pad"> <value>2</value> </item>
124 <item name="Reflect"> <value>3</value> </item>
125 </enum>
126
127 <typedef oldname="CARD32" newname="GLYPH" />
128 <xidtype name="GLYPHSET" />
129
130 <xidtype name="PICTURE" />
131 <xidtype name="PICTFORMAT" />
132
133 <typedef oldname="INT32" newname="FIXED" />
134
135 <error name="PictFormat" number="0" />
136 <error name="Picture" number="1" />
137 <error name="PictOp" number="2" />
138 <error name="GlyphSet" number="3" />
139 <error name="Glyph" number="4" />
140
141 <struct name="DIRECTFORMAT">
142 <field type="CARD16" name="red_shift" />
143 <field type="CARD16" name="red_mask" />
144 <field type="CARD16" name="green_shift" />
145 <field type="CARD16" name="green_mask" />
146 <field type="CARD16" name="blue_shift" />
147 <field type="CARD16" name="blue_mask" />
148 <field type="CARD16" name="alpha_shift" />
149 <field type="CARD16" name="alpha_mask" />
150 </struct>
151
152 <struct name="PICTFORMINFO">
153 <field type="PICTFORMAT" name="id" />
154 <field type="CARD8" name="type" enum="PictType" />
155 <field type="CARD8" name="depth" />
156 <pad bytes="2" />
157 <field type="DIRECTFORMAT" name="direct" />
158 <field type="COLORMAP" name="colormap" />
159 </struct>
160
161 <struct name="PICTVISUAL">
162 <field type="VISUALID" name="visual" />
163 <field type="PICTFORMAT" name="format" />
164 </struct>
165
166 <struct name="PICTDEPTH">
167 <field type="CARD8" name="depth" />
168 <pad bytes="1" />
169 <field type="CARD16" name="num_visuals" />
170 <pad bytes="4" />
171 <list type="PICTVISUAL" name="visuals">
172 <fieldref>num_visuals</fieldref>
173 </list>
174 </struct>
175
176 <struct name="PICTSCREEN">
177 <field type="CARD32" name="num_depths" />
178 <field type="PICTFORMAT" name="fallback" />
179 <list type="PICTDEPTH" name="depths">
180 <fieldref>num_depths</fieldref>
181 </list>
182 </struct>
183
184 <struct name="INDEXVALUE">
185 <field type="CARD32" name="pixel" />
186 <field type="CARD16" name="red" />
187 <field type="CARD16" name="green" />
188 <field type="CARD16" name="blue" />
189 <field type="CARD16" name="alpha" />
190 </struct>
191
192 <struct name="COLOR">
193 <field type="CARD16" name="red" />
194 <field type="CARD16" name="green" />
195 <field type="CARD16" name="blue" />
196 <field type="CARD16" name="alpha" />
197 </struct>
198
199 <struct name="POINTFIX">
200 <field type="FIXED" name="x" />
201 <field type="FIXED" name="y" />
202 </struct>
203
204 <struct name="LINEFIX">
205 <field type="POINTFIX" name="p1" />
206 <field type="POINTFIX" name="p2" />
207 </struct>
208
209 <struct name="TRIANGLE">
210 <field type="POINTFIX" name="p1" />
211 <field type="POINTFIX" name="p2" />
212 <field type="POINTFIX" name="p3" />
213 </struct>
214
215 <struct name="TRAPEZOID">
216 <field type="FIXED" name="top" />
217 <field type="FIXED" name="bottom" />
218 <field type="LINEFIX" name="left" />
219 <field type="LINEFIX" name="right" />
220 </struct>
221
222 <struct name="GLYPHINFO">
223 <field type="CARD16" name="width" />
224 <field type="CARD16" name="height" />
225 <field type="INT16" name="x" />
226 <field type="INT16" name="y" />
227 <field type="INT16" name="x_off" />
228 <field type="INT16" name="y_off" />
229 </struct>
230
231
232 <request name="QueryVersion" opcode="0">
233 <field type="CARD32" name="client_major_version" />
234 <field type="CARD32" name="client_minor_version" />
235 <reply>
236 <pad bytes="1" />
237 <field type="CARD32" name="major_version" />
238 <field type="CARD32" name="minor_version" />
239 <pad bytes="16" />
240 </reply>
241 </request>
242
243 <request name="QueryPictFormats" opcode="1">
244 <reply>
245 <pad bytes="1" />
246 <field type="CARD32" name="num_formats" />
247 <field type="CARD32" name="num_screens" />
248 <field type="CARD32" name="num_depths" />
249 <field type="CARD32" name="num_visuals" />
250 <field type="CARD32" name="num_subpixel" /> <!-- new in version 0.6 -->
251 <pad bytes="4" />
252 <list type="PICTFORMINFO" name="formats">
253 <fieldref>num_formats</fieldref>
254 </list>
255 <list type="PICTSCREEN" name="screens">
256 <fieldref>num_screens</fieldref>
257 </list>
258 <list type="CARD32" name="subpixels" enum="SubPixel" >
259 <fieldref>num_subpixel</fieldref>
260 </list>
261 </reply>
262 </request>
263
264 <!-- from version 0.7 -->
265 <request name="QueryPictIndexValues" opcode="2">
266 <field type="PICTFORMAT" name="format" />
267 <reply>
268 <pad bytes="1" />
269 <field type="CARD32" name="num_values" />
270 <pad bytes="20" />
271 <list type="INDEXVALUE" name="values">
272 <fieldref>num_values</fieldref>
273 </list>
274 </reply>
275 </request>
276
277 <!-- opcode 3 reserved for QueryDithers -->
278
279 <request name="CreatePicture" opcode="4">
280 <field type="PICTURE" name="pid" />
281 <field type="DRAWABLE" name="drawable" />
282 <field type="PICTFORMAT" name="format" />
283 <field type="CARD32" name="value_mask" mask="CP"/>
284 <switch name="value_list">
285 <fieldref>value_mask</fieldref>
286 <bitcase>
287 <enumref ref="CP">Repeat</enumref>
288 <field type="CARD32" name="repeat" enum="Repeat"/>
289 </bitcase>
290 <bitcase>
291 <enumref ref="CP">AlphaMap</enumref>
292 <field type="PICTURE" name="alphamap" />
293 </bitcase>
294 <bitcase>
295 <enumref ref="CP">AlphaXOrigin</enumref>
296 <field type="INT32" name="alphaxorigin" />
297 </bitcase>
298 <bitcase>
299 <enumref ref="CP">AlphaYOrigin</enumref>
300 <field type="INT32" name="alphayorigin" />
301 </bitcase>
302 <bitcase>
303 <enumref ref="CP">ClipXOrigin</enumref>
304 <field type="INT32" name="clipxorigin" />
305 </bitcase>
306 <bitcase>
307 <enumref ref="CP">ClipYOrigin</enumref>
308 <field type="INT32" name="clipyorigin" />
309 </bitcase>
310 <bitcase>
311 <enumref ref="CP">ClipMask</enumref>
312 <field type="PIXMAP" name="clipmask" />
313 </bitcase>
314 <bitcase>
315 <enumref ref="CP">GraphicsExposure</enumref>
316 <field type="CARD32" name="graphicsexposure" />
317 </bitcase>
318 <bitcase>
319 <enumref ref="CP">SubwindowMode</enumref>
320 <field type="CARD32" name="subwindowmode" enum="SubwindowMode"/>
321 </bitcase>
322 <bitcase>
323 <enumref ref="CP">PolyEdge</enumref>
324 <field type="CARD32" name="polyedge" enum="PolyEdge"/>
325 </bitcase>
326 <bitcase>
327 <enumref ref="CP">PolyMode</enumref>
328 <field type="CARD32" name="polymode" enum="PolyMode"/>
329 </bitcase>
330 <bitcase>
331 <enumref ref="CP">Dither</enumref>
332 <field type="ATOM" name="dither" />
333 </bitcase>
334 <bitcase>
335 <enumref ref="CP">ComponentAlpha</enumref>
336 <field type="CARD32" name="componentalpha" />
337 </bitcase>
338 </switch>
339 </request>
340
341 <request name="ChangePicture" opcode="5">
342 <field type="PICTURE" name="picture" />
343 <field type="CARD32" name="value_mask" mask="CP"/>
344 <switch name="value_list">
345 <fieldref>value_mask</fieldref>
346 <bitcase>
347 <enumref ref="CP">Repeat</enumref>
348 <field type="CARD32" name="repeat" enum="Repeat"/>
349 </bitcase>
350 <bitcase>
351 <enumref ref="CP">AlphaMap</enumref>
352 <field type="PICTURE" name="alphamap" />
353 </bitcase>
354 <bitcase>
355 <enumref ref="CP">AlphaXOrigin</enumref>
356 <field type="INT32" name="alphaxorigin" />
357 </bitcase>
358 <bitcase>
359 <enumref ref="CP">AlphaYOrigin</enumref>
360 <field type="INT32" name="alphayorigin" />
361 </bitcase>
362 <bitcase>
363 <enumref ref="CP">ClipXOrigin</enumref>
364 <field type="INT32" name="clipxorigin" />
365 </bitcase>
366 <bitcase>
367 <enumref ref="CP">ClipYOrigin</enumref>
368 <field type="INT32" name="clipyorigin" />
369 </bitcase>
370 <bitcase>
371 <enumref ref="CP">ClipMask</enumref>
372 <field type="PIXMAP" name="clipmask" />
373 </bitcase>
374 <bitcase>
375 <enumref ref="CP">GraphicsExposure</enumref>
376 <field type="CARD32" name="graphicsexposure" />
377 </bitcase>
378 <bitcase>
379 <enumref ref="CP">SubwindowMode</enumref>
380 <field type="CARD32" name="subwindowmode" enum="SubwindowMode"/>
381 </bitcase>
382 <bitcase>
383 <enumref ref="CP">PolyEdge</enumref>
384 <field type="CARD32" name="polyedge" enum="PolyEdge"/>
385 </bitcase>
386 <bitcase>
387 <enumref ref="CP">PolyMode</enumref>
388 <field type="CARD32" name="polymode" enum="PolyMode"/>
389 </bitcase>
390 <bitcase>
391 <enumref ref="CP">Dither</enumref>
392 <field type="ATOM" name="dither" />
393 </bitcase>
394 <bitcase>
395 <enumref ref="CP">ComponentAlpha</enumref>
396 <field type="CARD32" name="componentalpha" />
397 </bitcase>
398 </switch>
399 </request>
400
401 <request name="SetPictureClipRectangles" opcode="6">
402 <field type="PICTURE" name="picture" />
403 <field type="INT16" name="clip_x_origin" />
404 <field type="INT16" name="clip_y_origin" />
405 <list type="RECTANGLE" name="rectangles" />
406 </request>
407
408 <request name="FreePicture" opcode="7">
409 <field type="PICTURE" name="picture" />
410 </request>
411
412 <request name="Composite" opcode="8">
413 <field type="CARD8" name="op" enum="PictOp" />
414 <pad bytes="3" />
415 <field type="PICTURE" name="src" />
416 <field type="PICTURE" name="mask" altenum="Picture" />
417 <field type="PICTURE" name="dst" />
418 <field type="INT16" name="src_x" />
419 <field type="INT16" name="src_y" />
420 <field type="INT16" name="mask_x" />
421 <field type="INT16" name="mask_y" />
422 <field type="INT16" name="dst_x" />
423 <field type="INT16" name="dst_y" />
424 <field type="CARD16" name="width" />
425 <field type="CARD16" name="height" />
426 </request>
427
428 <!-- opcode 9 reserved for Scale -->
429
430 <request name="Trapezoids" opcode="10">
431 <field type="CARD8" name="op" enum="PictOp" />
432 <pad bytes="3" />
433 <field type="PICTURE" name="src" />
434 <field type="PICTURE" name="dst" />
435 <field type="PICTFORMAT" name="mask_format" />
436 <field type="INT16" name="src_x" />
437 <field type="INT16" name="src_y" />
438 <list type="TRAPEZOID" name="traps" />
439 </request>
440
441 <request name="Triangles" opcode="11">
442 <field type="CARD8" name="op" enum="PictOp" />
443 <pad bytes="3" />
444 <field type="PICTURE" name="src" />
445 <field type="PICTURE" name="dst" />
446 <field type="PICTFORMAT" name="mask_format" />
447 <field type="INT16" name="src_x" />
448 <field type="INT16" name="src_y" />
449 <list type="TRIANGLE" name="triangles" />
450 </request>
451
452 <request name="TriStrip" opcode="12">
453 <field type="CARD8" name="op" enum="PictOp" />
454 <pad bytes="3" />
455 <field type="PICTURE" name="src" />
456 <field type="PICTURE" name="dst" />
457 <field type="PICTFORMAT" name="mask_format" />
458 <field type="INT16" name="src_x" />
459 <field type="INT16" name="src_y" />
460 <list type="POINTFIX" name="points" />
461 </request>
462
463 <request name="TriFan" opcode="13">
464 <field type="CARD8" name="op" enum="PictOp" />
465 <pad bytes="3" />
466 <field type="PICTURE" name="src" />
467 <field type="PICTURE" name="dst" />
468 <field type="PICTFORMAT" name="mask_format" />
469 <field type="INT16" name="src_x" />
470 <field type="INT16" name="src_y" />
471 <list type="POINTFIX" name="points" />
472 </request>
473
474 <!-- opcode 14 reserved for ColorTrapezoids -->
475
476 <!-- opcode 15 reserved for ColorTriangles -->
477
478 <!-- opcode 16 reserved for Transform -->
479
480 <request name="CreateGlyphSet" opcode="17">
481 <field type="GLYPHSET" name="gsid" />
482 <field type="PICTFORMAT" name="format" />
483 </request>
484
485 <request name="ReferenceGlyphSet" opcode="18">
486 <field type="GLYPHSET" name="gsid" />
487 <field type="GLYPHSET" name="existing" />
488 </request>
489
490 <request name="FreeGlyphSet" opcode="19">
491 <field type="GLYPHSET" name="glyphset" />
492 </request>
493
494 <request name="AddGlyphs" opcode="20">
495 <field type="GLYPHSET" name="glyphset" />
496 <field type="CARD32" name="glyphs_len" />
497 <list type="CARD32" name="glyphids">
498 <fieldref>glyphs_len</fieldref>
499 </list>
500 <list type="GLYPHINFO" name="glyphs">
501 <fieldref>glyphs_len</fieldref>
502 </list>
503 <list type="BYTE" name="data" />
504 </request>
505
506 <!-- opcode 21 reserved for AddGlyphsFromPicture -->
507
508 <request name="FreeGlyphs" opcode="22">
509 <field type="GLYPHSET" name="glyphset" />
510 <list type="GLYPH" name="glyphs" />
511 </request>
512
513 <request name="CompositeGlyphs8" opcode="23">
514 <field type="CARD8" name="op" enum="PictOp" />
515 <pad bytes="3" />
516 <field type="PICTURE" name="src" />
517 <field type="PICTURE" name="dst" />
518 <field type="PICTFORMAT" name="mask_format" />
519 <field type="GLYPHSET" name="glyphset" />
520 <field type="INT16" name="src_x" />
521 <field type="INT16" name="src_y" />
522 <list type="BYTE" name="glyphcmds" />
523 </request>
524
525 <request name="CompositeGlyphs16" opcode="24">
526 <field type="CARD8" name="op" enum="PictOp" />
527 <pad bytes="3" />
528 <field type="PICTURE" name="src" />
529 <field type="PICTURE" name="dst" />
530 <field type="PICTFORMAT" name="mask_format" />
531 <field type="GLYPHSET" name="glyphset" />
532 <field type="INT16" name="src_x" />
533 <field type="INT16" name="src_y" />
534 <list type="BYTE" name="glyphcmds" />
535 </request>
536
537 <request name="CompositeGlyphs32" opcode="25">
538 <field type="CARD8" name="op" enum="PictOp" />
539 <pad bytes="3" />
540 <field type="PICTURE" name="src" />
541 <field type="PICTURE" name="dst" />
542 <field type="PICTFORMAT" name="mask_format" />
543 <field type="GLYPHSET" name="glyphset" />
544 <field type="INT16" name="src_x" />
545 <field type="INT16" name="src_y" />
546 <list type="BYTE" name="glyphcmds" />
547 </request>
548
549 <!-- new in version 0.1 -->
550
551 <request name="FillRectangles" opcode="26">
552 <field type="CARD8" name="op" enum="PictOp" />
553 <pad bytes="3" />
554 <field type="PICTURE" name="dst" />
555 <field type="COLOR" name="color" />
556 <list type="RECTANGLE" name="rects" />
557 </request>
558
559 <!-- new in version 0.5 -->
560
561 <request name="CreateCursor" opcode="27">
562 <field type="CURSOR" name="cid" />
563 <field type="PICTURE" name="source" />
564 <field type="CARD16" name="x" />
565 <field type="CARD16" name="y" />
566 </request>
567
568 <!-- new in version 0.6 -->
569
570 <struct name="TRANSFORM">
571 <field type="FIXED" name="matrix11" />
572 <field type="FIXED" name="matrix12" />
573 <field type="FIXED" name="matrix13" />
574 <field type="FIXED" name="matrix21" />
575 <field type="FIXED" name="matrix22" />
576 <field type="FIXED" name="matrix23" />
577 <field type="FIXED" name="matrix31" />
578 <field type="FIXED" name="matrix32" />
579 <field type="FIXED" name="matrix33" />
580 </struct>
581
582 <request name="SetPictureTransform" opcode="28">
583 <field type="PICTURE" name="picture" />
584 <field type="TRANSFORM" name="transform" />
585 </request>
586
587 <request name="QueryFilters" opcode="29">
588 <field type="DRAWABLE" name="drawable" />
589 <reply>
590 <pad bytes="1" />
591 <field type="CARD32" name="num_aliases" />
592 <field type="CARD32" name="num_filters" />
593 <pad bytes="16" />
594 <list type="CARD16" name="aliases">
595 <fieldref>num_aliases</fieldref>
596 </list>
597 <list type="STR" name="filters">
598 <fieldref>num_filters</fieldref>
599 </list>
600 </reply>
601 </request>
602
603 <request name="SetPictureFilter" opcode="30">
604 <field type="PICTURE" name="picture" />
605 <field type="CARD16" name="filter_len" />
606 <pad bytes="2" />
607 <list type="char" name="filter">
608 <fieldref>filter_len</fieldref>
609 </list>
610 <pad align="4" />
611 <list type="FIXED" name="values" />
612 </request>
613
614 <!-- new in version 0.8 -->
615
616 <struct name="ANIMCURSORELT">
617 <field type="CURSOR" name="cursor" />
618 <field type="CARD32" name="delay" />
619 </struct>
620
621 <request name="CreateAnimCursor" opcode="31">
622 <field type="CURSOR" name="cid" />
623 <list type="ANIMCURSORELT" name="cursors" />
624 </request>
625
626 <!-- new in version 0.9 -->
627
628 <struct name="SPANFIX">
629 <field type="FIXED" name="l" />
630 <field type="FIXED" name="r" />
631 <field type="FIXED" name="y" />
632 </struct>
633
634 <struct name="TRAP">
635 <field type="SPANFIX" name="top" />
636 <field type="SPANFIX" name="bot" />
637 </struct>
638
639 <request name="AddTraps" opcode="32">
640 <field type="PICTURE" name="picture" />
641 <field type="INT16" name="x_off" />
642 <field type="INT16" name="y_off" />
643 <list type="TRAP" name="traps" />
644 </request>
645
646 <!-- new in version 0.10 -->
647
648 <request name="CreateSolidFill" opcode="33">
649 <field type="PICTURE" name="picture" />
650 <field type="COLOR" name="color" />
651 </request>
652
653 <request name="CreateLinearGradient" opcode="34">
654 <field type="PICTURE" name="picture" />
655 <field type="POINTFIX" name="p1" />
656 <field type="POINTFIX" name="p2" />
657 <field type="CARD32" name="num_stops" />
658 <list type="FIXED" name="stops">
659 <fieldref>num_stops</fieldref>
660 </list>
661 <list type="COLOR" name="colors">
662 <fieldref>num_stops</fieldref>
663 </list>
664 </request>
665
666 <request name="CreateRadialGradient" opcode="35">
667 <field type="PICTURE" name="picture" />
668 <field type="POINTFIX" name="inner" />
669 <field type="POINTFIX" name="outer" />
670 <field type="FIXED" name="inner_radius" />
671 <field type="FIXED" name="outer_radius" />
672 <field type="CARD32" name="num_stops" />
673 <list type="FIXED" name="stops">
674 <fieldref>num_stops</fieldref>
675 </list>
676 <list type="COLOR" name="colors">
677 <fieldref>num_stops</fieldref>
678 </list>
679 </request>
680
681 <request name="CreateConicalGradient" opcode="36">
682 <field type="PICTURE" name="picture" />
683 <field type="POINTFIX" name="center" />
684 <field type="FIXED" name="angle" /> <!-- degrees -->
685 <field type="CARD32" name="num_stops" />
686 <list type="FIXED" name="stops">
687 <fieldref>num_stops</fieldref>
688 </list>
689 <list type="COLOR" name="colors">
690 <fieldref>num_stops</fieldref>
691 </list>
692 </request>
693</xcb>