All Rights Reserved. See the file COPYING in this directory
for licensing information.
-->
-<xcb header="render" extension-xname="RENDER" extension-name="Render">
- <!-- supports version 0.10 -->
+<xcb header="render" extension-xname="RENDER" extension-name="Render"
+ major-version="0" minor-version="11">
+ <!-- supports version 0.11 -->
<import>xproto</import>
<enum name="PictType">
- <item name="Indexed" />
- <item name="Direct" />
+ <item name="Indexed"> <value>0</value> </item>
+ <item name="Direct"> <value>1</value> </item>
+ </enum>
+
+ <enum name="Picture">
+ <item name="None"> <value>0</value> </item>
</enum>
<!-- Disjoint* and Conjoint* are new in version 0.2 -->
+ <!-- PDF blend modes are new in version 0.11 -->
<enum name="PictOp">
- <item name="Clear" />
- <item name="Src" />
- <item name="Dst" />
- <item name="Over" />
- <item name="OverReverse" />
- <item name="In" />
- <item name="InReverse" />
- <item name="Out" />
- <item name="OutReverse" />
- <item name="Atop" />
- <item name="AtopReverse" />
- <item name="Xor" />
- <item name="Add" />
- <item name="Saturate" />
+ <item name="Clear"> <value>0</value> </item>
+ <item name="Src"> <value>1</value> </item>
+ <item name="Dst"> <value>2</value> </item>
+ <item name="Over"> <value>3</value> </item>
+ <item name="OverReverse"> <value>4</value> </item>
+ <item name="In"> <value>5</value> </item>
+ <item name="InReverse"> <value>6</value> </item>
+ <item name="Out"> <value>7</value> </item>
+ <item name="OutReverse"> <value>8</value> </item>
+ <item name="Atop"> <value>9</value> </item>
+ <item name="AtopReverse"> <value>10</value> </item>
+ <item name="Xor"> <value>11</value> </item>
+ <item name="Add"> <value>12</value> </item>
+ <item name="Saturate"> <value>13</value> </item>
- <item name="DisjointClear"><value>0x10</value></item>
- <item name="DisjointSrc" />
- <item name="DisjointDst" />
- <item name="DisjointOver" />
- <item name="DisjointOverReverse" />
- <item name="DisjointIn" />
- <item name="DisjointInReverse" />
- <item name="DisjointOut" />
- <item name="DisjointOutReverse" />
- <item name="DisjointAtop" />
- <item name="DisjointAtopReverse" />
- <item name="DisjointXor" />
+ <item name="DisjointClear"> <value>16</value></item>
+ <item name="DisjointSrc"> <value>17</value> </item>
+ <item name="DisjointDst"> <value>18</value> </item>
+ <item name="DisjointOver"> <value>19</value> </item>
+ <item name="DisjointOverReverse"> <value>20</value> </item>
+ <item name="DisjointIn"> <value>21</value> </item>
+ <item name="DisjointInReverse"> <value>22</value> </item>
+ <item name="DisjointOut"> <value>23</value> </item>
+ <item name="DisjointOutReverse"> <value>24</value> </item>
+ <item name="DisjointAtop"> <value>25</value> </item>
+ <item name="DisjointAtopReverse"> <value>26</value> </item>
+ <item name="DisjointXor"> <value>27</value> </item>
- <item name="ConjointClear"><value>0x20</value></item>
- <item name="ConjointSrc" />
- <item name="ConjointDst" />
- <item name="ConjointOver" />
- <item name="ConjointOverReverse" />
- <item name="ConjointIn" />
- <item name="ConjointInReverse" />
- <item name="ConjointOut" />
- <item name="ConjointOutReverse" />
- <item name="ConjointAtop" />
- <item name="ConjointAtopReverse" />
- <item name="ConjointXor" />
+ <item name="ConjointClear"> <value>32</value></item>
+ <item name="ConjointSrc"> <value>33</value> </item>
+ <item name="ConjointDst"> <value>34</value> </item>
+ <item name="ConjointOver"> <value>35</value> </item>
+ <item name="ConjointOverReverse"> <value>36</value> </item>
+ <item name="ConjointIn"> <value>37</value> </item>
+ <item name="ConjointInReverse"> <value>38</value> </item>
+ <item name="ConjointOut"> <value>39</value> </item>
+ <item name="ConjointOutReverse"> <value>40</value> </item>
+ <item name="ConjointAtop"> <value>41</value> </item>
+ <item name="ConjointAtopReverse"> <value>42</value> </item>
+ <item name="ConjointXor"> <value>43</value> </item>
+
+ <!-- PDF blend modes are new in version 0.11 -->
+ <item name="Multiply"> <value>48</value></item>
+ <item name="Screen"> <value>49</value> </item>
+ <item name="Overlay"> <value>50</value> </item>
+ <item name="Darken"> <value>51</value> </item>
+ <item name="Lighten"> <value>52</value> </item>
+ <item name="ColorDodge"> <value>53</value> </item>
+ <item name="ColorBurn"> <value>54</value> </item>
+ <item name="HardLight"> <value>55</value> </item>
+ <item name="SoftLight"> <value>56</value> </item>
+ <item name="Difference"> <value>57</value> </item>
+ <item name="Exclusion"> <value>58</value> </item>
+ <item name="HSLHue"> <value>59</value> </item>
+ <item name="HSLSaturation"> <value>60</value> </item>
+ <item name="HSLColor"> <value>61</value> </item>
+ <item name="HSLLuminosity"> <value>62</value> </item>
</enum>
<enum name="PolyEdge">
- <item name="Sharp" />
- <item name="Smooth" />
+ <item name="Sharp"> <value>0</value> </item>
+ <item name="Smooth"> <value>1</value> </item>
</enum>
<enum name="PolyMode">
- <item name="Precise" />
- <item name="Imprecise" />
+ <item name="Precise"> <value>0</value> </item>
+ <item name="Imprecise"> <value>1</value> </item>
</enum>
<enum name="CP">
</enum>
<enum name="SubPixel">
- <item name="Unknown" />
- <item name="HorizontalRGB" />
- <item name="HorizontalBGR" />
- <item name="VerticalRGB" />
- <item name="VerticalBGR" />
- <item name="None" />
+ <item name="Unknown"> <value>0</value> </item>
+ <item name="HorizontalRGB"> <value>1</value> </item>
+ <item name="HorizontalBGR"> <value>2</value> </item>
+ <item name="VerticalRGB"> <value>3</value> </item>
+ <item name="VerticalBGR"> <value>4</value> </item>
+ <item name="None"> <value>5</value> </item>
</enum>
<!-- Extended repeat attributes introduced in 0.10 -->
<enum name="Repeat">
- <item name="None" />
- <item name="Normal" />
- <item name="Pad" />
- <item name="Reflect" />
+ <item name="None"> <value>0</value> </item>
+ <item name="Normal"> <value>1</value> </item>
+ <item name="Pad"> <value>2</value> </item>
+ <item name="Reflect"> <value>3</value> </item>
</enum>
<typedef oldname="CARD32" newname="GLYPH" />
<struct name="PICTFORMINFO">
<field type="PICTFORMAT" name="id" />
- <field type="CARD8" name="type" />
+ <field type="CARD8" name="type" enum="PictType" />
<field type="CARD8" name="depth" />
<pad bytes="2" />
<field type="DIRECTFORMAT" name="direct" />
<list type="PICTSCREEN" name="screens">
<fieldref>num_screens</fieldref>
</list>
- <list type="CARD32" name="subpixels">
+ <list type="CARD32" name="subpixels" enum="SubPixel" >
<fieldref>num_subpixel</fieldref>
</list>
</reply>
</request>
<request name="Composite" opcode="8">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
- <field type="PICTURE" name="mask" />
+ <field type="PICTURE" name="mask" altenum="Picture" />
<field type="PICTURE" name="dst" />
<field type="INT16" name="src_x" />
<field type="INT16" name="src_y" />
<!-- opcode 9 reserved for Scale -->
<request name="Trapezoids" opcode="10">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
</request>
<request name="Triangles" opcode="11">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
</request>
<request name="TriStrip" opcode="12">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
</request>
<request name="TriFan" opcode="13">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
</request>
<request name="CompositeGlyphs8" opcode="23">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
</request>
<request name="CompositeGlyphs16" opcode="24">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
</request>
<request name="CompositeGlyphs32" opcode="25">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
<!-- new in version 0.1 -->
<request name="FillRectangles" opcode="26">
- <field type="CARD8" name="op" />
+ <field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="dst" />
<field type="COLOR" name="color" />
<request name="SetPictureFilter" opcode="30">
<field type="PICTURE" name="picture" />
<field type="CARD16" name="filter_len" />
+ <pad bytes="2" />
<list type="char" name="filter">
<fieldref>filter_len</fieldref>
</list>
<field type="POINTFIX" name="p1" />
<field type="POINTFIX" name="p2" />
<field type="CARD32" name="num_stops" />
+ <list type="FIXED" name="stops">
+ <fieldref>num_stops</fieldref>
+ </list>
+ <list type="COLOR" name="colors">
+ <fieldref>num_stops</fieldref>
+ </list>
</request>
<request name="CreateRadialGradient" opcode="35">
<field type="FIXED" name="inner_radius" />
<field type="FIXED" name="outer_radius" />
<field type="CARD32" name="num_stops" />
+ <list type="FIXED" name="stops">
+ <fieldref>num_stops</fieldref>
+ </list>
+ <list type="COLOR" name="colors">
+ <fieldref>num_stops</fieldref>
+ </list>
</request>
<request name="CreateConicalGradient" opcode="36">
<field type="POINTFIX" name="center" />
<field type="FIXED" name="angle" /> <!-- degrees -->
<field type="CARD32" name="num_stops" />
+ <list type="FIXED" name="stops">
+ <fieldref>num_stops</fieldref>
+ </list>
+ <list type="COLOR" name="colors">
+ <fieldref>num_stops</fieldref>
+ </list>
</request>
</xcb>