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