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