[Gtk-sharp-list] Pango API issues
Shane Hyde
shane@enactive.org
Tue, 08 Jul 2003 17:40:43 +1000
This is a multi-part message in MIME format.
--------------030706010204060705070509
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
While trying to call Pango# APIs I found that Pango.Rectangle parms are
not being passed to Pango# as ref objects. This means that all the APIs
which return Rectangle do not actually return values that they should.
I have attached a patch for pango-api.xml which fixes this. You can
then use GetPixelExtents (etc).
Hope this helps.
Shane
--------------030706010204060705070509
Content-Type: text/plain;
name="pango-api.xml.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="pango-api.xml.diff"
Index: pango-api.xml
===================================================================
RCS file: /mono/gtk-sharp/api/pango-api.xml,v
retrieving revision 1.9
diff -u -r1.9 pango-api.xml
--- pango-api.xml 6 Jul 2003 04:08:12 -0000 1.9
+++ pango-api.xml 8 Jul 2003 07:38:50 -0000
@@ -204,8 +204,8 @@
<return-type type="void"/>
<parameters>
<parameter type="PangoGlyph" name="glyph"/>
- <parameter type="PangoRectangle*" name="ink_rect"/>
- <parameter type="PangoRectangle*" name="logical_rect"/>
+ <parameter type="PangoRectangle*" name="ink_rect" pass_as="ref"/>
+ <parameter type="PangoRectangle*" name="logical_rect" pass_as="ref"/>
</parameters>
</method>
<method name="GetMetrics" cname="pango_font_get_metrics">
@@ -324,15 +324,15 @@
<return-type type="void"/>
<parameters>
<parameter type="int" name="index"/>
- <parameter type="PangoRectangle*" name="strong_pos"/>
- <parameter type="PangoRectangle*" name="weak_pos"/>
+ <parameter type="PangoRectangle*" name="strong_pos" pass_as="ref"/>
+ <parameter type="PangoRectangle*" name="weak_pos" pass_as="ref"/>
</parameters>
</method>
<method name="GetExtents" cname="pango_layout_get_extents">
<return-type type="void"/>
<parameters>
- <parameter type="PangoRectangle*" name="ink_rect"/>
- <parameter type="PangoRectangle*" name="logical_rect"/>
+ <parameter type="PangoRectangle*" name="ink_rect" pass_as="ref"/>
+ <parameter type="PangoRectangle*" name="logical_rect" pass_as="ref"/>
</parameters>
</method>
<method name="GetIndent" cname="pango_layout_get_indent">
@@ -366,8 +366,8 @@
<method name="GetPixelExtents" cname="pango_layout_get_pixel_extents">
<return-type type="void"/>
<parameters>
- <parameter type="PangoRectangle*" name="ink_rect"/>
- <parameter type="PangoRectangle*" name="logical_rect"/>
+ <parameter type="PangoRectangle*" name="ink_rect" pass_as="ref"/>
+ <parameter type="PangoRectangle*" name="logical_rect" pass_as="ref"/>
</parameters>
</method>
<method name="GetPixelSize" cname="pango_layout_get_pixel_size">
@@ -409,7 +409,7 @@
<return-type type="void"/>
<parameters>
<parameter type="int" name="index"/>
- <parameter type="PangoRectangle*" name="pos"/>
+ <parameter type="PangoRectangle*" name="pos" pass_as="ref"/>
</parameters>
</method>
<method name="MoveCursorVisually" cname="pango_layout_move_cursor_visually">
@@ -662,8 +662,8 @@
<field cname="logical_rect" type="PangoRectangle"/>
<constructor cname="pango_attr_shape_new">
<parameters>
- <parameter type="const-PangoRectangle*" name="ink_rect"/>
- <parameter type="const-PangoRectangle*" name="logical_rect"/>
+ <parameter type="const-PangoRectangle*" name="ink_rect" pass_as="ref"/>
+ <parameter type="const-PangoRectangle*" name="logical_rect" pass_as="ref"/>
</parameters>
</constructor>
</struct>
@@ -972,8 +972,8 @@
<return-type type="void"/>
<parameters>
<parameter type="PangoFont*" name="font"/>
- <parameter type="PangoRectangle*" name="ink_rect"/>
- <parameter type="PangoRectangle*" name="logical_rect"/>
+ <parameter type="PangoRectangle*" name="ink_rect" pass_as="ref"/>
+ <parameter type="PangoRectangle*" name="logical_rect" pass_as="ref"/>
</parameters>
</method>
<method name="ExtentsRange" cname="pango_glyph_string_extents_range">
@@ -982,8 +982,8 @@
<parameter type="int" name="start"/>
<parameter type="int" name="end"/>
<parameter type="PangoFont*" name="font"/>
- <parameter type="PangoRectangle*" name="ink_rect"/>
- <parameter type="PangoRectangle*" name="logical_rect"/>
+ <parameter type="PangoRectangle*" name="ink_rect" pass_as="ref"/>
+ <parameter type="PangoRectangle*" name="logical_rect" pass_as="ref"/>
</parameters>
</method>
<method name="Free" cname="pango_glyph_string_free">
@@ -1169,14 +1169,14 @@
<method name="GetCharExtents" cname="pango_layout_iter_get_char_extents">
<return-type type="void"/>
<parameters>
- <parameter type="PangoRectangle*" name="logical_rect"/>
+ <parameter type="PangoRectangle*" name="logical_rect" pass_as="ref"/>
</parameters>
</method>
<method name="GetClusterExtents" cname="pango_layout_iter_get_cluster_extents">
<return-type type="void"/>
<parameters>
- <parameter type="PangoRectangle*" name="ink_rect"/>
- <parameter type="PangoRectangle*" name="logical_rect"/>
+ <parameter type="PangoRectangle*" name="ink_rect" pass_as="ref"/>
+ <parameter type="PangoRectangle*" name="logical_rect" pass_as="ref"/>
</parameters>
</method>
<method name="GetIndex" cname="pango_layout_iter_get_index">
@@ -1185,8 +1185,8 @@
<method name="GetLayoutExtents" cname="pango_layout_iter_get_layout_extents">
<return-type type="void"/>
<parameters>
- <parameter type="PangoRectangle*" name="ink_rect"/>
- <parameter type="PangoRectangle*" name="logical_rect"/>
+ <parameter type="PangoRectangle*" name="ink_rect" pass_as="ref" />
+ <parameter type="PangoRectangle*" name="logical_rect" pass_as="ref" />
</parameters>
</method>
<method name="GetLine" cname="pango_layout_iter_get_line">
@@ -1195,8 +1195,8 @@
<method name="GetLineExtents" cname="pango_layout_iter_get_line_extents">
<return-type type="void"/>
<parameters>
- <parameter type="PangoRectangle*" name="ink_rect"/>
- <parameter type="PangoRectangle*" name="logical_rect"/>
+ <parameter type="PangoRectangle*" name="ink_rect" pass_as="ref" />
+ <parameter type="PangoRectangle*" name="logical_rect" pass_as="ref" />
</parameters>
</method>
<method name="GetLineYrange" cname="pango_layout_iter_get_line_yrange">
@@ -1212,8 +1212,8 @@
<method name="GetRunExtents" cname="pango_layout_iter_get_run_extents">
<return-type type="void"/>
<parameters>
- <parameter type="PangoRectangle*" name="ink_rect"/>
- <parameter type="PangoRectangle*" name="logical_rect"/>
+ <parameter type="PangoRectangle*" name="ink_rect" pass_as="ref"/>
+ <parameter type="PangoRectangle*" name="logical_rect" pass_as="ref"/>
</parameters>
</method>
<method name="NextChar" cname="pango_layout_iter_next_char">
@@ -1237,15 +1237,15 @@
<method name="GetExtents" cname="pango_layout_line_get_extents">
<return-type type="void"/>
<parameters>
- <parameter type="PangoRectangle*" name="ink_rect"/>
- <parameter type="PangoRectangle*" name="logical_rect"/>
+ <parameter type="PangoRectangle*" name="ink_rect" pass_as="ref"/>
+ <parameter type="PangoRectangle*" name="logical_rect" pass_as="ref"/>
</parameters>
</method>
<method name="GetPixelExtents" cname="pango_layout_line_get_pixel_extents">
<return-type type="void"/>
<parameters>
- <parameter type="PangoRectangle*" name="ink_rect"/>
- <parameter type="PangoRectangle*" name="logical_rect"/>
+ <parameter type="PangoRectangle*" name="ink_rect" pass_as="ref" />
+ <parameter type="PangoRectangle*" name="logical_rect" pass_as="ref" />
</parameters>
</method>
<method name="GetXRanges" cname="pango_layout_line_get_x_ranges">
--------------030706010204060705070509--