sync
[gir-1.1] / PangoCairo-1.0.gir
1 <?xml version="1.0"?>
2 <!-- This file was automatically generated from C sources - DO NOT EDIT!
3 To affect the contents of this file, edit the original C definitions,
4 and/or use gtk-doc annotations.  -->
5 <repository version="1.1"
6             xmlns="http://www.gtk.org/introspection/core/1.0"
7             xmlns:c="http://www.gtk.org/introspection/c/1.0"
8             xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9   <include name="GLib" version="2.0"/>
10   <include name="GObject" version="2.0"/>
11   <include name="Pango" version="1.0"/>
12   <include name="PangoFT2" version="1.0"/>
13   <include name="cairo" version="1.0"/>
14   <include name="fontconfig" version="2.0"/>
15   <include name="freetype2" version="2.0"/>
16   <package name="cairo"/>
17   <package name="gobject-2.0"/>
18   <namespace name="PangoCairo"
19              version="1.0"
20              shared-library="libpangocairo-1.0.so.0"
21              c:prefix="PangoCairo">
22     <class name="FcFontMap"
23            c:type="PangoCairoFcFontMap"
24            parent="PangoFT2.PangoFcFontMap"
25            glib:type-name="PangoCairoFcFontMap"
26            glib:get-type="pango_cairo_fc_font_map_get_type">
27       <implements name="FontMap"/>
28       <field name="parent_instance">
29         <type name="PangoFT2.PangoFcFontMap" c:type="PangoFcFontMap"/>
30       </field>
31       <field name="dpi">
32         <type name="double" c:type="double"/>
33       </field>
34       <field name="library">
35         <type name="freetype2.Library" c:type="FT_Library"/>
36       </field>
37     </class>
38     <interface name="Font"
39                c:type="PangoCairoFont"
40                version="1.18"
41                glib:type-name="PangoCairoFont"
42                glib:get-type="pango_cairo_font_get_type"
43                glib:type-struct="FontIface">
44       <doc xml:whitespace="preserve">#PangoCairoFont is an interface exported by fonts for
45 use with Cairo. The actual type of the font will depend
46 on the particular font technology Cairo was compiled to use.</doc>
47       <prerequisite name="Pango.Font"/>
48       <virtual-method name="create_font_face">
49         <return-value transfer-ownership="full">
50           <type name="cairo.FontFace" c:type="cairo_font_face_t*"/>
51         </return-value>
52       </virtual-method>
53       <virtual-method name="create_base_metrics_for_context">
54         <return-value transfer-ownership="full">
55           <type name="Pango.FontMetrics" c:type="PangoFontMetrics*"/>
56         </return-value>
57         <parameters>
58           <parameter name="context" transfer-ownership="none">
59             <type name="Pango.Context" c:type="PangoContext*"/>
60           </parameter>
61         </parameters>
62       </virtual-method>
63       <method name="get_scaled_font"
64               c:identifier="pango_cairo_font_get_scaled_font"
65               version="1.18">
66         <doc xml:whitespace="preserve">Gets the #cairo_scaled_font_t used by @font.
67 The scaled font can be referenced and kept using
68 cairo_scaled_font_reference().
69 or %NULL if @font is %NULL.</doc>
70         <return-value transfer-ownership="full">
71           <doc xml:whitespace="preserve">the #cairo_scaled_font_t used by @font,</doc>
72           <type name="cairo.ScaledFont" c:type="cairo_scaled_font_t*"/>
73         </return-value>
74       </method>
75     </interface>
76     <record name="FontGlyphExtentsCacheEntry"
77             c:type="PangoCairoFontGlyphExtentsCacheEntry">
78     </record>
79     <record name="FontHexBoxInfo" c:type="PangoCairoFontHexBoxInfo">
80       <field name="font" writable="1">
81         <type name="Font" c:type="PangoCairoFont*"/>
82       </field>
83       <field name="rows" writable="1">
84         <type name="int" c:type="int"/>
85       </field>
86       <field name="digit_width" writable="1">
87         <type name="double" c:type="double"/>
88       </field>
89       <field name="digit_height" writable="1">
90         <type name="double" c:type="double"/>
91       </field>
92       <field name="pad_x" writable="1">
93         <type name="double" c:type="double"/>
94       </field>
95       <field name="pad_y" writable="1">
96         <type name="double" c:type="double"/>
97       </field>
98       <field name="line_width" writable="1">
99         <type name="double" c:type="double"/>
100       </field>
101       <field name="box_descent" writable="1">
102         <type name="double" c:type="double"/>
103       </field>
104       <field name="box_height" writable="1">
105         <type name="double" c:type="double"/>
106       </field>
107     </record>
108     <record name="FontIface"
109             c:type="PangoCairoFontIface"
110             glib:is-gtype-struct-for="Font">
111       <field name="g_iface">
112         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
113       </field>
114       <field name="create_font_face">
115         <callback name="create_font_face" c:type="create_font_face">
116           <return-value transfer-ownership="full">
117             <type name="cairo.FontFace" c:type="cairo_font_face_t*"/>
118           </return-value>
119           <parameters>
120             <parameter name="cfont" transfer-ownership="none">
121               <type name="Font" c:type="PangoCairoFont*"/>
122             </parameter>
123           </parameters>
124         </callback>
125       </field>
126       <field name="create_base_metrics_for_context">
127         <callback name="create_base_metrics_for_context"
128                   c:type="create_base_metrics_for_context">
129           <return-value transfer-ownership="full">
130             <type name="Pango.FontMetrics" c:type="PangoFontMetrics*"/>
131           </return-value>
132           <parameters>
133             <parameter name="cfont" transfer-ownership="none">
134               <type name="Font" c:type="PangoCairoFont*"/>
135             </parameter>
136             <parameter name="context" transfer-ownership="none">
137               <type name="Pango.Context" c:type="PangoContext*"/>
138             </parameter>
139           </parameters>
140         </callback>
141       </field>
142       <field name="cf_priv_offset">
143         <type name="gssize" c:type="gssize"/>
144       </field>
145     </record>
146     <interface name="FontMap"
147                c:type="PangoCairoFontMap"
148                version="1.10"
149                glib:type-name="PangoCairoFontMap"
150                glib:get-type="pango_cairo_font_map_get_type"
151                glib:type-struct="FontMapIface">
152       <doc xml:whitespace="preserve">#PangoCairoFontMap is an interface exported by font maps for
153 use with Cairo. The actual type of the font map will depend
154 on the particular font technology Cairo was compiled to use.</doc>
155       <prerequisite name="Pango.FontMap"/>
156       <virtual-method name="set_resolution"
157                       invoker="set_resolution"
158                       version="1.10">
159         <doc xml:whitespace="preserve">Sets the resolution for the fontmap. This is a scale factor between
160 points specified in a #PangoFontDescription and Cairo units. The
161 default value is 96, meaning that a 10 point font will be 13
162 units high. (10 * 96. / 72. = 13.3).</doc>
163         <return-value transfer-ownership="none">
164           <type name="none" c:type="void"/>
165         </return-value>
166         <parameters>
167           <parameter name="dpi" transfer-ownership="none">
168             <doc xml:whitespace="preserve">the resolution in "dots per inch". (Physical inches aren't actually involved; the terminology is conventional.)</doc>
169             <type name="double" c:type="double"/>
170           </parameter>
171         </parameters>
172       </virtual-method>
173       <virtual-method name="get_resolution"
174                       invoker="get_resolution"
175                       version="1.10">
176         <doc xml:whitespace="preserve">Gets the resolution for the fontmap. See pango_cairo_font_map_set_resolution()</doc>
177         <return-value transfer-ownership="none">
178           <doc xml:whitespace="preserve">the resolution in "dots per inch"</doc>
179           <type name="double" c:type="double"/>
180         </return-value>
181       </virtual-method>
182       <virtual-method name="get_font_type"
183                       invoker="get_font_type"
184                       version="1.18">
185         <doc xml:whitespace="preserve">Gets the type of Cairo font backend that @fontmap uses.</doc>
186         <return-value transfer-ownership="full">
187           <doc xml:whitespace="preserve">the #cairo_font_type_t cairo font backend type</doc>
188           <type name="cairo.FontType" c:type="cairo_font_type_t"/>
189         </return-value>
190       </virtual-method>
191       <method name="set_default"
192               c:identifier="pango_cairo_font_map_set_default"
193               version="1.22">
194         <doc xml:whitespace="preserve">Sets a default #PangoCairoFontMap to use with Cairo.
195 This can be used to change the Cairo font backend that the
196 default fontmap uses for example.  The old default font map
197 is unreffed and the new font map referenced.
198 A value of %NULL for @fontmap will cause the current default
199 font map to be released and a new default font
200 map to be created on demand, using pango_cairo_font_map_new().</doc>
201         <return-value transfer-ownership="none">
202           <type name="none" c:type="void"/>
203         </return-value>
204       </method>
205       <method name="get_font_type"
206               c:identifier="pango_cairo_font_map_get_font_type"
207               version="1.18">
208         <doc xml:whitespace="preserve">Gets the type of Cairo font backend that @fontmap uses.</doc>
209         <return-value transfer-ownership="full">
210           <doc xml:whitespace="preserve">the #cairo_font_type_t cairo font backend type</doc>
211           <type name="cairo.FontType" c:type="cairo_font_type_t"/>
212         </return-value>
213       </method>
214       <method name="set_resolution"
215               c:identifier="pango_cairo_font_map_set_resolution"
216               version="1.10">
217         <doc xml:whitespace="preserve">Sets the resolution for the fontmap. This is a scale factor between
218 points specified in a #PangoFontDescription and Cairo units. The
219 default value is 96, meaning that a 10 point font will be 13
220 units high. (10 * 96. / 72. = 13.3).</doc>
221         <return-value transfer-ownership="none">
222           <type name="none" c:type="void"/>
223         </return-value>
224         <parameters>
225           <parameter name="dpi" transfer-ownership="none">
226             <doc xml:whitespace="preserve">the resolution in "dots per inch". (Physical inches aren't actually involved; the terminology is conventional.)</doc>
227             <type name="double" c:type="double"/>
228           </parameter>
229         </parameters>
230       </method>
231       <method name="get_resolution"
232               c:identifier="pango_cairo_font_map_get_resolution"
233               version="1.10">
234         <doc xml:whitespace="preserve">Gets the resolution for the fontmap. See pango_cairo_font_map_set_resolution()</doc>
235         <return-value transfer-ownership="none">
236           <doc xml:whitespace="preserve">the resolution in "dots per inch"</doc>
237           <type name="double" c:type="double"/>
238         </return-value>
239       </method>
240       <method name="create_context"
241               c:identifier="pango_cairo_font_map_create_context"
242               version="1.10"
243               deprecated="Use pango_font_map_create_context() instead."
244               deprecated-version="1.22">
245         <doc xml:whitespace="preserve">Create a #PangoContext for the given fontmap.</doc>
246         <return-value transfer-ownership="full">
247           <doc xml:whitespace="preserve">the newly created context; free with g_object_unref().</doc>
248           <type name="Pango.Context" c:type="PangoContext*"/>
249         </return-value>
250       </method>
251     </interface>
252     <record name="FontMapIface"
253             c:type="PangoCairoFontMapIface"
254             glib:is-gtype-struct-for="FontMap">
255       <field name="g_iface">
256         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
257       </field>
258       <field name="set_resolution">
259         <callback name="set_resolution" c:type="set_resolution">
260           <return-value transfer-ownership="none">
261             <type name="none" c:type="void"/>
262           </return-value>
263           <parameters>
264             <parameter name="fontmap" transfer-ownership="none">
265               <type name="FontMap" c:type="PangoCairoFontMap*"/>
266             </parameter>
267             <parameter name="dpi" transfer-ownership="none">
268               <doc xml:whitespace="preserve">the resolution in "dots per inch". (Physical inches aren't actually involved; the terminology is conventional.)</doc>
269               <type name="double" c:type="double"/>
270             </parameter>
271           </parameters>
272         </callback>
273       </field>
274       <field name="get_resolution">
275         <callback name="get_resolution" c:type="get_resolution">
276           <return-value transfer-ownership="none">
277             <doc xml:whitespace="preserve">the resolution in "dots per inch"</doc>
278             <type name="double" c:type="double"/>
279           </return-value>
280           <parameters>
281             <parameter name="fontmap" transfer-ownership="none">
282               <type name="FontMap" c:type="PangoCairoFontMap*"/>
283             </parameter>
284           </parameters>
285         </callback>
286       </field>
287       <field name="get_font_type">
288         <callback name="get_font_type" c:type="get_font_type">
289           <return-value transfer-ownership="full">
290             <doc xml:whitespace="preserve">the #cairo_font_type_t cairo font backend type</doc>
291             <type name="cairo.FontType" c:type="cairo_font_type_t"/>
292           </return-value>
293           <parameters>
294             <parameter name="fontmap" transfer-ownership="none">
295               <type name="FontMap" c:type="PangoCairoFontMap*"/>
296             </parameter>
297           </parameters>
298         </callback>
299       </field>
300     </record>
301     <record name="FontPrivate" c:type="PangoCairoFontPrivate">
302       <field name="cfont" writable="1">
303         <type name="Font" c:type="PangoCairoFont*"/>
304       </field>
305       <field name="data" writable="1">
306         <type name="FontPrivateScaledFontData"
307               c:type="PangoCairoFontPrivateScaledFontData*"/>
308       </field>
309       <field name="scaled_font" writable="1">
310         <type name="cairo.ScaledFont" c:type="cairo_scaled_font_t*"/>
311       </field>
312       <field name="hbi" writable="1">
313         <type name="FontHexBoxInfo" c:type="PangoCairoFontHexBoxInfo*"/>
314       </field>
315       <field name="is_hinted" writable="1">
316         <type name="boolean" c:type="gboolean"/>
317       </field>
318       <field name="gravity" writable="1">
319         <type name="Pango.Gravity" c:type="PangoGravity"/>
320       </field>
321       <field name="font_extents" writable="1">
322         <type name="Pango.Rectangle" c:type="PangoRectangle"/>
323       </field>
324       <field name="glyph_extents_cache" writable="1">
325         <type name="FontGlyphExtentsCacheEntry"
326               c:type="PangoCairoFontGlyphExtentsCacheEntry*"/>
327       </field>
328       <field name="metrics_by_lang" writable="1">
329         <type name="GLib.SList" c:type="GSList*">
330           <type name="any" c:type="gpointer"/>
331         </type>
332       </field>
333     </record>
334     <record name="FontPrivateScaledFontData"
335             c:type="PangoCairoFontPrivateScaledFontData">
336       <field name="font_matrix" writable="1">
337         <type name="cairo.Matrix" c:type="cairo_matrix_t"/>
338       </field>
339       <field name="ctm" writable="1">
340         <type name="cairo.Matrix" c:type="cairo_matrix_t"/>
341       </field>
342       <field name="options" writable="1">
343         <type name="cairo.FontOptions" c:type="cairo_font_options_t*"/>
344       </field>
345     </record>
346     <constant name="HEIGHT_SQUARES" value="2.5">
347       <type name="double"/>
348     </constant>
349     <class name="Renderer"
350            c:type="PangoCairoRenderer"
351            parent="Pango.Renderer"
352            glib:type-name="PangoCairoRenderer"
353            glib:get-type="pango_cairo_renderer_get_type">
354     </class>
355     <callback name="ShapeRendererFunc" c:type="PangoCairoShapeRendererFunc">
356       <return-value transfer-ownership="none">
357         <type name="none" c:type="void"/>
358       </return-value>
359       <parameters>
360         <parameter name="cr" transfer-ownership="none">
361           <type name="cairo.Context" c:type="cairo_t*"/>
362         </parameter>
363         <parameter name="attr" transfer-ownership="none">
364           <type name="Pango.AttrShape" c:type="PangoAttrShape*"/>
365         </parameter>
366         <parameter name="do_path" transfer-ownership="none">
367           <type name="boolean" c:type="gboolean"/>
368         </parameter>
369         <parameter name="data" transfer-ownership="none">
370           <type name="any" c:type="gpointer"/>
371         </parameter>
372       </parameters>
373     </callback>
374     <function name="context_get_font_options"
375               c:identifier="pango_cairo_context_get_font_options"
376               version="1.10">
377       <doc xml:whitespace="preserve">Retrieves any font rendering options previously set with
378 pango_cairo_font_map_set_font_options(). This function does not report options
379 that are derived from the target surface by pango_cairo_update_context()
380 if no options have been set. This value is owned by the context
381 and must not be modified or freed.</doc>
382       <return-value transfer-ownership="none">
383         <doc xml:whitespace="preserve">the font options previously set on the context, or %NULL</doc>
384         <type name="cairo.FontOptions" c:type="cairo_font_options_t*"/>
385       </return-value>
386       <parameters>
387         <parameter name="context" transfer-ownership="none">
388           <doc xml:whitespace="preserve">a #PangoContext, from a pangocairo font map</doc>
389           <type name="Pango.Context" c:type="PangoContext*"/>
390         </parameter>
391       </parameters>
392     </function>
393     <function name="context_get_resolution"
394               c:identifier="pango_cairo_context_get_resolution"
395               version="1.10">
396       <doc xml:whitespace="preserve">Gets the resolution for the context. See pango_cairo_context_set_resolution()
397 be returned if no resolution has previously been set.</doc>
398       <return-value transfer-ownership="none">
399         <doc xml:whitespace="preserve">the resolution in "dots per inch". A negative value will</doc>
400         <type name="double" c:type="double"/>
401       </return-value>
402       <parameters>
403         <parameter name="context" transfer-ownership="none">
404           <doc xml:whitespace="preserve">a #PangoContext, from a pangocairo font map</doc>
405           <type name="Pango.Context" c:type="PangoContext*"/>
406         </parameter>
407       </parameters>
408     </function>
409     <function name="context_get_shape_renderer"
410               c:identifier="pango_cairo_context_get_shape_renderer"
411               version="1.18">
412       <doc xml:whitespace="preserve">Sets callback function for context to use for rendering attributes
413 of type %PANGO_ATTR_SHAPE.  See #PangoCairoShapeRendererFunc for
414 details.
415 Retrieves callback function and associated user data for rendering
416 attributes of type %PANGO_ATTR_SHAPE as set by
417 pango_cairo_context_set_shape_renderer(), if any.
418 if no shape rendering callback have been set.</doc>
419       <return-value transfer-ownership="full">
420         <doc xml:whitespace="preserve">the shape rendering callback previously set on the context, or %NULL</doc>
421         <type name="ShapeRendererFunc" c:type="PangoCairoShapeRendererFunc"/>
422       </return-value>
423       <parameters>
424         <parameter name="context" transfer-ownership="none">
425           <doc xml:whitespace="preserve">a #PangoContext, from a pangocairo font map</doc>
426           <type name="Pango.Context" c:type="PangoContext*"/>
427         </parameter>
428         <parameter name="data" transfer-ownership="none">
429           <doc xml:whitespace="preserve">Pointer to #gpointer to return user data</doc>
430           <type name="any" c:type="gpointer*"/>
431         </parameter>
432       </parameters>
433     </function>
434     <function name="context_set_font_options"
435               c:identifier="pango_cairo_context_set_font_options"
436               version="1.10">
437       <doc xml:whitespace="preserve">Sets the font options used when rendering text with this context.
438 These options override any options that pango_cairo_update_context()
439 derives from the target surface.</doc>
440       <return-value transfer-ownership="none">
441         <type name="none" c:type="void"/>
442       </return-value>
443       <parameters>
444         <parameter name="context" transfer-ownership="none">
445           <doc xml:whitespace="preserve">a #PangoContext, from a pangocairo font map</doc>
446           <type name="Pango.Context" c:type="PangoContext*"/>
447         </parameter>
448         <parameter name="options" transfer-ownership="none">
449           <doc xml:whitespace="preserve">a #cairo_font_options_t, or %NULL to unset any previously set options. A copy is made.</doc>
450           <type name="cairo.FontOptions" c:type="cairo_font_options_t*"/>
451         </parameter>
452       </parameters>
453     </function>
454     <function name="context_set_resolution"
455               c:identifier="pango_cairo_context_set_resolution"
456               version="1.10">
457       <doc xml:whitespace="preserve">Sets the resolution for the context. This is a scale factor between
458 points specified in a #PangoFontDescription and Cairo units. The
459 default value is 96, meaning that a 10 point font will be 13
460 units high. (10 * 96. / 72. = 13.3).</doc>
461       <return-value transfer-ownership="none">
462         <type name="none" c:type="void"/>
463       </return-value>
464       <parameters>
465         <parameter name="context" transfer-ownership="none">
466           <doc xml:whitespace="preserve">a #PangoContext, from a pangocairo font map</doc>
467           <type name="Pango.Context" c:type="PangoContext*"/>
468         </parameter>
469         <parameter name="dpi" transfer-ownership="none">
470           <doc xml:whitespace="preserve">the resolution in "dots per inch". (Physical inches aren't actually involved; the terminology is conventional.) A 0 or negative value means to use the resolution from the font map.</doc>
471           <type name="double" c:type="double"/>
472         </parameter>
473       </parameters>
474     </function>
475     <function name="context_set_shape_renderer"
476               c:identifier="pango_cairo_context_set_shape_renderer"
477               version="1.18">
478       <doc xml:whitespace="preserve">Sets callback function for context to use for rendering attributes
479 of type %PANGO_ATTR_SHAPE.  See #PangoCairoShapeRendererFunc for
480 details.</doc>
481       <return-value transfer-ownership="none">
482         <type name="none" c:type="void"/>
483       </return-value>
484       <parameters>
485         <parameter name="context" transfer-ownership="none">
486           <doc xml:whitespace="preserve">a #PangoContext, from a pangocairo font map</doc>
487           <type name="Pango.Context" c:type="PangoContext*"/>
488         </parameter>
489         <parameter name="func"
490                    transfer-ownership="none"
491                    scope="notified"
492                    closure="2"
493                    destroy="3">
494           <doc xml:whitespace="preserve">Callback function for rendering attributes of type %PANGO_ATTR_SHAPE, or %NULL to disable shape rendering.</doc>
495           <type name="ShapeRendererFunc" c:type="PangoCairoShapeRendererFunc"/>
496         </parameter>
497         <parameter name="data" transfer-ownership="none">
498           <doc xml:whitespace="preserve">User data that will be passed to @func.</doc>
499           <type name="any" c:type="gpointer"/>
500         </parameter>
501         <parameter name="dnotify" transfer-ownership="none" scope="call">
502           <doc xml:whitespace="preserve">Callback that will be called when the context is freed to release @data, or %NULL.</doc>
503           <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
504         </parameter>
505       </parameters>
506     </function>
507     <function name="create_context"
508               c:identifier="pango_cairo_create_context"
509               version="1.22">
510       <doc xml:whitespace="preserve">Creates a context object set up to match the current transformation
511 and target surface of the Cairo context.  This context can then be
512 used to create a layout using pango_layout_new().
513 This function is a convenience function that creates a context using
514 the default font map, then updates it to @cr.  If you just need to
515 create a layout for use with @cr and do not need to access #PangoContext
516 directly, you can use pango_cairo_create_layout() instead.
517 g_object_unref().</doc>
518       <return-value transfer-ownership="full">
519         <doc xml:whitespace="preserve">the newly created #PangoContext. Free with</doc>
520         <type name="Pango.Context" c:type="PangoContext*"/>
521       </return-value>
522       <parameters>
523         <parameter name="cr" transfer-ownership="none">
524           <doc xml:whitespace="preserve">a Cairo context</doc>
525           <type name="cairo.Context" c:type="cairo_t*"/>
526         </parameter>
527       </parameters>
528     </function>
529     <function name="create_layout"
530               c:identifier="pango_cairo_create_layout"
531               version="1.10">
532       <doc xml:whitespace="preserve">Creates a layout object set up to match the current transformation
533 and target surface of the Cairo context.  This layout can then be
534 used for text measurement with functions like
535 pango_layout_get_size() or drawing with functions like
536 pango_cairo_show_layout(). If you change the transformation
537 or target surface for @cr, you need to call pango_cairo_update_layout()
538 This function is the most convenient way to use Cairo with Pango,
539 however it is slightly inefficient since it creates a separate
540 #PangoContext object for each layout. This might matter in an
541 application that was laying out large amounts of text.
542 g_object_unref().</doc>
543       <return-value transfer-ownership="full">
544         <doc xml:whitespace="preserve">the newly created #PangoLayout. Free with</doc>
545         <type name="Pango.Layout" c:type="PangoLayout*"/>
546       </return-value>
547       <parameters>
548         <parameter name="cr" transfer-ownership="none">
549           <doc xml:whitespace="preserve">a Cairo context</doc>
550           <type name="cairo.Context" c:type="cairo_t*"/>
551         </parameter>
552       </parameters>
553     </function>
554     <function name="error_underline_path"
555               c:identifier="pango_cairo_error_underline_path"
556               version="1.14">
557       <doc xml:whitespace="preserve">Add a squiggly line to the current path in the specified cairo context that
558 approximately covers the given rectangle in the style of an underline used
559 to indicate a spelling error.  (The width of the underline is rounded to an
560 integer number of up/down segments and the resulting rectangle is centered
561 in the original rectangle)</doc>
562       <return-value transfer-ownership="none">
563         <type name="none" c:type="void"/>
564       </return-value>
565       <parameters>
566         <parameter name="cr" transfer-ownership="none">
567           <doc xml:whitespace="preserve">a Cairo context</doc>
568           <type name="cairo.Context" c:type="cairo_t*"/>
569         </parameter>
570         <parameter name="x" transfer-ownership="none">
571           <doc xml:whitespace="preserve">The X coordinate of one corner of the rectangle</doc>
572           <type name="double" c:type="double"/>
573         </parameter>
574         <parameter name="y" transfer-ownership="none">
575           <doc xml:whitespace="preserve">The Y coordinate of one corner of the rectangle</doc>
576           <type name="double" c:type="double"/>
577         </parameter>
578         <parameter name="width" transfer-ownership="none">
579           <doc xml:whitespace="preserve">Non-negative width of the rectangle</doc>
580           <type name="double" c:type="double"/>
581         </parameter>
582         <parameter name="height" transfer-ownership="none">
583           <doc xml:whitespace="preserve">Non-negative height of the rectangle</doc>
584           <type name="double" c:type="double"/>
585         </parameter>
586       </parameters>
587     </function>
588     <function name="font_map_get_default"
589               c:identifier="pango_cairo_font_map_get_default"
590               version="1.10">
591       <doc xml:whitespace="preserve">Gets a default #PangoCairoFontMap to use with Cairo.
592 Note that the type of the returned object will depend
593 on the particular font backend Cairo was compiled to use;
594 You generally should only use the #PangoFontMap and
595 #PangoCairoFontMap interfaces on the returned object.
596 The default Cairo fontmap can be changed by using
597 pango_cairo_font_map_set_default().  This can be used to
598 change the Cairo font backend that the default fontmap
599 uses for example.
600 object is owned by Pango and must not be freed.</doc>
601       <return-value transfer-ownership="full">
602         <doc xml:whitespace="preserve">the default Cairo fontmap for Pango. This</doc>
603         <type name="Pango.FontMap" c:type="PangoFontMap*"/>
604       </return-value>
605     </function>
606     <function name="font_map_new"
607               c:identifier="pango_cairo_font_map_new"
608               version="1.10">
609       <doc xml:whitespace="preserve">Creates a new #PangoCairoFontMap object; a fontmap is used
610 to cache information about available fonts, and holds
611 certain global parameters such as the resolution.
612 In most cases, you can use pango_cairo_font_map_get_default()
613 instead.
614 Note that the type of the returned object will depend
615 on the particular font backend Cairo was compiled to use;
616 You generally should only use the #PangoFontMap and
617 #PangoCairoFontMap interfaces on the returned object.
618 be freed with g_object_unref().</doc>
619       <return-value transfer-ownership="full">
620         <doc xml:whitespace="preserve">the newly allocated #PangoFontMap, which should</doc>
621         <type name="Pango.FontMap" c:type="PangoFontMap*"/>
622       </return-value>
623     </function>
624     <function name="font_map_new_for_font_type"
625               c:identifier="pango_cairo_font_map_new_for_font_type"
626               version="1.18">
627       <doc xml:whitespace="preserve">Creates a new #PangoCairoFontMap object of the type suitable
628 to be used with cairo font backend of type @fonttype.
629 In most cases one should simply use @pango_cairo_font_map_new(),
630 or in fact in most of those cases, just use
631 which should be freed with g_object_unref(),
632 or %NULL if the requested cairo font backend is
633 not supported / compiled in.</doc>
634       <return-value transfer-ownership="full">
635         <doc xml:whitespace="preserve">the newly allocated #PangoFontMap of suitable type</doc>
636         <type name="Pango.FontMap" c:type="PangoFontMap*"/>
637       </return-value>
638       <parameters>
639         <parameter name="fonttype" transfer-ownership="none">
640           <doc xml:whitespace="preserve">desired #cairo_font_type_t</doc>
641           <type name="cairo.FontType" c:type="cairo_font_type_t"/>
642         </parameter>
643       </parameters>
644     </function>
645     <function name="glyph_string_path"
646               c:identifier="pango_cairo_glyph_string_path">
647       <return-value transfer-ownership="none">
648         <type name="none" c:type="void"/>
649       </return-value>
650       <parameters>
651         <parameter name="cr" transfer-ownership="none">
652           <type name="cairo.Context" c:type="cairo_t*"/>
653         </parameter>
654         <parameter name="font" transfer-ownership="none">
655           <type name="Pango.Font" c:type="PangoFont*"/>
656         </parameter>
657         <parameter name="glyphs" transfer-ownership="none">
658           <type name="Pango.GlyphString" c:type="PangoGlyphString*"/>
659         </parameter>
660       </parameters>
661     </function>
662     <function name="layout_line_path"
663               c:identifier="pango_cairo_layout_line_path"
664               version="1.10">
665       <doc xml:whitespace="preserve">Adds the text in #PangoLayoutLine to the current path in the
666 specified cairo context.  The origin of the glyphs (the left edge
667 of the line) will be at the current point of the cairo context.</doc>
668       <return-value transfer-ownership="none">
669         <type name="none" c:type="void"/>
670       </return-value>
671       <parameters>
672         <parameter name="cr" transfer-ownership="none">
673           <doc xml:whitespace="preserve">a Cairo context</doc>
674           <type name="cairo.Context" c:type="cairo_t*"/>
675         </parameter>
676         <parameter name="line" transfer-ownership="none">
677           <doc xml:whitespace="preserve">a #PangoLayoutLine</doc>
678           <type name="Pango.LayoutLine" c:type="PangoLayoutLine*"/>
679         </parameter>
680       </parameters>
681     </function>
682     <function name="layout_path"
683               c:identifier="pango_cairo_layout_path"
684               version="1.10">
685       <doc xml:whitespace="preserve">Adds the text in a #PangoLayout to the current path in the
686 specified cairo context.  The top-left corner of the #PangoLayout
687 will be at the current point of the cairo context.</doc>
688       <return-value transfer-ownership="none">
689         <type name="none" c:type="void"/>
690       </return-value>
691       <parameters>
692         <parameter name="cr" transfer-ownership="none">
693           <doc xml:whitespace="preserve">a Cairo context</doc>
694           <type name="cairo.Context" c:type="cairo_t*"/>
695         </parameter>
696         <parameter name="layout" transfer-ownership="none">
697           <doc xml:whitespace="preserve">a Pango layout</doc>
698           <type name="Pango.Layout" c:type="PangoLayout*"/>
699         </parameter>
700       </parameters>
701     </function>
702     <function name="show_error_underline"
703               c:identifier="pango_cairo_show_error_underline"
704               version="1.14">
705       <doc xml:whitespace="preserve">Draw a squiggly line in the specified cairo context that approximately
706 covers the given rectangle in the style of an underline used to indicate a
707 spelling error.  (The width of the underline is rounded to an integer
708 number of up/down segments and the resulting rectangle is centered in the
709 original rectangle)</doc>
710       <return-value transfer-ownership="none">
711         <type name="none" c:type="void"/>
712       </return-value>
713       <parameters>
714         <parameter name="cr" transfer-ownership="none">
715           <doc xml:whitespace="preserve">a Cairo context</doc>
716           <type name="cairo.Context" c:type="cairo_t*"/>
717         </parameter>
718         <parameter name="x" transfer-ownership="none">
719           <doc xml:whitespace="preserve">The X coordinate of one corner of the rectangle</doc>
720           <type name="double" c:type="double"/>
721         </parameter>
722         <parameter name="y" transfer-ownership="none">
723           <doc xml:whitespace="preserve">The Y coordinate of one corner of the rectangle</doc>
724           <type name="double" c:type="double"/>
725         </parameter>
726         <parameter name="width" transfer-ownership="none">
727           <doc xml:whitespace="preserve">Non-negative width of the rectangle</doc>
728           <type name="double" c:type="double"/>
729         </parameter>
730         <parameter name="height" transfer-ownership="none">
731           <doc xml:whitespace="preserve">Non-negative height of the rectangle</doc>
732           <type name="double" c:type="double"/>
733         </parameter>
734       </parameters>
735     </function>
736     <function name="show_glyph_item"
737               c:identifier="pango_cairo_show_glyph_item"
738               version="1.22">
739       <doc xml:whitespace="preserve">Draws the glyphs in @glyph_item in the specified cairo context,
740 embedding the text associated with the glyphs in the output if the
741 output format supports it (PDF for example), otherwise it acts
742 similar to pango_cairo_show_glyph_string().
743 The origin of the glyphs (the left edge of the baseline) will
744 be drawn at the current point of the cairo context.
745 Note that @text is the start of the text for layout, which is then
746 indexed by &lt;literal&gt;@glyph_item-&gt;item-&gt;offset&lt;/literal&gt;.</doc>
747       <return-value transfer-ownership="none">
748         <type name="none" c:type="void"/>
749       </return-value>
750       <parameters>
751         <parameter name="cr" transfer-ownership="none">
752           <doc xml:whitespace="preserve">a Cairo context</doc>
753           <type name="cairo.Context" c:type="cairo_t*"/>
754         </parameter>
755         <parameter name="text" transfer-ownership="none">
756           <doc xml:whitespace="preserve">the UTF-8 text that @glyph_item refers to</doc>
757           <type name="utf8" c:type="char*"/>
758         </parameter>
759         <parameter name="glyph_item" transfer-ownership="none">
760           <doc xml:whitespace="preserve">a #PangoGlyphItem</doc>
761           <type name="Pango.GlyphItem" c:type="PangoGlyphItem*"/>
762         </parameter>
763       </parameters>
764     </function>
765     <function name="show_glyph_string"
766               c:identifier="pango_cairo_show_glyph_string"
767               version="1.10">
768       <doc xml:whitespace="preserve">Draws the glyphs in @glyphs in the specified cairo context.
769 The origin of the glyphs (the left edge of the baseline) will
770 be drawn at the current point of the cairo context.</doc>
771       <return-value transfer-ownership="none">
772         <type name="none" c:type="void"/>
773       </return-value>
774       <parameters>
775         <parameter name="cr" transfer-ownership="none">
776           <doc xml:whitespace="preserve">a Cairo context</doc>
777           <type name="cairo.Context" c:type="cairo_t*"/>
778         </parameter>
779         <parameter name="font" transfer-ownership="none">
780           <doc xml:whitespace="preserve">a #PangoFont from a #PangoCairoFontMap</doc>
781           <type name="Pango.Font" c:type="PangoFont*"/>
782         </parameter>
783         <parameter name="glyphs" transfer-ownership="none">
784           <doc xml:whitespace="preserve">a #PangoGlyphString</doc>
785           <type name="Pango.GlyphString" c:type="PangoGlyphString*"/>
786         </parameter>
787       </parameters>
788     </function>
789     <function name="show_layout"
790               c:identifier="pango_cairo_show_layout"
791               version="1.10">
792       <doc xml:whitespace="preserve">Draws a #PangoLayout in the specified cairo context.
793 The top-left corner of the #PangoLayout will be drawn
794 at the current point of the cairo context.</doc>
795       <return-value transfer-ownership="none">
796         <type name="none" c:type="void"/>
797       </return-value>
798       <parameters>
799         <parameter name="cr" transfer-ownership="none">
800           <doc xml:whitespace="preserve">a Cairo context</doc>
801           <type name="cairo.Context" c:type="cairo_t*"/>
802         </parameter>
803         <parameter name="layout" transfer-ownership="none">
804           <doc xml:whitespace="preserve">a Pango layout</doc>
805           <type name="Pango.Layout" c:type="PangoLayout*"/>
806         </parameter>
807       </parameters>
808     </function>
809     <function name="show_layout_line"
810               c:identifier="pango_cairo_show_layout_line"
811               version="1.10">
812       <doc xml:whitespace="preserve">Draws a #PangoLayoutLine in the specified cairo context.
813 The origin of the glyphs (the left edge of the line) will
814 be drawn at the current point of the cairo context.</doc>
815       <return-value transfer-ownership="none">
816         <type name="none" c:type="void"/>
817       </return-value>
818       <parameters>
819         <parameter name="cr" transfer-ownership="none">
820           <doc xml:whitespace="preserve">a Cairo context</doc>
821           <type name="cairo.Context" c:type="cairo_t*"/>
822         </parameter>
823         <parameter name="line" transfer-ownership="none">
824           <doc xml:whitespace="preserve">a #PangoLayoutLine</doc>
825           <type name="Pango.LayoutLine" c:type="PangoLayoutLine*"/>
826         </parameter>
827       </parameters>
828     </function>
829     <function name="update_context"
830               c:identifier="pango_cairo_update_context"
831               version="1.10">
832       <doc xml:whitespace="preserve">Updates a #PangoContext previously created for use with Cairo to
833 match the current transformation and target surface of a Cairo
834 context. If any layouts have been created for the context,
835 it's necessary to call pango_layout_context_changed() on those
836 layouts.</doc>
837       <return-value transfer-ownership="none">
838         <type name="none" c:type="void"/>
839       </return-value>
840       <parameters>
841         <parameter name="cr" transfer-ownership="none">
842           <doc xml:whitespace="preserve">a Cairo context</doc>
843           <type name="cairo.Context" c:type="cairo_t*"/>
844         </parameter>
845         <parameter name="context" transfer-ownership="none">
846           <doc xml:whitespace="preserve">a #PangoContext, from a pangocairo font map</doc>
847           <type name="Pango.Context" c:type="PangoContext*"/>
848         </parameter>
849       </parameters>
850     </function>
851     <function name="update_layout"
852               c:identifier="pango_cairo_update_layout"
853               version="1.10">
854       <doc xml:whitespace="preserve">Updates the private #PangoContext of a #PangoLayout created with
855 pango_cairo_create_layout() to match the current transformation
856 and target surface of a Cairo context.</doc>
857       <return-value transfer-ownership="none">
858         <type name="none" c:type="void"/>
859       </return-value>
860       <parameters>
861         <parameter name="cr" transfer-ownership="none">
862           <doc xml:whitespace="preserve">a Cairo context</doc>
863           <type name="cairo.Context" c:type="cairo_t*"/>
864         </parameter>
865         <parameter name="layout" transfer-ownership="none">
866           <doc xml:whitespace="preserve">a #PangoLayout, from pango_cairo_create_layout()</doc>
867           <type name="Pango.Layout" c:type="PangoLayout*"/>
868         </parameter>
869       </parameters>
870     </function>
871   </namespace>
872 </repository>