GType: Fix C warnings for properties in interface_init
[vala-lang.git] / vapi / pango.vapi
blob0fb6ecbaa522bbec2dd8fc5f9d026a8da2106baa
1 /* pango.vapi generated by vapigen, do not modify. */
3 [CCode (cprefix = "Pango", lower_case_cprefix = "pango_")]
4 namespace Pango {
5         [Compact]
6         [CCode (cheader_filename = "pango/pango.h")]
7         public class Analysis {
8                 public weak GLib.SList extra_attrs;
9                 public uchar flags;
10                 public weak Pango.Font font;
11                 public uchar gravity;
12                 public weak Pango.EngineLang lang_engine;
13                 public weak Pango.Language language;
14                 public uchar level;
15                 public uchar script;
16                 public weak Pango.EngineShape shape_engine;
17         }
18         [Compact]
19         [CCode (cheader_filename = "pango/pango.h")]
20         public class AttrClass {
21                 public weak GLib.Callback copy;
22                 public weak GLib.Callback destroy;
23                 public weak GLib.Callback equal;
24                 public Pango.AttrType type;
25         }
26         [Compact]
27         [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
28         public class AttrColor : Pango.Attribute {
29                 public Pango.Color color;
30         }
31         [Compact]
32         [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
33         public class AttrFloat : Pango.Attribute {
34                 public double value;
35         }
36         [Compact]
37         [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
38         public class AttrFontDesc : Pango.Attribute {
39                 public weak Pango.FontDescription desc;
40                 [CCode (type = "PangoAttribute*", has_construct_function = false)]
41                 public AttrFontDesc (Pango.FontDescription desc);
42         }
43         [Compact]
44         [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
45         public class AttrInt : Pango.Attribute {
46                 public int value;
47         }
48         [Compact]
49         [CCode (copy_function = "pango_attr_iterator_copy", free_function = "pango_attr_iterator_destroy", cheader_filename = "pango/pango.h")]
50         public class AttrIterator {
51                 public Pango.AttrIterator copy ();
52                 public unowned Pango.Attribute @get (Pango.AttrType type);
53                 public unowned GLib.SList get_attrs ();
54                 public void get_font (Pango.FontDescription desc, out unowned Pango.Language language, GLib.SList extra_attrs);
55                 public bool next ();
56                 public void range (int start, int end);
57         }
58         [Compact]
59         [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
60         public class AttrLanguage : Pango.Attribute {
61                 public weak Pango.Language value;
62                 [CCode (type = "PangoAttribute*", has_construct_function = false)]
63                 public AttrLanguage (Pango.Language language);
64         }
65         [Compact]
66         [CCode (ref_function = "pango_attr_list_ref", unref_function = "pango_attr_list_unref", type_id = "PANGO_TYPE_ATTR_LIST", cheader_filename = "pango/pango.h")]
67         public class AttrList {
68                 [CCode (has_construct_function = false)]
69                 public AttrList ();
70                 public void change (Pango.Attribute attr);
71                 public Pango.AttrList copy ();
72                 public unowned Pango.AttrList filter (Pango.AttrFilterFunc func, void* data);
73                 public unowned Pango.AttrIterator get_iterator ();
74                 public void insert (owned Pango.Attribute attr);
75                 public void insert_before (Pango.Attribute attr);
76                 public void splice (Pango.AttrList other, int pos, int len);
77         }
78         [Compact]
79         [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
80         public class AttrShape : Pango.Attribute {
81                 public weak Pango.Attribute attr;
82                 public weak Pango.AttrDataCopyFunc copy_func;
83                 public void* data;
84                 public weak GLib.DestroyNotify destroy_func;
85                 public Pango.Rectangle ink_rect;
86                 public Pango.Rectangle logical_rect;
87                 [CCode (type = "PangoAttribute*", has_construct_function = false)]
88                 public AttrShape (Pango.Rectangle ink_rect, Pango.Rectangle logical_rect);
89                 [CCode (type = "PangoAttribute*", has_construct_function = false)]
90                 public AttrShape.with_data (Pango.Rectangle ink_rect, Pango.Rectangle logical_rect, void* data, Pango.AttrDataCopyFunc copy_func, GLib.DestroyNotify destroy_func);
91         }
92         [Compact]
93         [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
94         public class AttrSize : Pango.Attribute {
95                 public uint absolute;
96                 public int size;
97                 [CCode (type = "PangoAttribute*", has_construct_function = false)]
98                 public AttrSize (int size);
99         }
100         [Compact]
101         [CCode (free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
102         public class AttrString : Pango.Attribute {
103                 public weak string value;
104         }
105         [Compact]
106         [CCode (copy_function = "pango_attribute_copy", free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
107         public class Attribute {
108                 public uint end_index;
109                 public weak Pango.AttrClass klass;
110                 public uint start_index;
111                 public Pango.Attribute copy ();
112                 public bool equal (Pango.Attribute attr2);
113                 public void init (Pango.AttrClass klass);
114         }
115         [CCode (cheader_filename = "pango/pango.h")]
116         public class Context : GLib.Object {
117                 [CCode (has_construct_function = false)]
118                 public Context ();
119                 public Pango.Direction get_base_dir ();
120                 public Pango.Gravity get_base_gravity ();
121                 public unowned Pango.FontDescription get_font_description ();
122                 public unowned Pango.FontMap get_font_map ();
123                 public Pango.Gravity get_gravity ();
124                 public Pango.GravityHint get_gravity_hint ();
125                 public unowned Pango.Language get_language ();
126                 public Pango.Matrix get_matrix ();
127                 public unowned Pango.FontMetrics get_metrics (Pango.FontDescription desc, Pango.Language language);
128                 public void list_families (Pango.FontFamily[] families);
129                 public unowned Pango.Font load_font (Pango.FontDescription desc);
130                 public unowned Pango.Fontset load_fontset (Pango.FontDescription desc, Pango.Language language);
131                 public void set_base_dir (Pango.Direction direction);
132                 public void set_base_gravity (Pango.Gravity gravity);
133                 public void set_font_description (Pango.FontDescription desc);
134                 public void set_font_map (Pango.FontMap font_map);
135                 public void set_gravity_hint (Pango.GravityHint hint);
136                 public void set_language (Pango.Language language);
137                 public void set_matrix (Pango.Matrix matrix);
138         }
139         [Compact]
140         [CCode (cheader_filename = "pango/pango.h")]
141         public class ContextClass {
142         }
143         [Compact]
144         [CCode (ref_function = "pango_coverage_ref", unref_function = "pango_coverage_unref", cheader_filename = "pango/pango.h")]
145         public class Coverage {
146                 [CCode (has_construct_function = false)]
147                 public Coverage ();
148                 public Pango.Coverage copy ();
149                 public static unowned Pango.Coverage from_bytes (uchar[] bytes);
150                 public Pango.CoverageLevel @get (int index_);
151                 public void max (Pango.Coverage other);
152                 public void @set (int index_, Pango.CoverageLevel level);
153                 public void to_bytes (uchar[] bytes);
154         }
155         [Compact]
156         [CCode (cheader_filename = "pango/pango.h")]
157         public class EngineLang {
158         }
159         [Compact]
160         [CCode (cheader_filename = "pango/pango.h")]
161         public class EngineShape {
162         }
163         [CCode (cheader_filename = "pango/pango.h")]
164         public class Font : GLib.Object {
165                 public unowned Pango.FontDescription describe ();
166                 public unowned Pango.FontDescription describe_with_absolute_size ();
167                 public static void descriptions_free (Pango.FontDescription[] descs);
168                 public unowned Pango.EngineShape find_shaper (Pango.Language language, uint32 ch);
169                 public unowned Pango.Coverage get_coverage (Pango.Language language);
170                 public unowned Pango.FontMap get_font_map ();
171                 public void get_glyph_extents (Pango.Glyph glyph, out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
172                 public unowned Pango.FontMetrics get_metrics (Pango.Language language);
173         }
174         [Compact]
175         [Immutable]
176         [CCode (copy_function = "pango_font_description_copy", type_id = "PANGO_TYPE_FONT_DESCRIPTION", cheader_filename = "pango/pango.h")]
177         public class FontDescription {
178                 [CCode (has_construct_function = false)]
179                 public FontDescription ();
180                 public bool better_match (Pango.FontDescription old_match, Pango.FontDescription new_match);
181                 public Pango.FontDescription copy ();
182                 public bool equal (Pango.FontDescription desc2);
183                 public static Pango.FontDescription from_string (string str);
184                 public unowned string get_family ();
185                 public Pango.Gravity get_gravity ();
186                 public Pango.FontMask get_set_fields ();
187                 public int get_size ();
188                 public bool get_size_is_absolute ();
189                 public Pango.Stretch get_stretch ();
190                 public Pango.Style get_style ();
191                 public Pango.Variant get_variant ();
192                 public Pango.Weight get_weight ();
193                 public uint hash ();
194                 public void merge (Pango.FontDescription desc_to_merge, bool replace_existing);
195                 public void merge_static (Pango.FontDescription desc_to_merge, bool replace_existing);
196                 public void set_absolute_size (double size);
197                 public void set_family (string family);
198                 public void set_family_static (string family);
199                 public void set_gravity (Pango.Gravity gravity);
200                 public void set_size (int size);
201                 public void set_stretch (Pango.Stretch stretch);
202                 public void set_style (Pango.Style style);
203                 public void set_variant (Pango.Variant variant);
204                 public void set_weight (Pango.Weight weight);
205                 public unowned string to_filename ();
206                 public unowned string to_string ();
207                 public void unset_fields (Pango.FontMask to_unset);
208         }
209         [CCode (cheader_filename = "pango/pango.h")]
210         public class FontFace : GLib.Object {
211                 public unowned Pango.FontDescription describe ();
212                 public unowned string get_face_name ();
213                 public bool is_synthesized ();
214                 public void list_sizes (int[] sizes);
215         }
216         [CCode (cheader_filename = "pango/pango.h")]
217         public class FontFamily : GLib.Object {
218                 public unowned string get_name ();
219                 public bool is_monospace ();
220                 public void list_faces (Pango.FontFace[] faces);
221         }
222         [CCode (cheader_filename = "pango/pango.h")]
223         public class FontMap : GLib.Object {
224                 public unowned Pango.Context create_context ();
225                 public void list_families (Pango.FontFamily[] families);
226                 public unowned Pango.Font load_font (Pango.Context context, Pango.FontDescription desc);
227                 public unowned Pango.Fontset load_fontset (Pango.Context context, Pango.FontDescription desc, Pango.Language language);
228         }
229         [Compact]
230         [CCode (ref_function = "pango_font_metrics_ref", unref_function = "pango_font_metrics_unref", type_id = "PANGO_TYPE_FONT_METRICS", cheader_filename = "pango/pango.h")]
231         public class FontMetrics {
232                 public int get_approximate_char_width ();
233                 public int get_approximate_digit_width ();
234                 public int get_ascent ();
235                 public int get_descent ();
236                 public int get_strikethrough_position ();
237                 public int get_strikethrough_thickness ();
238                 public int get_underline_position ();
239                 public int get_underline_thickness ();
240         }
241         [CCode (cheader_filename = "pango/pango.h")]
242         public class Fontset : GLib.Object {
243                 public void @foreach (Pango.FontsetForeachFunc func, void* data);
244                 public unowned Pango.Font get_font (uint wc);
245                 public unowned Pango.FontMetrics get_metrics ();
246         }
247         [Compact]
248         [CCode (cheader_filename = "pango/pango.h")]
249         public class Glyph {
250         }
251         [Compact]
252         [CCode (copy_function = "pango_glyph_item_copy", type_id = "PANGO_TYPE_GLYPH_ITEM", cheader_filename = "pango/pango.h")]
253         public class GlyphItem {
254                 public weak Pango.GlyphString glyphs;
255                 public weak Pango.Item item;
256                 public unowned GLib.SList apply_attrs (string text, Pango.AttrList list);
257                 public Pango.GlyphItem copy ();
258                 public void letter_space (string text, Pango.LogAttr[] log_attrs, int letter_spacing);
259                 public unowned Pango.GlyphItem split (string text, int split_index);
260         }
261         [Compact]
262         [CCode (copy_function = "pango_glyph_item_iter_copy", type_id = "PANGO_TYPE_GLYPH_ITEM_ITER", cheader_filename = "pango/pango.h")]
263         public class GlyphItemIter {
264                 public int end_char;
265                 public int end_glyph;
266                 public int end_index;
267                 public weak Pango.GlyphItem glyph_item;
268                 public int start_char;
269                 public int start_glyph;
270                 public int start_index;
271                 public weak string text;
272                 public Pango.GlyphItemIter copy ();
273                 public bool init_end (Pango.GlyphItem glyph_item, string text);
274                 public bool init_start (Pango.GlyphItem glyph_item, string text);
275                 public bool next_cluster ();
276                 public bool prev_cluster ();
277         }
278         [Compact]
279         [CCode (copy_function = "pango_glyph_string_copy", type_id = "PANGO_TYPE_GLYPH_STRING", cheader_filename = "pango/pango.h")]
280         public class GlyphString {
281                 public Pango.GlyphInfo glyphs;
282                 public int log_clusters;
283                 public int num_glyphs;
284                 public int space;
285                 [CCode (has_construct_function = false)]
286                 public GlyphString ();
287                 public Pango.GlyphString copy ();
288                 public void extents (Pango.Font font, out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
289                 public void extents_range (int start, int end, Pango.Font font, out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
290                 public void get_logical_widths (string text, int length, int embedding_level, int logical_widths);
291                 public int get_width ();
292                 public void index_to_x (string text, int length, Pango.Analysis analysis, int index_, bool trailing, int x_pos);
293                 public void set_size (int new_len);
294                 public void x_to_index (string text, int length, Pango.Analysis analysis, int x_pos, int index_, int trailing);
295         }
296         [Compact]
297         [CCode (cheader_filename = "pango/pango.h")]
298         public class GlyphUnit {
299         }
300         [Compact]
301         [CCode (copy_function = "pango_item_copy", type_id = "PANGO_TYPE_ITEM", cheader_filename = "pango/pango.h")]
302         public class Item {
303                 public weak Pango.Analysis analysis;
304                 public int length;
305                 public int num_chars;
306                 public int offset;
307                 [CCode (has_construct_function = false)]
308                 public Item ();
309                 public Pango.Item copy ();
310                 public unowned Pango.Item split (int split_index, int split_offset);
311         }
312         [Compact]
313         [CCode (type_id = "PANGO_TYPE_LANGUAGE", cheader_filename = "pango/pango.h")]
314         public class Language {
315                 public static unowned Pango.Language from_string (string language);
316                 public static unowned Pango.Language get_default ();
317                 public unowned string get_sample_string ();
318                 public Pango.Script get_scripts (int num_scripts);
319                 public bool includes_script (Pango.Script script);
320                 public bool matches (string range_list);
321                 public unowned string to_string ();
322         }
323         [CCode (cheader_filename = "pango/pango.h")]
324         public class Layout : GLib.Object {
325                 [CCode (has_construct_function = false)]
326                 public Layout (Pango.Context context);
327                 public void context_changed ();
328                 public Pango.Layout copy ();
329                 public Pango.Alignment get_alignment ();
330                 public unowned Pango.AttrList get_attributes ();
331                 public bool get_auto_dir ();
332                 public int get_baseline ();
333                 public unowned Pango.Context get_context ();
334                 public void get_cursor_pos (int index_, out Pango.Rectangle strong_pos, out Pango.Rectangle weak_pos);
335                 public Pango.EllipsizeMode get_ellipsize ();
336                 public void get_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
337                 public unowned Pango.FontDescription get_font_description ();
338                 public int get_height ();
339                 public int get_indent ();
340                 public unowned Pango.LayoutIter get_iter ();
341                 public bool get_justify ();
342                 public unowned Pango.LayoutLine get_line (int line);
343                 public int get_line_count ();
344                 public unowned Pango.LayoutLine get_line_readonly (int line);
345                 public unowned GLib.SList get_lines ();
346                 public unowned GLib.SList get_lines_readonly ();
347                 public void get_log_attrs (Pango.LogAttr[] attrs);
348                 public void get_pixel_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
349                 public void get_pixel_size (out int width, out int height);
350                 public bool get_single_paragraph_mode ();
351                 public void get_size (out int width, out int height);
352                 public int get_spacing ();
353                 public unowned Pango.TabArray get_tabs ();
354                 public unowned string get_text ();
355                 public int get_unknown_glyphs_count ();
356                 public int get_width ();
357                 public Pango.WrapMode get_wrap ();
358                 public void index_to_line_x (int index_, bool trailing, int line, int x_pos);
359                 public void index_to_pos (int index_, out Pango.Rectangle pos);
360                 public bool is_ellipsized ();
361                 public bool is_wrapped ();
362                 public void move_cursor_visually (bool strong, int old_index, int old_trailing, int direction, int new_index, int new_trailing);
363                 public void set_alignment (Pango.Alignment alignment);
364                 public void set_attributes (Pango.AttrList attrs);
365                 public void set_auto_dir (bool auto_dir);
366                 public void set_ellipsize (Pango.EllipsizeMode ellipsize);
367                 public void set_font_description (Pango.FontDescription desc);
368                 public void set_height (int height);
369                 public void set_indent (int indent);
370                 public void set_justify (bool justify);
371                 public void set_markup (string markup, int length);
372                 public void set_markup_with_accel (string markup, int length, unichar accel_marker, unichar accel_char);
373                 public void set_single_paragraph_mode (bool setting);
374                 public void set_spacing (int spacing);
375                 public void set_tabs (Pango.TabArray tabs);
376                 public void set_text (string text, int length);
377                 public void set_width (int width);
378                 public void set_wrap (Pango.WrapMode wrap);
379                 public bool xy_to_index (int x, int y, int index_, int trailing);
380         }
381         [Compact]
382         [CCode (cheader_filename = "pango/pango.h")]
383         public class LayoutClass {
384         }
385         [Compact]
386         [CCode (copy_function = "pango_layout_iter_copy", type_id = "PANGO_TYPE_LAYOUT_ITER", cheader_filename = "pango/pango.h")]
387         public class LayoutIter {
388                 public bool at_last_line ();
389                 public Pango.LayoutIter copy ();
390                 public int get_baseline ();
391                 public void get_char_extents (out Pango.Rectangle logical_rect);
392                 public void get_cluster_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
393                 public int get_index ();
394                 public unowned Pango.Layout get_layout ();
395                 public void get_layout_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
396                 public unowned Pango.LayoutLine get_line ();
397                 public void get_line_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
398                 public unowned Pango.LayoutLine get_line_readonly ();
399                 public void get_line_yrange (out int y0_, out int y1_);
400                 public unowned Pango.LayoutRun get_run ();
401                 public void get_run_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
402                 public unowned Pango.LayoutRun get_run_readonly ();
403                 public bool next_char ();
404                 public bool next_cluster ();
405                 public bool next_line ();
406                 public bool next_run ();
407         }
408         [Compact]
409         [CCode (ref_function = "pango_layout_line_ref", unref_function = "pango_layout_line_unref", type_id = "PANGO_TYPE_LAYOUT_LINE", cheader_filename = "pango/pango.h")]
410         public class LayoutLine {
411                 public uint is_paragraph_start;
412                 public weak Pango.Layout layout;
413                 public int length;
414                 public uint resolved_dir;
415                 public weak GLib.SList runs;
416                 public int start_index;
417                 public void get_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
418                 public void get_pixel_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
419                 public void get_x_ranges (int start_index, int end_index, int[] ranges);
420                 public void index_to_x (int index_, bool trailing, int x_pos);
421                 public bool x_to_index (int x_pos, int index_, int trailing);
422         }
423         [Compact]
424         [CCode (cheader_filename = "pango/pango.h")]
425         public class LayoutRun {
426         }
427         [CCode (cheader_filename = "pango/pango.h")]
428         public class Renderer : GLib.Object {
429                 public int active_count;
430                 public Pango.Matrix matrix;
431                 public bool strikethrough;
432                 public Pango.Underline underline;
433                 public void activate ();
434                 [NoWrapper]
435                 public virtual void begin ();
436                 public void deactivate ();
437                 public virtual void draw_error_underline (int x, int y, int width, int height);
438                 public virtual void draw_glyph (Pango.Font font, Pango.Glyph glyph, double x, double y);
439                 public virtual void draw_glyph_item (string text, Pango.GlyphItem glyph_item, int x, int y);
440                 public virtual void draw_glyphs (Pango.Font font, Pango.GlyphString glyphs, int x, int y);
441                 public void draw_layout (Pango.Layout layout, int x, int y);
442                 public void draw_layout_line (Pango.LayoutLine line, int x, int y);
443                 public virtual void draw_rectangle (Pango.RenderPart part, int x, int y, int width, int height);
444                 [NoWrapper]
445                 public virtual void draw_shape (Pango.AttrShape attr, int x, int y);
446                 public virtual void draw_trapezoid (Pango.RenderPart part, double y1_, double x11, double x21, double y2, double x12, double x22);
447                 [NoWrapper]
448                 public virtual void end ();
449                 public Pango.Color get_color (Pango.RenderPart part);
450                 public unowned Pango.Layout get_layout ();
451                 public unowned Pango.LayoutLine get_layout_line ();
452                 public Pango.Matrix get_matrix ();
453                 public virtual void part_changed (Pango.RenderPart part);
454                 [NoWrapper]
455                 public virtual void prepare_run (Pango.LayoutRun run);
456                 public void set_color (Pango.RenderPart part, Pango.Color color);
457                 public void set_matrix (Pango.Matrix matrix);
458         }
459         [Compact]
460         [CCode (cheader_filename = "pango/pango.h")]
461         public class ScriptIter {
462                 [CCode (has_construct_function = false)]
463                 public ScriptIter (string text, int length);
464                 public void get_range (out unowned string start, out unowned string end, Pango.Script script);
465                 public bool next ();
466         }
467         [Compact]
468         [CCode (copy_function = "pango_tab_array_copy", type_id = "PANGO_TYPE_TAB_ARRAY", cheader_filename = "pango/pango.h")]
469         public class TabArray {
470                 [CCode (has_construct_function = false)]
471                 public TabArray (int initial_size, bool positions_in_pixels);
472                 public Pango.TabArray copy ();
473                 public bool get_positions_in_pixels ();
474                 public int get_size ();
475                 public void get_tab (int tab_index, Pango.TabAlign alignment, int location);
476                 public void get_tabs (out Pango.TabAlign alignments, int locations);
477                 public void resize (int new_size);
478                 public void set_tab (int tab_index, Pango.TabAlign alignment, int location);
479                 [CCode (has_construct_function = false)]
480                 public TabArray.with_positions (int size, bool positions_in_pixels, Pango.TabAlign first_alignment, ...);
481         }
482         [CCode (type_id = "PANGO_TYPE_COLOR", cheader_filename = "pango/pango.h")]
483         public struct Color {
484                 public uint16 red;
485                 public uint16 green;
486                 public uint16 blue;
487                 public Pango.Color copy ();
488                 public void free ();
489                 public bool parse (string spec);
490                 public unowned string to_string ();
491         }
492         [CCode (type_id = "PANGO_TYPE_GLYPH_GEOMETRY", cheader_filename = "pango/pango.h")]
493         public struct GlyphGeometry {
494                 public weak Pango.GlyphUnit width;
495                 public weak Pango.GlyphUnit x_offset;
496                 public weak Pango.GlyphUnit y_offset;
497         }
498         [CCode (type_id = "PANGO_TYPE_GLYPH_INFO", cheader_filename = "pango/pango.h")]
499         public struct GlyphInfo {
500                 public weak Pango.Glyph glyph;
501                 public Pango.GlyphGeometry geometry;
502                 public Pango.GlyphVisAttr attr;
503         }
504         [CCode (type_id = "PANGO_TYPE_GLYPH_VIS_ATTR", cheader_filename = "pango/pango.h")]
505         public struct GlyphVisAttr {
506                 public uint is_cluster_start;
507         }
508         [CCode (type_id = "PANGO_TYPE_LOG_ATTR", cheader_filename = "pango/pango.h")]
509         public struct LogAttr {
510                 public uint is_line_break;
511                 public uint is_mandatory_break;
512                 public uint is_char_break;
513                 public uint is_white;
514                 public uint is_cursor_position;
515                 public uint is_word_start;
516                 public uint is_word_end;
517                 public uint is_sentence_boundary;
518                 public uint is_sentence_start;
519                 public uint is_sentence_end;
520                 public uint backspace_deletes_character;
521                 public uint is_expandable_space;
522                 public uint is_word_boundary;
523         }
524         [CCode (type_id = "PANGO_TYPE_MATRIX", cheader_filename = "pango/pango.h")]
525         public struct Matrix {
526                 public double xx;
527                 public double xy;
528                 public double yx;
529                 public double yy;
530                 public double x0;
531                 public double y0;
532                 public void concat (Pango.Matrix new_matrix);
533                 public Pango.Matrix copy ();
534                 public void free ();
535                 public double get_font_scale_factor ();
536                 public void rotate (double degrees);
537                 public void scale (double scale_x, double scale_y);
538                 public void transform_distance (double dx, double dy);
539                 public void transform_pixel_rectangle (ref Pango.Rectangle rect);
540                 public void transform_point (double x, double y);
541                 public void transform_rectangle (ref Pango.Rectangle rect);
542                 public void translate (double tx, double ty);
543         }
544         [CCode (type_id = "PANGO_TYPE_RECTANGLE", cheader_filename = "pango/pango.h")]
545         public struct Rectangle {
546                 public int x;
547                 public int y;
548                 public int width;
549                 public int height;
550         }
551         [CCode (cprefix = "PANGO_ALIGN_", cheader_filename = "pango/pango.h")]
552         public enum Alignment {
553                 LEFT,
554                 CENTER,
555                 RIGHT
556         }
557         [CCode (cprefix = "PANGO_ATTR_", cheader_filename = "pango/pango.h")]
558         public enum AttrType {
559                 INVALID,
560                 LANGUAGE,
561                 FAMILY,
562                 STYLE,
563                 WEIGHT,
564                 VARIANT,
565                 STRETCH,
566                 SIZE,
567                 FONT_DESC,
568                 FOREGROUND,
569                 BACKGROUND,
570                 UNDERLINE,
571                 STRIKETHROUGH,
572                 RISE,
573                 SHAPE,
574                 SCALE,
575                 FALLBACK,
576                 LETTER_SPACING,
577                 UNDERLINE_COLOR,
578                 STRIKETHROUGH_COLOR,
579                 ABSOLUTE_SIZE,
580                 GRAVITY,
581                 GRAVITY_HINT
582         }
583         [CCode (cprefix = "PANGO_BIDI_TYPE_", cheader_filename = "pango/pango.h")]
584         public enum BidiType {
585                 L,
586                 LRE,
587                 LRO,
588                 R,
589                 AL,
590                 RLE,
591                 RLO,
592                 PDF,
593                 EN,
594                 ES,
595                 ET,
596                 AN,
597                 CS,
598                 NSM,
599                 BN,
600                 B,
601                 S,
602                 WS,
603                 ON
604         }
605         [CCode (cprefix = "PANGO_COVERAGE_", cheader_filename = "pango/pango.h")]
606         public enum CoverageLevel {
607                 NONE,
608                 FALLBACK,
609                 APPROXIMATE,
610                 EXACT
611         }
612         [CCode (cprefix = "PANGO_DIRECTION_", cheader_filename = "pango/pango.h")]
613         public enum Direction {
614                 LTR,
615                 RTL,
616                 TTB_LTR,
617                 TTB_RTL,
618                 WEAK_LTR,
619                 WEAK_RTL,
620                 NEUTRAL
621         }
622         [CCode (cprefix = "PANGO_ELLIPSIZE_", cheader_filename = "pango/pango.h")]
623         public enum EllipsizeMode {
624                 NONE,
625                 START,
626                 MIDDLE,
627                 END
628         }
629         [CCode (cprefix = "PANGO_FONT_MASK_", cheader_filename = "pango/pango.h")]
630         [Flags]
631         public enum FontMask {
632                 FAMILY,
633                 STYLE,
634                 VARIANT,
635                 WEIGHT,
636                 STRETCH,
637                 SIZE,
638                 GRAVITY
639         }
640         [CCode (cprefix = "PANGO_GRAVITY_", cheader_filename = "pango/pango.h")]
641         public enum Gravity {
642                 SOUTH,
643                 EAST,
644                 NORTH,
645                 WEST,
646                 AUTO
647         }
648         [CCode (cprefix = "PANGO_GRAVITY_HINT_", cheader_filename = "pango/pango.h")]
649         public enum GravityHint {
650                 NATURAL,
651                 STRONG,
652                 LINE
653         }
654         [CCode (cprefix = "PANGO_RENDER_PART_", cheader_filename = "pango/pango.h")]
655         public enum RenderPart {
656                 FOREGROUND,
657                 BACKGROUND,
658                 UNDERLINE,
659                 STRIKETHROUGH
660         }
661         [CCode (cprefix = "PANGO_SCALE_", cheader_filename = "pango/pango.h")]
662         public enum Scale {
663                 XX_SMALL,
664                 X_SMALL,
665                 SMALL,
666                 MEDIUM,
667                 LARGE,
668                 X_LARGE,
669                 XX_LARGE
670         }
671         [CCode (cprefix = "PANGO_SCRIPT_", cheader_filename = "pango/pango.h")]
672         public enum Script {
673                 INVALID_CODE,
674                 COMMON,
675                 INHERITED,
676                 ARABIC,
677                 ARMENIAN,
678                 BENGALI,
679                 BOPOMOFO,
680                 CHEROKEE,
681                 COPTIC,
682                 CYRILLIC,
683                 DESERET,
684                 DEVANAGARI,
685                 ETHIOPIC,
686                 GEORGIAN,
687                 GOTHIC,
688                 GREEK,
689                 GUJARATI,
690                 GURMUKHI,
691                 HAN,
692                 HANGUL,
693                 HEBREW,
694                 HIRAGANA,
695                 KANNADA,
696                 KATAKANA,
697                 KHMER,
698                 LAO,
699                 LATIN,
700                 MALAYALAM,
701                 MONGOLIAN,
702                 MYANMAR,
703                 OGHAM,
704                 OLD_ITALIC,
705                 ORIYA,
706                 RUNIC,
707                 SINHALA,
708                 SYRIAC,
709                 TAMIL,
710                 TELUGU,
711                 THAANA,
712                 THAI,
713                 TIBETAN,
714                 CANADIAN_ABORIGINAL,
715                 YI,
716                 TAGALOG,
717                 HANUNOO,
718                 BUHID,
719                 TAGBANWA,
720                 BRAILLE,
721                 CYPRIOT,
722                 LIMBU,
723                 OSMANYA,
724                 SHAVIAN,
725                 LINEAR_B,
726                 TAI_LE,
727                 UGARITIC,
728                 NEW_TAI_LUE,
729                 BUGINESE,
730                 GLAGOLITIC,
731                 TIFINAGH,
732                 SYLOTI_NAGRI,
733                 OLD_PERSIAN,
734                 KHAROSHTHI,
735                 UNKNOWN,
736                 BALINESE,
737                 CUNEIFORM,
738                 PHOENICIAN,
739                 PHAGS_PA,
740                 NKO,
741                 KAYAH_LI,
742                 LEPCHA,
743                 REJANG,
744                 SUNDANESE,
745                 SAURASHTRA,
746                 CHAM,
747                 OL_CHIKI,
748                 VAI,
749                 CARIAN,
750                 LYCIAN,
751                 LYDIAN
752         }
753         [CCode (cprefix = "PANGO_STRETCH_", cheader_filename = "pango/pango.h")]
754         public enum Stretch {
755                 ULTRA_CONDENSED,
756                 EXTRA_CONDENSED,
757                 CONDENSED,
758                 SEMI_CONDENSED,
759                 NORMAL,
760                 SEMI_EXPANDED,
761                 EXPANDED,
762                 EXTRA_EXPANDED,
763                 ULTRA_EXPANDED
764         }
765         [CCode (cprefix = "PANGO_STYLE_", cheader_filename = "pango/pango.h")]
766         public enum Style {
767                 NORMAL,
768                 OBLIQUE,
769                 ITALIC
770         }
771         [CCode (cprefix = "PANGO_TAB_", cheader_filename = "pango/pango.h")]
772         public enum TabAlign {
773                 LEFT
774         }
775         [CCode (cprefix = "PANGO_UNDERLINE_", cheader_filename = "pango/pango.h")]
776         public enum Underline {
777                 NONE,
778                 SINGLE,
779                 DOUBLE,
780                 LOW,
781                 ERROR
782         }
783         [CCode (cprefix = "PANGO_VARIANT_", cheader_filename = "pango/pango.h")]
784         public enum Variant {
785                 NORMAL,
786                 SMALL_CAPS
787         }
788         [CCode (cprefix = "PANGO_WEIGHT_", cheader_filename = "pango/pango.h")]
789         public enum Weight {
790                 THIN,
791                 ULTRALIGHT,
792                 LIGHT,
793                 BOOK,
794                 NORMAL,
795                 MEDIUM,
796                 SEMIBOLD,
797                 BOLD,
798                 ULTRABOLD,
799                 HEAVY,
800                 ULTRAHEAVY
801         }
802         [CCode (cprefix = "PANGO_WRAP_", cheader_filename = "pango/pango.h")]
803         public enum WrapMode {
804                 WORD,
805                 CHAR,
806                 WORD_CHAR
807         }
808         [CCode (cheader_filename = "pango/pango.h")]
809         public delegate void* AttrDataCopyFunc ();
810         [CCode (cheader_filename = "pango/pango.h")]
811         public delegate bool AttrFilterFunc (Pango.Attribute attribute);
812         [CCode (cheader_filename = "pango/pango.h")]
813         public delegate bool FontsetForeachFunc (Pango.Fontset fontset, Pango.Font font);
814         [CCode (cheader_filename = "pango/pango.h")]
815         public const int ANALYSIS_FLAG_CENTERED_BASELINE;
816         [CCode (cheader_filename = "pango/pango.h")]
817         public const int ATTR_INDEX_FROM_TEXT_BEGINNING;
818         [CCode (cheader_filename = "pango/pango.h")]
819         public const string ENGINE_TYPE_LANG;
820         [CCode (cheader_filename = "pango/pango.h")]
821         public const string ENGINE_TYPE_SHAPE;
822         [CCode (cheader_filename = "pango/pango.h")]
823         public const string RENDER_TYPE_NONE;
824         [CCode (cheader_filename = "pango/pango.h")]
825         public const int SCALE;
826         [CCode (cheader_filename = "pango/pango.h")]
827         public const int UNKNOWN_GLYPH_HEIGHT;
828         [CCode (cheader_filename = "pango/pango.h")]
829         public const int UNKNOWN_GLYPH_WIDTH;
830         [CCode (cheader_filename = "pango/pango.h")]
831         public const int VERSION_MAJOR;
832         [CCode (cheader_filename = "pango/pango.h")]
833         public const int VERSION_MICRO;
834         [CCode (cheader_filename = "pango/pango.h")]
835         public const int VERSION_MINOR;
836         [CCode (cheader_filename = "pango/pango.h")]
837         public const string VERSION_STRING;
838         [CCode (cheader_filename = "pango/pango.h")]
839         public static unowned Pango.Attribute attr_background_new (uint16 red, uint16 green, uint16 blue);
840         [CCode (cheader_filename = "pango/pango.h")]
841         public static unowned Pango.Attribute attr_fallback_new (bool enable_fallback);
842         [CCode (cheader_filename = "pango/pango.h")]
843         public static unowned Pango.Attribute attr_family_new (string family);
844         [CCode (cheader_filename = "pango/pango.h")]
845         public static unowned Pango.Attribute attr_foreground_new (uint16 red, uint16 green, uint16 blue);
846         [CCode (cheader_filename = "pango/pango.h")]
847         public static unowned Pango.Attribute attr_gravity_hint_new (Pango.GravityHint hint);
848         [CCode (cheader_filename = "pango/pango.h")]
849         public static unowned Pango.Attribute attr_gravity_new (Pango.Gravity gravity);
850         [CCode (cheader_filename = "pango/pango.h")]
851         public static unowned Pango.Attribute attr_letter_spacing_new (int letter_spacing);
852         [CCode (cheader_filename = "pango/pango.h")]
853         public static unowned Pango.Attribute attr_rise_new (int rise);
854         [CCode (cheader_filename = "pango/pango.h")]
855         public static unowned Pango.Attribute attr_scale_new (double scale_factor);
856         [CCode (cheader_filename = "pango/pango.h")]
857         public static unowned Pango.Attribute attr_stretch_new (Pango.Stretch stretch);
858         [CCode (cheader_filename = "pango/pango.h")]
859         public static unowned Pango.Attribute attr_strikethrough_color_new (uint16 red, uint16 green, uint16 blue);
860         [CCode (cheader_filename = "pango/pango.h")]
861         public static unowned Pango.Attribute attr_strikethrough_new (bool strikethrough);
862         [CCode (cheader_filename = "pango/pango.h")]
863         public static unowned Pango.Attribute attr_style_new (Pango.Style style);
864         [CCode (cheader_filename = "pango/pango.h")]
865         public static unowned string attr_type_get_name (Pango.AttrType type);
866         [CCode (cheader_filename = "pango/pango.h")]
867         public static Pango.AttrType attr_type_register (string name);
868         [CCode (cheader_filename = "pango/pango.h")]
869         public static unowned Pango.Attribute attr_underline_color_new (uint16 red, uint16 green, uint16 blue);
870         [CCode (cheader_filename = "pango/pango.h")]
871         public static unowned Pango.Attribute attr_underline_new (Pango.Underline underline);
872         [CCode (cheader_filename = "pango/pango.h")]
873         public static unowned Pango.Attribute attr_variant_new (Pango.Variant variant);
874         [CCode (cheader_filename = "pango/pango.h")]
875         public static unowned Pango.Attribute attr_weight_new (Pango.Weight weight);
876         [CCode (cheader_filename = "pango/pango.h")]
877         public static Pango.BidiType bidi_type_for_unichar (unichar ch);
878         [CCode (cheader_filename = "pango/pango.h")]
879         public static void @break (string text, int length, Pango.Analysis analysis, Pango.LogAttr[] attrs, int attrs_len);
880         [CCode (cheader_filename = "pango/pango.h")]
881         public static void extents_to_pixels (ref Pango.Rectangle inclusive, ref Pango.Rectangle nearest);
882         [CCode (cheader_filename = "pango/pango.h")]
883         public static Pango.Direction find_base_dir (string text, int length);
884         [CCode (cheader_filename = "pango/pango.h")]
885         public static void find_paragraph_boundary (string text, int length, int paragraph_delimiter_index, int next_paragraph_start);
886         [CCode (cheader_filename = "pango/pango.h")]
887         public static void get_log_attrs (string text, int length, int level, Pango.Language language, Pango.LogAttr[] log_attrs, int attrs_len);
888         [CCode (cheader_filename = "pango/pango.h")]
889         public static Pango.Gravity gravity_get_for_matrix (Pango.Matrix matrix);
890         [CCode (cheader_filename = "pango/pango.h")]
891         public static Pango.Gravity gravity_get_for_script (Pango.Script script, Pango.Gravity base_gravity, Pango.GravityHint hint);
892         [CCode (cheader_filename = "pango/pango.h")]
893         public static double gravity_to_rotation (Pango.Gravity gravity);
894         [CCode (cheader_filename = "pango/pango.h")]
895         public static bool is_zero_width (unichar ch);
896         [CCode (cheader_filename = "pango/pango.h")]
897         public static unowned GLib.List itemize (Pango.Context context, string text, int start_index, int length, Pango.AttrList attrs, Pango.AttrIterator cached_iter);
898         [CCode (cheader_filename = "pango/pango.h")]
899         public static unowned GLib.List itemize_with_base_dir (Pango.Context context, Pango.Direction base_dir, string text, int start_index, int length, Pango.AttrList attrs, Pango.AttrIterator cached_iter);
900         [CCode (cheader_filename = "pango/pango.h")]
901         public static uchar log2vis_get_embedding_levels (string text, int length, Pango.Direction pbase_dir);
902         [CCode (cheader_filename = "pango/pango.h")]
903         public static bool parse_enum (GLib.Type type, string str, int value, bool warn, out unowned string possible_values);
904         [CCode (cheader_filename = "pango/pango.h")]
905         public static bool parse_markup (string markup_text, int length, unichar accel_marker, out unowned Pango.AttrList attr_list, out unowned string text, unichar accel_char) throws GLib.Error;
906         [CCode (cheader_filename = "pango/pango.h")]
907         public static bool parse_stretch (string str, Pango.Stretch stretch, bool warn);
908         [CCode (cheader_filename = "pango/pango.h")]
909         public static bool parse_style (string str, Pango.Style style, bool warn);
910         [CCode (cheader_filename = "pango/pango.h")]
911         public static bool parse_variant (string str, Pango.Variant variant, bool warn);
912         [CCode (cheader_filename = "pango/pango.h")]
913         public static bool parse_weight (string str, Pango.Weight weight, bool warn);
914         [CCode (cheader_filename = "pango/pango.h")]
915         public static void quantize_line_geometry (int thickness, int position);
916         [CCode (cheader_filename = "pango/pango.h")]
917         public static int read_line (GLib.FileStream stream, GLib.StringBuilder str);
918         [CCode (cheader_filename = "pango/pango.h")]
919         public static unowned GLib.List reorder_items (GLib.List logical_items);
920         [CCode (cheader_filename = "pango/pango.h")]
921         public static bool scan_int (out unowned string pos, int @out);
922         [CCode (cheader_filename = "pango/pango.h")]
923         public static bool scan_string (out unowned string pos, GLib.StringBuilder @out);
924         [CCode (cheader_filename = "pango/pango.h")]
925         public static bool scan_word (out unowned string pos, GLib.StringBuilder @out);
926         [CCode (cheader_filename = "pango/pango.h")]
927         public static Pango.Script script_for_unichar (unichar ch);
928         [CCode (cheader_filename = "pango/pango.h")]
929         public static unowned Pango.Language script_get_sample_language (Pango.Script script);
930         [CCode (cheader_filename = "pango/pango.h")]
931         public static void shape (string text, int length, Pango.Analysis analysis, Pango.GlyphString glyphs);
932         [CCode (cheader_filename = "pango/pango.h")]
933         public static bool skip_space (out unowned string pos);
934         [CCode (cheader_filename = "pango/pango.h")]
935         public static unowned string split_file_list (string str);
936         [CCode (cheader_filename = "pango/pango.h")]
937         public static unowned string trim_string (string str);
938         [CCode (cheader_filename = "pango/pango.h")]
939         public static Pango.Direction unichar_direction (unichar ch);
940         [CCode (cheader_filename = "pango/pango.h")]
941         public static int units_from_double (double d);
942         [CCode (cheader_filename = "pango/pango.h")]
943         public static double units_to_double (int i);
944         [CCode (cheader_filename = "pango/pango.h")]
945         public static int version ();
946         [CCode (cheader_filename = "pango/pango.h")]
947         public static unowned string version_check (int required_major, int required_minor, int required_micro);
948         [CCode (cheader_filename = "pango/pango.h")]
949         public static unowned string version_string ();