1 <?xml version="1.0" encoding="utf-8"?>
3 Copyright (C) 2002-2004 Carl D. Worth, Jamey Sharp, Bart Massey, Josh Triplett
4 All Rights Reserved. See the file COPYING in this directory
5 for licensing information.
7 <xcb header="render" extension-xname="RENDER" extension-name="Render">
8 <!-- supports version 0.8 -->
10 <enum name="PictType">
11 <item name="Indexed" />
12 <item name="Direct" />
15 <!-- Disjoint* and Conjoint* are new in version 0.2 -->
21 <item name="OverReverse" />
23 <item name="InReverse" />
25 <item name="OutReverse" />
27 <item name="AtopReverse" />
30 <item name="Saturate" />
32 <item name="DisjointClear"><value>0x10</value></item>
33 <item name="DisjointSrc" />
34 <item name="DisjointDst" />
35 <item name="DisjointOver" />
36 <item name="DisjointOverReverse" />
37 <item name="DisjointIn" />
38 <item name="DisjointInReverse" />
39 <item name="DisjointOut" />
40 <item name="DisjointOutReverse" />
41 <item name="DisjointAtop" />
42 <item name="DisjointAtopReverse" />
43 <item name="DisjointXor" />
45 <item name="ConjointClear"><value>0x20</value></item>
46 <item name="ConjointSrc" />
47 <item name="ConjointDst" />
48 <item name="ConjointOver" />
49 <item name="ConjointOverReverse" />
50 <item name="ConjointIn" />
51 <item name="ConjointInReverse" />
52 <item name="ConjointOut" />
53 <item name="ConjointOutReverse" />
54 <item name="ConjointAtop" />
55 <item name="ConjointAtopReverse" />
56 <item name="ConjointXor" />
59 <enum name="PolyEdge">
61 <item name="Smooth" />
64 <enum name="PolyMode">
65 <item name="Precise" />
66 <item name="Imprecise" />
71 <op op="<<"><value>1</value><value>0</value></op>
73 <item name="AlphaMap">
74 <op op="<<"><value>1</value><value>1</value></op>
76 <item name="AlphaXOrigin">
77 <op op="<<"><value>1</value><value>2</value></op>
79 <item name="AlphaYOrigin">
80 <op op="<<"><value>1</value><value>3</value></op>
82 <item name="ClipXOrigin">
83 <op op="<<"><value>1</value><value>4</value></op>
85 <item name="ClipYOrigin">
86 <op op="<<"><value>1</value><value>5</value></op>
88 <item name="ClipMask">
89 <op op="<<"><value>1</value><value>6</value></op>
91 <item name="GraphicsExposure">
92 <op op="<<"><value>1</value><value>7</value></op>
94 <item name="SubwindowMode">
95 <op op="<<"><value>1</value><value>8</value></op>
97 <item name="PolyEdge">
98 <op op="<<"><value>1</value><value>9</value></op>
100 <item name="PolyMode">
101 <op op="<<"><value>1</value><value>10</value></op>
104 <op op="<<"><value>1</value><value>11</value></op>
106 <item name="ComponentAlpha">
107 <op op="<<"><value>1</value><value>12</value></op>
111 <enum name="SubPixel">
112 <item name="Unknown" />
113 <item name="HorizontalRGB" />
114 <item name="HorizontalBGR" />
115 <item name="VerticalRGB" />
116 <item name="VerticalBGR" />
120 <typedef oldname="CARD32" newname="GLYPH" />
121 <xidtype name="GLYPHSET" />
123 <xidtype name="PICTURE" />
124 <xidtype name="PICTFORMAT" />
126 <typedef oldname="INT32" newname="FIXED" />
128 <error name="PictFormat" number="0" />
129 <error name="Picture" number="1" />
130 <error name="PictOp" number="2" />
131 <error name="GlyphSet" number="3" />
132 <error name="Glyph" number="4" />
134 <struct name="DIRECTFORMAT">
135 <field type="CARD16" name="red_shift" />
136 <field type="CARD16" name="red_mask" />
137 <field type="CARD16" name="green_shift" />
138 <field type="CARD16" name="green_mask" />
139 <field type="CARD16" name="blue_shift" />
140 <field type="CARD16" name="blue_mask" />
141 <field type="CARD16" name="alpha_shift" />
142 <field type="CARD16" name="alpha_mask" />
145 <struct name="PICTFORMINFO">
146 <field type="PICTFORMAT" name="id" />
147 <field type="CARD8" name="type" />
148 <field type="CARD8" name="depth" />
150 <field type="DIRECTFORMAT" name="direct" />
151 <field type="COLORMAP" name="colormap" />
154 <struct name="PICTVISUAL">
155 <field type="VISUALID" name="visual" />
156 <field type="PICTFORMAT" name="format" />
159 <struct name="PICTDEPTH">
160 <field type="CARD8" name="depth" />
162 <field type="CARD16" name="num_visuals" />
164 <list type="PICTVISUAL" name="visuals">
165 <fieldref>num_visuals</fieldref>
169 <struct name="PICTSCREEN">
170 <field type="CARD32" name="num_depths" />
171 <field type="PICTFORMAT" name="fallback" />
172 <list type="PICTDEPTH" name="depths">
173 <fieldref>num_depths</fieldref>
177 <struct name="INDEXVALUE">
178 <field type="CARD32" name="pixel" />
179 <field type="CARD16" name="red" />
180 <field type="CARD16" name="green" />
181 <field type="CARD16" name="blue" />
182 <field type="CARD16" name="alpha" />
185 <struct name="COLOR">
186 <field type="CARD16" name="red" />
187 <field type="CARD16" name="green" />
188 <field type="CARD16" name="blue" />
189 <field type="CARD16" name="alpha" />
192 <struct name="POINTFIX">
193 <field type="FIXED" name="x" />
194 <field type="FIXED" name="y" />
197 <struct name="LINEFIX">
198 <field type="POINTFIX" name="p1" />
199 <field type="POINTFIX" name="p2" />
202 <struct name="TRIANGLE">
203 <field type="POINTFIX" name="p1" />
204 <field type="POINTFIX" name="p2" />
205 <field type="POINTFIX" name="p3" />
209 <field type="FIXED" name="top" />
210 <field type="FIXED" name="bottom" />
211 <field type="LINEFIX" name="left" />
212 <field type="LINEFIX" name="right" />
215 <struct name="GLYPHINFO">
216 <field type="CARD16" name="width" />
217 <field type="CARD16" name="height" />
218 <field type="INT16" name="x" />
219 <field type="INT16" name="y" />
220 <field type="INT16" name="x_off" />
221 <field type="INT16" name="y_off" />
225 <request name="QueryVersion" opcode="0">
226 <field type="CARD32" name="client_major_version" />
227 <field type="CARD32" name="client_minor_version" />
230 <field type="CARD32" name="major_version" />
231 <field type="CARD32" name="minor_version" />
236 <request name="QueryPictFormats" opcode="1">
239 <field type="CARD32" name="num_formats" />
240 <field type="CARD32" name="num_screens" />
241 <field type="CARD32" name="num_depths" />
242 <field type="CARD32" name="num_visuals" />
243 <field type="CARD32" name="num_subpixel" /> <!-- new in version 0.6 -->
245 <list type="PICTFORMINFO" name="formats">
246 <fieldref>num_formats</fieldref>
248 <list type="PICTSCREEN" name="screens">
249 <fieldref>num_screens</fieldref>
251 <list type="CARD32" name="subpixels">
252 <fieldref>num_subpixel</fieldref>
257 <!-- from version 0.7 -->
258 <request name="QueryPictIndexValues" opcode="2">
259 <field type="PICTFORMAT" name="format" />
262 <field type="CARD32" name="num_values" />
264 <list type="INDEXVALUE" name="values">
265 <fieldref>num_values</fieldref>
270 <!-- opcode 3 reserved for QueryDithers -->
272 <request name="CreatePicture" opcode="4">
273 <field type="PICTURE" name="pid" />
274 <field type="DRAWABLE" name="drawable" />
275 <field type="PICTFORMAT" name="format" />
276 <valueparam value-mask-type="CARD32"
277 value-mask-name="value_mask"
278 value-list-name="value_list" />
281 <request name="ChangePicture" opcode="5">
282 <field type="PICTURE" name="picture" />
283 <valueparam value-mask-type="CARD32"
284 value-mask-name="value_mask"
285 value-list-name="value_list" />
288 <request name="SetPictureClipRectangles" opcode="6">
289 <field type="PICTURE" name="picture" />
290 <field type="INT16" name="clip_x_origin" />
291 <field type="INT16" name="clip_y_origin" />
292 <list type="RECTANGLE" name="rectangles" />
295 <request name="FreePicture" opcode="7">
296 <field type="PICTURE" name="picture" />
299 <request name="Composite" opcode="8">
300 <field type="CARD8" name="op" />
302 <field type="PICTURE" name="src" />
303 <field type="PICTURE" name="mask" />
304 <field type="PICTURE" name="dst" />
305 <field type="INT16" name="src_x" />
306 <field type="INT16" name="src_y" />
307 <field type="INT16" name="mask_x" />
308 <field type="INT16" name="mask_y" />
309 <field type="INT16" name="dst_x" />
310 <field type="INT16" name="dst_y" />
311 <field type="CARD16" name="width" />
312 <field type="CARD16" name="height" />
315 <!-- opcode 9 reserved for Scale -->
317 <request name="Trapezoids" opcode="10">
318 <field type="CARD8" name="op" />
320 <field type="PICTURE" name="src" />
321 <field type="PICTURE" name="dst" />
322 <field type="PICTFORMAT" name="mask_format" />
323 <field type="INT16" name="src_x" />
324 <field type="INT16" name="src_y" />
325 <list type="TRAP" name="traps" />
328 <request name="Triangles" opcode="11">
329 <field type="CARD8" name="op" />
331 <field type="PICTURE" name="src" />
332 <field type="PICTURE" name="dst" />
333 <field type="PICTFORMAT" name="mask_format" />
334 <field type="INT16" name="src_x" />
335 <field type="INT16" name="src_y" />
336 <list type="TRIANGLE" name="triangles" />
339 <request name="TriStrip" opcode="12">
340 <field type="CARD8" name="op" />
342 <field type="PICTURE" name="src" />
343 <field type="PICTURE" name="dst" />
344 <field type="PICTFORMAT" name="mask_format" />
345 <field type="INT16" name="src_x" />
346 <field type="INT16" name="src_y" />
347 <list type="POINTFIX" name="points" />
350 <request name="TriFan" opcode="13">
351 <field type="CARD8" name="op" />
353 <field type="PICTURE" name="src" />
354 <field type="PICTURE" name="dst" />
355 <field type="PICTFORMAT" name="mask_format" />
356 <field type="INT16" name="src_x" />
357 <field type="INT16" name="src_y" />
358 <list type="POINTFIX" name="points" />
361 <!-- opcode 14 reserved for ColorTrapezoids -->
363 <!-- opcode 15 reserved for ColorTriangles -->
365 <!-- opcode 16 reserved for Transform -->
367 <request name="CreateGlyphSet" opcode="17">
368 <field type="GLYPHSET" name="gsid" />
369 <field type="PICTFORMAT" name="format" />
372 <request name="ReferenceGlyphSet" opcode="18">
373 <field type="GLYPHSET" name="gsid" />
374 <field type="GLYPHSET" name="existing" />
377 <request name="FreeGlyphSet" opcode="19">
378 <field type="GLYPHSET" name="glyphset" />
381 <request name="AddGlyphs" opcode="20">
382 <field type="GLYPHSET" name="glyphset" />
383 <field type="CARD32" name="glyphs_len" />
384 <list type="CARD32" name="glyphids">
385 <fieldref>glyphs_len</fieldref>
387 <list type="GLYPHINFO" name="glyphs">
388 <fieldref>glyphs_len</fieldref>
390 <list type="BYTE" name="data" />
393 <!-- opcode 21 reserved for AddGlyphsFromPicture -->
395 <request name="FreeGlyphs" opcode="22">
396 <field type="GLYPHSET" name="glyphset" />
397 <list type="GLYPH" name="glyphs" />
400 <struct name="GLYPHSETELT">
401 <field type="CARD8" name="len" />
403 <field type="INT16" name="deltax" />
404 <field type="INT16" name="deltay" />
405 <field type="GLYPHSET" name="glyphset" />
408 <!-- CompositeGlyphs8 -->
410 <struct name="GLYPHELT8">
411 <field type="CARD8" name="len" />
413 <field type="INT16" name="deltax" />
414 <field type="INT16" name="deltay" />
415 <list type="CARD8" name="glyphs">
416 <fieldref>len</fieldref>
420 <union name="GLYPHITEM8">
421 <field type="GLYPHELT8" name="glyphelt" />
422 <field type="GLYPHSETELT" name="glyphset" />
425 <request name="CompositeGlyphs8" opcode="23">
426 <field type="CARD8" name="op" />
428 <field type="PICTURE" name="src" />
429 <field type="PICTURE" name="dst" />
430 <field type="PICTFORMAT" name="mask_format" />
431 <field type="GLYPHSET" name="glyphset" />
432 <field type="INT16" name="src_x" />
433 <field type="INT16" name="src_y" />
434 <list type="GLYPHITEM8" name="glyphcmds" />
437 <!-- CompositeGlyphs16 -->
439 <struct name="GLYPHELT16">
440 <field type="CARD8" name="len" />
442 <field type="INT16" name="deltax" />
443 <field type="INT16" name="deltay" />
444 <list type="CARD16" name="glyphs">
445 <fieldref>len</fieldref>
449 <union name="GLYPHITEM16">
450 <field type="GLYPHELT16" name="glyphelt" />
451 <field type="GLYPHSETELT" name="glyphset" />
454 <request name="CompositeGlyphs16" opcode="24">
455 <field type="CARD8" name="op" />
457 <field type="PICTURE" name="src" />
458 <field type="PICTURE" name="dst" />
459 <field type="PICTFORMAT" name="mask_format" />
460 <field type="GLYPHSET" name="glyphset" />
461 <field type="INT16" name="src_x" />
462 <field type="INT16" name="src_y" />
463 <list type="GLYPHITEM16" name="glyphcmds" />
466 <!-- CompositeGlyphs32 -->
468 <struct name="GLYPHELT32">
469 <field type="CARD8" name="len" />
471 <field type="INT16" name="deltax" />
472 <field type="INT16" name="deltay" />
473 <list type="CARD32" name="glyphs">
474 <fieldref>len</fieldref>
478 <union name="GLYPHITEM32">
479 <field type="GLYPHELT32" name="glyphelt" />
480 <field type="GLYPHSETELT" name="glyphset" />
483 <request name="CompositeGlyphs32" opcode="25">
484 <field type="CARD8" name="op" />
486 <field type="PICTURE" name="src" />
487 <field type="PICTURE" name="dst" />
488 <field type="PICTFORMAT" name="mask_format" />
489 <field type="GLYPHSET" name="glyphset" />
490 <field type="INT16" name="src_x" />
491 <field type="INT16" name="src_y" />
492 <list type="GLYPHITEM32" name="glyphcmds" />
495 <!-- new in version 0.1 -->
497 <request name="FillRectangles" opcode="26">
498 <field type="CARD8" name="op" />
500 <field type="PICTURE" name="dst" />
501 <field type="COLOR" name="color" />
502 <list type="RECTANGLE" name="rects" />
505 <!-- new in version 0.5 -->
507 <request name="CreateCursor" opcode="27">
508 <field type="CURSOR" name="cid" />
509 <field type="PICTURE" name="source" />
510 <field type="CARD16" name="x" />
511 <field type="CARD16" name="y" />
514 <!-- new in version 0.6 -->
516 <struct name="TRANSFORM">
517 <field type="FIXED" name="matrix11" />
518 <field type="FIXED" name="matrix12" />
519 <field type="FIXED" name="matrix13" />
520 <field type="FIXED" name="matrix21" />
521 <field type="FIXED" name="matrix22" />
522 <field type="FIXED" name="matrix23" />
523 <field type="FIXED" name="matrix31" />
524 <field type="FIXED" name="matrix32" />
525 <field type="FIXED" name="matrix33" />
528 <request name="SetPictureTransform" opcode="28">
529 <field type="PICTURE" name="picture" />
530 <field type="TRANSFORM" name="transform" />
533 <request name="QueryFilters" opcode="29">
534 <field type="DRAWABLE" name="drawable" />
537 <field type="CARD32" name="num_aliases" />
538 <field type="CARD32" name="num_filters" />
540 <list type="CARD16" name="aliases">
541 <fieldref>num_aliases</fieldref>
543 <list type="STR" name="filters">
544 <fieldref>num_filters</fieldref>
549 <request name="SetPictureFilter" opcode="30">
550 <field type="PICTURE" name="picture" />
551 <field type="CARD16" name="filter_len" />
552 <list type="char" name="filter">
553 <fieldref>filter_len</fieldref>
555 <list type="FIXED" name="values" />
558 <!-- new in version 0.8 -->
560 <struct name="ANIMCURSORELT">
561 <field type="CURSOR" name="cursor" />
562 <field type="CARD32" name="delay" />
565 <request name="CreateAnimCursor" opcode="31">
566 <field type="CURSOR" name="cid" />
567 <list type="ANIMCURSORELT" name="cursors" />