xinput: remove TODO-entry for popcount of a list
[free-sw/xcb/proto] / src / render.xml
index 63d5b18..55b73f7 100644 (file)
@@ -5,68 +5,90 @@ All Rights Reserved.  See the file COPYING in this directory
 for licensing information.
 -->
 <xcb header="render" extension-xname="RENDER" extension-name="Render"
-    major-version="0" minor-version="10">
-  <!-- supports version 0.10 -->
+    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>16</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>32</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">
@@ -86,20 +108,20 @@ for licensing information.
   </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" />
@@ -129,7 +151,7 @@ for licensing information.
 
   <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" />
@@ -233,7 +255,7 @@ for licensing information.
       <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>
@@ -282,10 +304,10 @@ for licensing information.
   </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" />
@@ -300,7 +322,7 @@ for licensing information.
   <!-- 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" />
@@ -311,7 +333,7 @@ for licensing information.
   </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" />
@@ -322,7 +344,7 @@ for licensing information.
   </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" />
@@ -333,7 +355,7 @@ for licensing information.
   </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" />
@@ -383,7 +405,7 @@ for licensing information.
   </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" />
@@ -395,7 +417,7 @@ for licensing information.
   </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" />
@@ -407,7 +429,7 @@ for licensing information.
   </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" />
@@ -421,7 +443,7 @@ for licensing information.
   <!-- 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" />
@@ -475,6 +497,7 @@ for licensing information.
   <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>
@@ -525,6 +548,12 @@ for licensing information.
     <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">
@@ -534,6 +563,12 @@ for licensing information.
     <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">
@@ -541,5 +576,11 @@ for licensing information.
     <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>