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 <include name="xft" version="2.0"/>
17 <include name="xlib" version="2.0"/>
18 <package name="freetype2"/>
19 <package name="gobject-2.0"/>
20 <namespace name="PangoXft"
22 shared-library="libpangoxft-1.0.so.0"
26 parent="PangoFT2.PangoFcFont"
27 glib:type-name="PangoXftFont"
28 glib:get-type="pango_xft_font_get_type">
29 <field name="parent_instance">
30 <type name="PangoFT2.PangoFcFont" c:type="PangoFcFont"/>
32 <field name="xft_font">
33 <type name="xft.Font" c:type="XftFont*"/>
35 <field name="mini_font">
36 <type name="Pango.Font" c:type="PangoFont*"/>
38 <field name="mini_width">
39 <type name="uint" c:type="guint"/>
41 <field name="mini_height">
42 <type name="uint" c:type="guint"/>
44 <field name="mini_pad">
45 <type name="uint" c:type="guint"/>
47 <field name="glyph_info">
48 <type name="GLib.HashTable" c:type="GHashTable*"/>
52 c:type="PangoXftFontMap"
53 parent="PangoFT2.PangoFcFontMap"
54 glib:type-name="PangoXftFontMap"
55 glib:get-type="pango_xft_font_map_get_type">
57 <constant name="PANGO_RENDER_TYPE_XFT" value="PangoRenderXft">
60 <class name="Renderer"
61 c:type="PangoXftRenderer"
62 parent="Pango.Renderer"
63 glib:type-name="PangoXftRenderer"
64 glib:get-type="pango_xft_renderer_get_type"
65 glib:type-struct="RendererClass">
66 <constructor name="new"
67 c:identifier="pango_xft_renderer_new"
69 <doc xml:whitespace="preserve">Create a new #PangoXftRenderer to allow rendering Pango objects
70 with the Xft library. You must call pango_xft_renderer_set_draw() before
72 be freed with g_object_unref().</doc>
73 <return-value transfer-ownership="full">
74 <doc xml:whitespace="preserve">the newly created #PangoXftRenderer, which should</doc>
75 <type name="Renderer" c:type="PangoRenderer*"/>
78 <parameter name="display" transfer-ownership="none">
79 <doc xml:whitespace="preserve">an X display</doc>
80 <type name="xlib.Display" c:type="Display*"/>
82 <parameter name="screen" transfer-ownership="none">
83 <doc xml:whitespace="preserve">the index of the screen for @display to which rendering will be done</doc>
84 <type name="int" c:type="int"/>
88 <virtual-method name="composite_trapezoids">
89 <return-value transfer-ownership="none">
90 <type name="none" c:type="void"/>
93 <parameter name="part" transfer-ownership="none">
94 <type name="Pango.RenderPart" c:type="PangoRenderPart"/>
96 <parameter name="trapezoids" transfer-ownership="none">
97 <type name="xlib.XTrapezoid" c:type="XTrapezoid*"/>
99 <parameter name="n_trapezoids" transfer-ownership="none">
100 <type name="int" c:type="int"/>
104 <virtual-method name="composite_glyphs">
105 <return-value transfer-ownership="none">
106 <type name="none" c:type="void"/>
109 <parameter name="xft_font" transfer-ownership="none">
110 <type name="xft.Font" c:type="XftFont*"/>
112 <parameter name="glyphs" transfer-ownership="none">
113 <type name="xft.GlyphSpec" c:type="XftGlyphSpec*"/>
115 <parameter name="n_glyphs" transfer-ownership="none">
116 <type name="int" c:type="int"/>
120 <method name="set_draw"
121 c:identifier="pango_xft_renderer_set_draw"
123 <doc xml:whitespace="preserve">Sets the #XftDraw object that the renderer is drawing to.
124 The renderer must not be currently active.</doc>
125 <return-value transfer-ownership="none">
126 <type name="none" c:type="void"/>
129 <parameter name="draw" transfer-ownership="none">
130 <doc xml:whitespace="preserve">a #XftDraw</doc>
131 <type name="xft.Draw" c:type="XftDraw*"/>
135 <method name="set_default_color"
136 c:identifier="pango_xft_renderer_set_default_color"
138 <doc xml:whitespace="preserve">Sets the default foreground color for a #XftRenderer.</doc>
139 <return-value transfer-ownership="none">
140 <type name="none" c:type="void"/>
143 <parameter name="default_color" transfer-ownership="none">
144 <doc xml:whitespace="preserve">the default foreground color</doc>
145 <type name="Pango.Color" c:type="PangoColor*"/>
149 <property name="display"
153 transfer-ownership="none">
154 <type name="any" c:type="gpointer"/>
156 <property name="screen"
160 transfer-ownership="none">
161 <type name="int" c:type="gint"/>
163 <field name="parent_instance">
164 <type name="Pango.Renderer" c:type="PangoRenderer"/>
166 <field name="display">
167 <type name="xlib.Display" c:type="Display*"/>
169 <field name="screen">
170 <type name="int" c:type="int"/>
173 <type name="xft.Draw" c:type="XftDraw*"/>
176 <type name="RendererPrivate" c:type="PangoXftRendererPrivate*"/>
179 <record name="RendererClass"
180 c:type="PangoXftRendererClass"
181 glib:is-gtype-struct-for="Renderer">
182 <field name="parent_class">
183 <type name="Pango.RendererClass" c:type="PangoRendererClass"/>
185 <field name="composite_trapezoids">
186 <callback name="composite_trapezoids" c:type="composite_trapezoids">
187 <return-value transfer-ownership="none">
188 <type name="none" c:type="void"/>
191 <parameter name="xftrenderer" transfer-ownership="none">
192 <type name="Renderer" c:type="PangoXftRenderer*"/>
194 <parameter name="part" transfer-ownership="none">
195 <type name="Pango.RenderPart" c:type="PangoRenderPart"/>
197 <parameter name="trapezoids" transfer-ownership="none">
198 <type name="xlib.XTrapezoid" c:type="XTrapezoid*"/>
200 <parameter name="n_trapezoids" transfer-ownership="none">
201 <type name="int" c:type="int"/>
206 <field name="composite_glyphs">
207 <callback name="composite_glyphs" c:type="composite_glyphs">
208 <return-value transfer-ownership="none">
209 <type name="none" c:type="void"/>
212 <parameter name="xftrenderer" transfer-ownership="none">
213 <type name="Renderer" c:type="PangoXftRenderer*"/>
215 <parameter name="xft_font" transfer-ownership="none">
216 <type name="xft.Font" c:type="XftFont*"/>
218 <parameter name="glyphs" transfer-ownership="none">
219 <type name="xft.GlyphSpec" c:type="XftGlyphSpec*"/>
221 <parameter name="n_glyphs" transfer-ownership="none">
222 <type name="int" c:type="int"/>
228 <record name="RendererPrivate" c:type="PangoXftRendererPrivate">
230 <callback name="SubstituteFunc" c:type="PangoXftSubstituteFunc">
231 <return-value transfer-ownership="none">
232 <type name="none" c:type="void"/>
235 <parameter name="pattern" transfer-ownership="none">
236 <type name="fontconfig.Pattern" c:type="FcPattern*"/>
238 <parameter name="data" transfer-ownership="none">
239 <type name="any" c:type="gpointer"/>
243 <function name="get_context"
244 c:identifier="pango_xft_get_context"
245 deprecated="Use pango_xft_get_font_map() followed by"
246 deprecated-version="1.22">
247 <doc xml:whitespace="preserve">Retrieves a #PangoContext appropriate for rendering with
248 Xft fonts on the given screen of the given display.
249 pango_font_map_create_context() instead.</doc>
250 <return-value transfer-ownership="full">
251 <doc xml:whitespace="preserve">the new #PangoContext.</doc>
252 <type name="Pango.Context" c:type="PangoContext*"/>
255 <parameter name="display" transfer-ownership="none">
256 <doc xml:whitespace="preserve">an X display.</doc>
257 <type name="xlib.Display" c:type="Display*"/>
259 <parameter name="screen" transfer-ownership="none">
260 <doc xml:whitespace="preserve">an X screen.</doc>
261 <type name="int" c:type="int"/>
265 <function name="get_font_map"
266 c:identifier="pango_xft_get_font_map"
268 <doc xml:whitespace="preserve">Returns the #PangoXftFontmap for the given display and screen.
269 The fontmap is owned by Pango and will be valid until
270 the display is closed.</doc>
271 <return-value transfer-ownership="full">
272 <doc xml:whitespace="preserve">a #PangoFontMap object, owned by Pango.</doc>
273 <type name="Pango.FontMap" c:type="PangoFontMap*"/>
276 <parameter name="display" transfer-ownership="none">
277 <doc xml:whitespace="preserve">an X display</doc>
278 <type name="xlib.Display" c:type="Display*"/>
280 <parameter name="screen" transfer-ownership="none">
281 <doc xml:whitespace="preserve">the screen number of a screen within @display</doc>
282 <type name="int" c:type="int"/>
286 <function name="picture_render" c:identifier="pango_xft_picture_render">
287 <doc xml:whitespace="preserve">Renders a #PangoGlyphString onto an Xrender <type>Picture</type> object.</doc>
288 <return-value transfer-ownership="none">
289 <type name="none" c:type="void"/>
292 <parameter name="display" transfer-ownership="none">
293 <doc xml:whitespace="preserve">an X display</doc>
294 <type name="xlib.Display" c:type="Display*"/>
296 <parameter name="src_picture" transfer-ownership="none">
297 <doc xml:whitespace="preserve">the source picture to draw the string with</doc>
298 <type name="xlib.Picture" c:type="Picture"/>
300 <parameter name="dest_picture" transfer-ownership="none">
301 <doc xml:whitespace="preserve">the destination picture to draw the string onto</doc>
302 <type name="xlib.Picture" c:type="Picture"/>
304 <parameter name="font" transfer-ownership="none">
305 <doc xml:whitespace="preserve">the font in which to draw the string</doc>
306 <type name="Pango.Font" c:type="PangoFont*"/>
308 <parameter name="glyphs" transfer-ownership="none">
309 <doc xml:whitespace="preserve">the glyph string to draw</doc>
310 <type name="Pango.GlyphString" c:type="PangoGlyphString*"/>
312 <parameter name="x" transfer-ownership="none">
313 <doc xml:whitespace="preserve">the x position of start of string (in pixels)</doc>
314 <type name="int" c:type="gint"/>
316 <parameter name="y" transfer-ownership="none">
317 <doc xml:whitespace="preserve">the y position of baseline (in pixels)</doc>
318 <type name="int" c:type="gint"/>
322 <function name="render" c:identifier="pango_xft_render">
323 <doc xml:whitespace="preserve">Renders a #PangoGlyphString onto an <type>XftDraw</type> object wrapping an X drawable.</doc>
324 <return-value transfer-ownership="none">
325 <type name="none" c:type="void"/>
328 <parameter name="draw" transfer-ownership="none">
329 <doc xml:whitespace="preserve">the <type>XftDraw</type> object.</doc>
330 <type name="xft.Draw" c:type="XftDraw*"/>
332 <parameter name="color" transfer-ownership="none">
333 <doc xml:whitespace="preserve">the color in which to draw the string</doc>
334 <type name="xft.Color" c:type="XftColor*"/>
336 <parameter name="font" transfer-ownership="none">
337 <doc xml:whitespace="preserve">the font in which to draw the string</doc>
338 <type name="Pango.Font" c:type="PangoFont*"/>
340 <parameter name="glyphs" transfer-ownership="none">
341 <doc xml:whitespace="preserve">the glyph string to draw</doc>
342 <type name="Pango.GlyphString" c:type="PangoGlyphString*"/>
344 <parameter name="x" transfer-ownership="none">
345 <doc xml:whitespace="preserve">the x position of start of string (in pixels)</doc>
346 <type name="int" c:type="gint"/>
348 <parameter name="y" transfer-ownership="none">
349 <doc xml:whitespace="preserve">the y position of baseline (in pixels)</doc>
350 <type name="int" c:type="gint"/>
354 <function name="render_layout"
355 c:identifier="pango_xft_render_layout"
357 <doc xml:whitespace="preserve">Render a #PangoLayout onto a #XftDraw</doc>
358 <return-value transfer-ownership="none">
359 <type name="none" c:type="void"/>
362 <parameter name="draw" transfer-ownership="none">
363 <doc xml:whitespace="preserve">an #XftDraw</doc>
364 <type name="xft.Draw" c:type="XftDraw*"/>
366 <parameter name="color" transfer-ownership="none">
367 <doc xml:whitespace="preserve">the foreground color in which to draw the layout (may be overridden by color attributes)</doc>
368 <type name="xft.Color" c:type="XftColor*"/>
370 <parameter name="layout" transfer-ownership="none">
371 <doc xml:whitespace="preserve">a #PangoLayout</doc>
372 <type name="Pango.Layout" c:type="PangoLayout*"/>
374 <parameter name="x" transfer-ownership="none">
375 <doc xml:whitespace="preserve">the X position of the left of the layout (in Pango units)</doc>
376 <type name="int" c:type="int"/>
378 <parameter name="y" transfer-ownership="none">
379 <doc xml:whitespace="preserve">the Y position of the top of the layout (in Pango units)</doc>
380 <type name="int" c:type="int"/>
384 <function name="render_layout_line"
385 c:identifier="pango_xft_render_layout_line"
387 <doc xml:whitespace="preserve">Render a #PangoLayoutLine onto a #XftDraw</doc>
388 <return-value transfer-ownership="none">
389 <type name="none" c:type="void"/>
392 <parameter name="draw" transfer-ownership="none">
393 <doc xml:whitespace="preserve">an #XftDraw</doc>
394 <type name="xft.Draw" c:type="XftDraw*"/>
396 <parameter name="color" transfer-ownership="none">
397 <doc xml:whitespace="preserve">the foreground color in which to draw the layout line (may be overridden by color attributes)</doc>
398 <type name="xft.Color" c:type="XftColor*"/>
400 <parameter name="line" transfer-ownership="none">
401 <doc xml:whitespace="preserve">a #PangoLayoutLine</doc>
402 <type name="Pango.LayoutLine" c:type="PangoLayoutLine*"/>
404 <parameter name="x" transfer-ownership="none">
405 <doc xml:whitespace="preserve">the x position of start of string (in Pango units)</doc>
406 <type name="int" c:type="int"/>
408 <parameter name="y" transfer-ownership="none">
409 <doc xml:whitespace="preserve">the y position of baseline (in Pango units)</doc>
410 <type name="int" c:type="int"/>
414 <function name="render_transformed"
415 c:identifier="pango_xft_render_transformed"
417 <doc xml:whitespace="preserve">Renders a #PangoGlyphString onto a #XftDraw, possibly
418 transforming the layed-out coordinates through a transformation
419 matrix. Note that the transformation matrix for @font is not
420 changed, so to produce correct rendering results, the @font
421 must have been loaded using a #PangoContext with an identical
422 transformation matrix to that passed in to this function.</doc>
423 <return-value transfer-ownership="none">
424 <type name="none" c:type="void"/>
427 <parameter name="draw" transfer-ownership="none">
428 <doc xml:whitespace="preserve">an #XftDraw</doc>
429 <type name="xft.Draw" c:type="XftDraw*"/>
431 <parameter name="color" transfer-ownership="none">
432 <doc xml:whitespace="preserve">the color in which to draw the glyphs</doc>
433 <type name="xft.Color" c:type="XftColor*"/>
435 <parameter name="matrix" transfer-ownership="none">
436 <doc xml:whitespace="preserve">a #PangoMatrix, or %NULL to use an identity transformation</doc>
437 <type name="Pango.Matrix" c:type="PangoMatrix*"/>
439 <parameter name="font" transfer-ownership="none">
440 <doc xml:whitespace="preserve">the font in which to draw the string</doc>
441 <type name="Pango.Font" c:type="PangoFont*"/>
443 <parameter name="glyphs" transfer-ownership="none">
444 <doc xml:whitespace="preserve">the glyph string to draw</doc>
445 <type name="Pango.GlyphString" c:type="PangoGlyphString*"/>
447 <parameter name="x" transfer-ownership="none">
448 <doc xml:whitespace="preserve">the x position of the start of the string (in Pango units in user space coordinates)</doc>
449 <type name="int" c:type="int"/>
451 <parameter name="y" transfer-ownership="none">
452 <doc xml:whitespace="preserve">the y position of the baseline (in Pango units in user space coordinates)</doc>
453 <type name="int" c:type="int"/>
457 <function name="set_default_substitute"
458 c:identifier="pango_xft_set_default_substitute"
460 <doc xml:whitespace="preserve">Sets a function that will be called to do final configuration
461 substitution on a #FcPattern before it is used to load
462 the font. This function can be used to do things like set
463 hinting and antialiasing options.</doc>
464 <return-value transfer-ownership="none">
465 <type name="none" c:type="void"/>
468 <parameter name="display" transfer-ownership="none">
469 <doc xml:whitespace="preserve">an X Display</doc>
470 <type name="xlib.Display" c:type="Display*"/>
472 <parameter name="screen" transfer-ownership="none">
473 <doc xml:whitespace="preserve">the screen number of a screen within @display</doc>
474 <type name="int" c:type="int"/>
476 <parameter name="func"
477 transfer-ownership="none"
481 <doc xml:whitespace="preserve">function to call to to do final config tweaking on #FcPattern objects.</doc>
482 <type name="SubstituteFunc" c:type="PangoXftSubstituteFunc"/>
484 <parameter name="data" transfer-ownership="none">
485 <doc xml:whitespace="preserve">data to pass to @func</doc>
486 <type name="any" c:type="gpointer"/>
488 <parameter name="notify" transfer-ownership="none" scope="call">
489 <doc xml:whitespace="preserve">function to call when @data is no longer used.</doc>
490 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
494 <function name="shutdown_display"
495 c:identifier="pango_xft_shutdown_display"
497 <doc xml:whitespace="preserve">Release any resources that have been cached for the
498 combination of @display and @screen. Note that when the
499 X display is closed, resources are released automatically,
500 without needing to call this function.</doc>
501 <return-value transfer-ownership="none">
502 <type name="none" c:type="void"/>
505 <parameter name="display" transfer-ownership="none">
506 <doc xml:whitespace="preserve">an X display</doc>
507 <type name="xlib.Display" c:type="Display*"/>
509 <parameter name="screen" transfer-ownership="none">
510 <doc xml:whitespace="preserve">the screen number of a screen within @display</doc>
511 <type name="int" c:type="int"/>
515 <function name="substitute_changed"
516 c:identifier="pango_xft_substitute_changed"
518 <doc xml:whitespace="preserve">Call this function any time the results of the
519 default substitution function set with
520 pango_xft_set_default_substitute() change.
521 That is, if your substitution function will return different
522 results for the same input pattern, you must call this function.</doc>
523 <return-value transfer-ownership="none">
524 <type name="none" c:type="void"/>
527 <parameter name="display" transfer-ownership="none">
528 <doc xml:whitespace="preserve">an X Display</doc>
529 <type name="xlib.Display" c:type="Display*"/>
531 <parameter name="screen" transfer-ownership="none">
532 <doc xml:whitespace="preserve">the screen number of a screen within @display</doc>
533 <type name="int" c:type="int"/>