[Gtk-sharp-list] [PATCH] Canvas methods needing out parameters

Kristian Rietveld kris@gtk.org
Sun, 22 Dec 2002 16:45:02 +0100


Hi,

Paul Duran (Fatal_2) on IRC pointed out that a bunch of Canvas methods
didn't have out parameters, while they should have. The patch below
fixes this for the applicable canvas methods I could find.

Can I commit this?


thanks,


	-Kris



Index: ChangeLog
===================================================================
RCS file: /cvs/public/gtk-sharp/ChangeLog,v
retrieving revision 1.274
diff -u -p -r1.274 ChangeLog
--- ChangeLog	15 Dec 2002 17:09:06 -0000	1.274
+++ ChangeLog	22 Dec 2002 15:19:05 -0000
@@ -1,3 +1,10 @@
+2002-12-22  Kristian Rietveld  <kris@gtk.org>
+
+	* sources/Gnome.metadata: add out param rules for a bunch of Canvas
+	methods (pointed out by Paul Duran).
+
+	* api/gnome-xml.api: updated
+
 2002-12-15  Alejandro Sánchez Acosta  <raciel@gnome.org>
 
 	* sample/tutorial/spinbutton/SpinButton.cs: Added new SpinButton
sample for the GTK# tutorial.
Index: sources/Gnome.metadata
===================================================================
RCS file: /cvs/public/gtk-sharp/sources/Gnome.metadata,v
retrieving revision 1.6
diff -u -p -r1.6 Gnome.metadata
--- sources/Gnome.metadata	1 Sep 2002 04:46:38 -0000	1.6
+++ sources/Gnome.metadata	22 Dec 2002 15:19:05 -0000
@@ -294,4 +294,178 @@
   </data>
 </rule>
 
+<!-- out parameters -->
+<rule>
+  <class name="GnomeCanvas">
+    <method>GetScrollRegion</method>
+    <method>C2w</method>
+  </class>
+  <class name="GnomeCanvasItem">
+    <method>GetBounds</method>
+  </class>
+  <data>
+    <attribute target="param">
+      <filter level="type">double*</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+  </data>
+</rule>
+<rule>
+  <class name="GnomeCanvas">
+    <method>GetScrollOffsets</method>
+    <method>W2c</method>
+  </class>
+  <data>
+    <attribute target="param">
+      <filter level="type">int*</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+  </data>
+</rule>
+<rule>
+  <class name="GnomeCanvas">
+    <method>W2cD</method>
+  </class>
+  <data>
+    <attribute target="param">
+      <filter level="name">cx</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+    <attribute target="param">
+      <filter level="name">cy</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+  </data>
+</rule>
+<rule>
+  <class name="GnomeCanvas">
+    <method>WindowToWorld</method>
+  </class>
+  <data>
+    <attribute target="param">
+      <filter level="name">worldx</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+    <attribute target="param">
+      <filter level="name">worldy</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+  </data>
+</rule>
+<rule>
+  <class name="GnomeCanvas">
+    <method>WorldToWindow</method>
+  </class>
+  <data>
+    <attribute target="param">
+      <filter level="name">winx</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+  </data>
+  <data>
+    <attribute target="param">
+      <filter level="name">winy</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+  </data>
+</rule>
+<rule>
+  <class name="GnomeCanvas">
+    <method>GetColor</method>
+  </class>
+  <data>
+    <attribute target="param">
+      <filter level="type">GdkColor*</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+  </data>
+</rule>
+<rule>
+  <class name="GnomeCanvasRichText">
+    <method>GetIterLocation</method>
+  </class>
+  <data>
+    <attribute target="param">
+      <filter level="name">location</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+  </data>
+</rule>
+<rule>
+  <class name="GnomeCanvasRichText">
+    <method>GetIterAtLocation</method>
+  </class>
+  <data>
+    <attribute target="param">
+      <filter level="name">iter</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+  </data>
+</rule>
+<rule>
+  <class name="GnomeCanvas">
+    <method>GetMiterPoints</method>
+  </class>
+  <data>
+    <attribute target="param">
+      <filter level="name">mx1</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+    <attribute target="param">
+      <filter level="name">my1</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+    <attribute target="param">
+      <filter level="name">mx2</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+    <attribute target="param">
+      <filter level="name">my2</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+  </data>
+</rule>
+<rule>
+  <class name="GnomeCanvas">
+    <method>GetButtPoints</method>
+  </class>
+  <data>
+    <attribute target="param">
+      <filter level="name">bx1</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+    <attribute target="param">
+      <filter level="name">by1</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+    <attribute target="param">
+      <filter level="name">bx2</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+    <attribute target="param">
+      <filter level="name">by2</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+  </data>
+</rule>
+
 </metadata>
Index: api/gnome-api.xml
===================================================================
RCS file: /cvs/public/gtk-sharp/api/gnome-api.xml,v
retrieving revision 1.4
diff -u -p -r1.4 gnome-api.xml
--- api/gnome-api.xml	26 Oct 2002 08:03:14 -0000	1.4
+++ api/gnome-api.xml	22 Dec 2002 15:19:05 -0000
@@ -266,8 +266,8 @@
         <parameters>
           <parameter type="int" name="cx"/>
           <parameter type="int" name="cy"/>
-          <parameter type="double*" name="wx"/>
-          <parameter type="double*" name="wy"/>
+          <parameter type="double*" name="wx" pass_as="out"/>
+          <parameter type="double*" name="wy" pass_as="out"/>
         </parameters>
       </method>
       <method name="CapGdkToArt" cname="gnome_canvas_cap_gdk_to_art"
shared="true">
@@ -285,10 +285,10 @@
           <parameter type="double" name="y2"/>
           <parameter type="double" name="width"/>
           <parameter type="int" name="project"/>
-          <parameter type="double*" name="bx1"/>
-          <parameter type="double*" name="by1"/>
-          <parameter type="double*" name="bx2"/>
-          <parameter type="double*" name="by2"/>
+          <parameter type="double*" name="bx1" pass_as="out"/>
+          <parameter type="double*" name="by1" pass_as="out"/>
+          <parameter type="double*" name="bx2" pass_as="out"/>
+          <parameter type="double*" name="by2" pass_as="out"/>
         </parameters>
       </method>
       <method name="GetCenterScrollRegion"
cname="gnome_canvas_get_center_scroll_region">
@@ -298,7 +298,7 @@
         <return-type type="int"/>
         <parameters>
           <parameter type="const-char*" name="spec"/>
-          <parameter type="GdkColor*" name="color"/>
+          <parameter type="GdkColor*" name="color" pass_as="out"/>
         </parameters>
       </method>
       <method name="GetColorPixel"
cname="gnome_canvas_get_color_pixel">
@@ -327,26 +327,26 @@
           <parameter type="double" name="x3"/>
           <parameter type="double" name="y3"/>
           <parameter type="double" name="width"/>
-          <parameter type="double*" name="mx1"/>
-          <parameter type="double*" name="my1"/>
-          <parameter type="double*" name="mx2"/>
-          <parameter type="double*" name="my2"/>
+          <parameter type="double*" name="mx1" pass_as="out"/>
+          <parameter type="double*" name="my1" pass_as="out"/>
+          <parameter type="double*" name="mx2" pass_as="out"/>
+          <parameter type="double*" name="my2" pass_as="out"/>
         </parameters>
       </method>
       <method name="GetScrollOffsets"
cname="gnome_canvas_get_scroll_offsets">
         <return-type type="void"/>
         <parameters>
-          <parameter type="int*" name="cx"/>
-          <parameter type="int*" name="cy"/>
+          <parameter type="int*" name="cx" pass_as="out"/>
+          <parameter type="int*" name="cy" pass_as="out"/>
         </parameters>
       </method>
       <method name="GetScrollRegion"
cname="gnome_canvas_get_scroll_region">
         <return-type type="void"/>
         <parameters>
-          <parameter type="double*" name="x1"/>
-          <parameter type="double*" name="y1"/>
-          <parameter type="double*" name="x2"/>
-          <parameter type="double*" name="y2"/>
+          <parameter type="double*" name="x1" pass_as="out"/>
+          <parameter type="double*" name="y1" pass_as="out"/>
+          <parameter type="double*" name="x2" pass_as="out"/>
+          <parameter type="double*" name="y2" pass_as="out"/>
         </parameters>
       </method>
       <method name="GetType" cname="gnome_canvas_get_type"
shared="true">
@@ -459,8 +459,8 @@
         <parameters>
           <parameter type="double" name="wx"/>
           <parameter type="double" name="wy"/>
-          <parameter type="int*" name="cx"/>
-          <parameter type="int*" name="cy"/>
+          <parameter type="int*" name="cx" pass_as="out"/>
+          <parameter type="int*" name="cy" pass_as="out"/>
         </parameters>
       </method>
       <method name="W2cAffine" cname="gnome_canvas_w2c_affine">
@@ -474,8 +474,8 @@
         <parameters>
           <parameter type="double" name="wx"/>
           <parameter type="double" name="wy"/>
-          <parameter type="double*" name="cx"/>
-          <parameter type="double*" name="cy"/>
+          <parameter type="double*" name="cx" pass_as="out"/>
+          <parameter type="double*" name="cy" pass_as="out"/>
         </parameters>
       </method>
       <method name="WindowToWorld"
cname="gnome_canvas_window_to_world">
@@ -483,8 +483,8 @@
         <parameters>
           <parameter type="double" name="winx"/>
           <parameter type="double" name="winy"/>
-          <parameter type="double*" name="worldx"/>
-          <parameter type="double*" name="worldy"/>
+          <parameter type="double*" name="worldx" pass_as="out"/>
+          <parameter type="double*" name="worldy" pass_as="out"/>
         </parameters>
       </method>
       <method name="WorldToWindow"
cname="gnome_canvas_world_to_window">
@@ -493,7 +493,7 @@
           <parameter type="double" name="worldx"/>
           <parameter type="double" name="worldy"/>
           <parameter type="double*" name="winx"/>
-          <parameter type="double*" name="winy"/>
+          <parameter type="double*" name="winy" pass_as="out"/>
         </parameters>
       </method>
     </object>
@@ -566,10 +566,10 @@
       <method name="GetBounds" cname="gnome_canvas_item_get_bounds">
         <return-type type="void"/>
         <parameters>
-          <parameter type="double*" name="x1"/>
-          <parameter type="double*" name="y1"/>
-          <parameter type="double*" name="x2"/>
-          <parameter type="double*" name="y2"/>
+          <parameter type="double*" name="x1" pass_as="out"/>
+          <parameter type="double*" name="y1" pass_as="out"/>
+          <parameter type="double*" name="x2" pass_as="out"/>
+          <parameter type="double*" name="y2" pass_as="out"/>
         </parameters>
       </method>
       <method name="GetType" cname="gnome_canvas_item_get_type"
shared="true">
@@ -845,7 +845,7 @@
       <method name="GetIterAtLocation"
cname="gnome_canvas_rich_text_get_iter_at_location">
         <return-type type="void"/>
         <parameters>
-          <parameter type="GtkTextIter*" name="iter"/>
+          <parameter type="GtkTextIter*" name="iter" pass_as="out"/>
           <parameter type="gint" name="x"/>
           <parameter type="gint" name="y"/>
         </parameters>
@@ -854,7 +854,7 @@
         <return-type type="void"/>
         <parameters>
           <parameter type="const-GtkTextIter*" name="iter"/>
-          <parameter type="GdkRectangle*" name="location"/>
+          <parameter type="GdkRectangle*" name="location"
pass_as="out"/>
         </parameters>
       </method>
       <method name="GetType" cname="gnome_canvas_rich_text_get_type"
shared="true">