1/* pango.vapi generated by vapigen, do not modify. */
2
3[CCode (cprefix = "Pango", gir_namespace = "Pango", gir_version = "1.0", lower_case_cprefix = "pango_")]
4namespace Pango {
5	namespace Scale {
6		[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_SCALE_LARGE")]
7		public const double LARGE;
8		[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_SCALE_MEDIUM")]
9		public const double MEDIUM;
10		[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_SCALE_SMALL")]
11		public const double SMALL;
12		[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_SCALE_XX_LARGE")]
13		public const double XX_LARGE;
14		[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_SCALE_XX_SMALL")]
15		public const double XX_SMALL;
16		[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_SCALE_X_LARGE")]
17		public const double X_LARGE;
18		[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_SCALE_X_SMALL")]
19		public const double X_SMALL;
20	}
21	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
22	[Compact]
23	public class AttrClass {
24		public GLib.Callback copy;
25		public GLib.Callback destroy;
26		public GLib.Callback equal;
27		public Pango.AttrType type;
28	}
29	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
30	[Compact]
31	public class AttrColor : Pango.Attribute {
32		public Pango.Color color;
33	}
34	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
35	[Compact]
36	public class AttrFloat : Pango.Attribute {
37		public double value;
38	}
39	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
40	[Compact]
41	public class AttrFontDesc : Pango.Attribute {
42		public weak Pango.FontDescription desc;
43		[CCode (has_construct_function = false, type = "PangoAttribute*")]
44		public AttrFontDesc (Pango.FontDescription desc);
45		public static Pango.Attribute @new (Pango.FontDescription desc);
46	}
47	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
48	[Compact]
49	[Version (since = "1.38")]
50	public class AttrFontFeatures : Pango.Attribute {
51		public weak string features;
52		[CCode (has_construct_function = false, type = "PangoAttribute*")]
53		public AttrFontFeatures (string features);
54	}
55	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
56	[Compact]
57	public class AttrInt : Pango.Attribute {
58		public int value;
59	}
60	[CCode (cheader_filename = "pango/pango.h", free_function = "pango_attr_iterator_destroy", type_id = "pango_attr_iterator_get_type ()")]
61	[Compact]
62	public class AttrIterator {
63		public Pango.AttrIterator copy ();
64		[DestroysInstance]
65		public void destroy ();
66		public unowned Pango.Attribute? @get (Pango.AttrType type);
67		[Version (since = "1.2")]
68		public GLib.SList<Pango.Attribute> get_attrs ();
69		public void get_font (Pango.FontDescription desc, out unowned Pango.Language? language, owned GLib.SList<Pango.Attribute>? extra_attrs);
70		public bool next ();
71		public void range (out int start, out int end);
72	}
73	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
74	[Compact]
75	public class AttrLanguage : Pango.Attribute {
76		public weak Pango.Language value;
77		[CCode (has_construct_function = false, type = "PangoAttribute*")]
78		public AttrLanguage (Pango.Language language);
79	}
80	[CCode (cheader_filename = "pango/pango.h", ref_function = "pango_attr_list_ref", type_id = "pango_attr_list_get_type ()", unref_function = "pango_attr_list_unref")]
81	[Compact]
82	public class AttrList {
83		[CCode (has_construct_function = false)]
84		public AttrList ();
85		public void change (owned Pango.Attribute attr);
86		public Pango.AttrList? copy ();
87		[Version (since = "1.46")]
88		public bool equal (Pango.AttrList other_list);
89		[Version (since = "1.2")]
90		public Pango.AttrList? filter (Pango.AttrFilterFunc func);
91		[Version (since = "1.44")]
92		public GLib.SList<Pango.Attribute> get_attributes ();
93		public Pango.AttrIterator get_iterator ();
94		public void insert (owned Pango.Attribute attr);
95		public void insert_before (owned Pango.Attribute attr);
96		[Version (since = "1.10")]
97		public unowned Pango.AttrList @ref ();
98		public void splice (Pango.AttrList other, int pos, int len);
99		public void unref ();
100		[Version (since = "1.44")]
101		public void update (int pos, int remove, int add);
102	}
103	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
104	[Compact]
105	public class AttrShape<T> : Pango.Attribute {
106		public weak Pango.AttrDataCopyFunc<T> copy_func;
107		public T data;
108		public weak GLib.DestroyNotify destroy_func;
109		public Pango.Rectangle ink_rect;
110		public Pango.Rectangle logical_rect;
111		[CCode (has_construct_function = false, type = "PangoAttribute*")]
112		public AttrShape (Pango.Rectangle ink_rect, Pango.Rectangle logical_rect);
113		[CCode (has_construct_function = false, simple_generics = true, type = "PangoAttribute*")]
114		[Version (since = "1.8")]
115		public AttrShape.with_data (Pango.Rectangle ink_rect, Pango.Rectangle logical_rect, owned T data, Pango.AttrDataCopyFunc<T> copy_func);
116	}
117	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
118	[Compact]
119	public class AttrSize : Pango.Attribute {
120		public uint absolute;
121		public int size;
122		[CCode (has_construct_function = false, type = "PangoAttribute*")]
123		public AttrSize (int size);
124		[CCode (cname = "pango_attr_size_new_absolute", has_construct_function = false, type = "PangoAttribute*")]
125		[Version (since = "1.8")]
126		public AttrSize.with_absolute (int size);
127	}
128	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
129	[Compact]
130	public class AttrString : Pango.Attribute {
131		public weak string value;
132	}
133	[CCode (cheader_filename = "pango/pango.h", free_function = "pango_attribute_destroy", type_id = "pango_attribute_get_type ()")]
134	[Compact]
135	public class Attribute {
136		public uint end_index;
137		public weak Pango.AttrClass klass;
138		public uint start_index;
139		public Pango.Attribute copy ();
140		[DestroysInstance]
141		public void destroy ();
142		public bool equal (Pango.Attribute attr2);
143		[Version (since = "1.20")]
144		public void init (Pango.AttrClass klass);
145	}
146	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_context_get_type ()")]
147	public class Context : GLib.Object {
148		[CCode (has_construct_function = false)]
149		public Context ();
150		[Version (since = "1.32.4")]
151		public void changed ();
152		public Pango.Direction get_base_dir ();
153		[Version (since = "1.16")]
154		public Pango.Gravity get_base_gravity ();
155		public unowned Pango.FontDescription get_font_description ();
156		[Version (since = "1.6")]
157		public unowned Pango.FontMap get_font_map ();
158		[Version (since = "1.16")]
159		public Pango.Gravity get_gravity ();
160		[Version (since = "1.16")]
161		public Pango.GravityHint get_gravity_hint ();
162		public Pango.Language get_language ();
163		[Version (since = "1.6")]
164		public unowned Pango.Matrix? get_matrix ();
165		public Pango.FontMetrics get_metrics (Pango.FontDescription? desc, Pango.Language? language);
166		[Version (since = "1.44")]
167		public bool get_round_glyph_positions ();
168		[Version (since = "1.32.4")]
169		public uint get_serial ();
170		public void list_families ([CCode (array_length_cname = "n_families", array_length_pos = 1.1)] out (unowned Pango.FontFamily)[] families);
171		public Pango.Font? load_font (Pango.FontDescription desc);
172		public Pango.Fontset? load_fontset (Pango.FontDescription desc, Pango.Language language);
173		public void set_base_dir (Pango.Direction direction);
174		[Version (since = "1.16")]
175		public void set_base_gravity (Pango.Gravity gravity);
176		public void set_font_description (Pango.FontDescription desc);
177		public void set_font_map (Pango.FontMap font_map);
178		[Version (since = "1.16")]
179		public void set_gravity_hint (Pango.GravityHint hint);
180		public void set_language (Pango.Language language);
181		[Version (since = "1.6")]
182		public void set_matrix (Pango.Matrix? matrix);
183		[Version (since = "1.44")]
184		public void set_round_glyph_positions (bool round_positions);
185	}
186	[CCode (cheader_filename = "pango/pango.h", ref_function = "pango_coverage_ref", type_id = "pango_coverage_get_type ()", unref_function = "pango_coverage_unref")]
187	public class Coverage : GLib.Object {
188		[CCode (has_construct_function = false)]
189		public Coverage ();
190		public Pango.Coverage copy ();
191		[Version (deprecated = true, deprecated_since = "1.44")]
192		public static Pango.Coverage? from_bytes ([CCode (array_length_cname = "n_bytes", array_length_pos = 1.1)] uint8[] bytes);
193		public Pango.CoverageLevel @get (int index_);
194		[Version (deprecated = true, deprecated_since = "1.44")]
195		public void max (Pango.Coverage other);
196		public unowned Pango.Coverage @ref ();
197		public void @set (int index_, Pango.CoverageLevel level);
198		[Version (deprecated = true, deprecated_since = "1.44")]
199		public void to_bytes ([CCode (array_length_cname = "n_bytes", array_length_pos = 1.1)] out uint8[] bytes);
200		public void unref ();
201	}
202	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_engine_get_type ()")]
203	[Version (deprecated = true, deprecated_since = "1.38")]
204	public abstract class Engine : GLib.Object {
205		[CCode (has_construct_function = false)]
206		protected Engine ();
207	}
208	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_engine_lang_get_type ()")]
209	[Version (deprecated = true, deprecated_since = "1.38")]
210	public abstract class EngineLang : Pango.Engine {
211		[CCode (has_construct_function = false)]
212		protected EngineLang ();
213		[NoWrapper]
214		public virtual void script_break (string text, int len, Pango.Analysis analysis, Pango.LogAttr attrs, int attrs_len);
215	}
216	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_engine_shape_get_type ()")]
217	[Version (deprecated = true, deprecated_since = "1.38")]
218	public abstract class EngineShape : Pango.Engine {
219		[CCode (has_construct_function = false)]
220		protected EngineShape ();
221		[NoWrapper]
222		public virtual Pango.CoverageLevel covers (Pango.Font font, Pango.Language language, unichar wc);
223		[NoWrapper]
224		public virtual void script_shape (Pango.Font font, string item_text, uint item_length, Pango.Analysis analysis, Pango.GlyphString glyphs, string paragraph_text, uint paragraph_length);
225	}
226	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_font_get_type ()")]
227	public abstract class Font : GLib.Object {
228		[CCode (has_construct_function = false)]
229		protected Font ();
230		[NoWrapper]
231		public virtual HarfBuzz.Font create_hb_font ();
232		public virtual Pango.FontDescription describe ();
233		[NoWrapper]
234		public virtual Pango.FontDescription describe_absolute ();
235		[Version (since = "1.14")]
236		public Pango.FontDescription describe_with_absolute_size ();
237		public static void descriptions_free ([CCode (array_length_cname = "n_descs", array_length_pos = 1.1)] owned Pango.FontDescription[]? descs);
238		[Version (deprecated = true)]
239		public unowned Pango.EngineShape find_shaper (Pango.Language language, uint32 ch);
240		public virtual Pango.Coverage get_coverage (Pango.Language language);
241		[Version (since = "1.46")]
242		public unowned Pango.FontFace get_face ();
243		[Version (since = "1.44")]
244		public virtual void get_features ([CCode (array_length_cname = "len", array_length_pos = 1.5, array_length_type = "guint")] out unowned HarfBuzz.Feature[] features, ref uint num_features);
245		[Version (since = "1.10")]
246		public virtual unowned Pango.FontMap? get_font_map ();
247		public virtual void get_glyph_extents (Pango.Glyph glyph, out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
248		public virtual Pango.FontMetrics get_metrics (Pango.Language? language);
249		[Version (since = "1.44")]
250		public bool has_char (unichar wc);
251	}
252	[CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "pango_font_description_get_type ()")]
253	[Compact]
254	public class FontDescription {
255		[CCode (has_construct_function = false)]
256		public FontDescription ();
257		public bool better_match (Pango.FontDescription? old_match, Pango.FontDescription new_match);
258		public Pango.FontDescription? copy ();
259		public Pango.FontDescription? copy_static ();
260		public bool equal (Pango.FontDescription desc2);
261		public void free ();
262		public static Pango.FontDescription from_string (string str);
263		public unowned string? get_family ();
264		[Version (since = "1.16")]
265		public Pango.Gravity get_gravity ();
266		public Pango.FontMask get_set_fields ();
267		public int get_size ();
268		[Version (since = "1.8")]
269		public bool get_size_is_absolute ();
270		public Pango.Stretch get_stretch ();
271		public Pango.Style get_style ();
272		public Pango.Variant get_variant ();
273		[Version (since = "1.42")]
274		public unowned string? get_variations ();
275		public Pango.Weight get_weight ();
276		public uint hash ();
277		public void merge (Pango.FontDescription? desc_to_merge, bool replace_existing);
278		public void merge_static (Pango.FontDescription desc_to_merge, bool replace_existing);
279		[Version (since = "1.8")]
280		public void set_absolute_size (double size);
281		public void set_family (string family);
282		public void set_family_static (string family);
283		[Version (since = "1.16")]
284		public void set_gravity (Pango.Gravity gravity);
285		public void set_size (int size);
286		public void set_stretch (Pango.Stretch stretch);
287		public void set_style (Pango.Style style);
288		public void set_variant (Pango.Variant variant);
289		[Version (since = "1.42")]
290		public void set_variations (string variations);
291		[Version (since = "1.42")]
292		public void set_variations_static (string variations);
293		public void set_weight (Pango.Weight weight);
294		public string to_filename ();
295		public string to_string ();
296		public void unset_fields (Pango.FontMask to_unset);
297	}
298	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_font_face_get_type ()")]
299	public abstract class FontFace : GLib.Object {
300		[CCode (has_construct_function = false)]
301		protected FontFace ();
302		public virtual Pango.FontDescription describe ();
303		public virtual unowned string get_face_name ();
304		[Version (since = "1.46")]
305		public virtual unowned Pango.FontFamily get_family ();
306		[Version (since = "1.18")]
307		public virtual bool is_synthesized ();
308		[Version (since = "1.4")]
309		public virtual void list_sizes ([CCode (array_length_cname = "n_sizes", array_length_pos = 1.1)] out int[]? sizes);
310	}
311	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_font_family_get_type ()")]
312	public abstract class FontFamily : GLib.Object {
313		[CCode (has_construct_function = false)]
314		protected FontFamily ();
315		[Version (since = "1.46")]
316		public virtual unowned Pango.FontFace? get_face (string? name);
317		public virtual unowned string get_name ();
318		[Version (since = "1.4")]
319		public virtual bool is_monospace ();
320		[Version (since = "1.44")]
321		public virtual bool is_variable ();
322		public virtual void list_faces ([CCode (array_length_cname = "n_faces", array_length_pos = 1.1)] out (unowned Pango.FontFace)[] faces);
323	}
324	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_font_map_get_type ()")]
325	public abstract class FontMap : GLib.Object {
326		[CCode (has_construct_function = false)]
327		protected FontMap ();
328		[Version (since = "1.34")]
329		public virtual void changed ();
330		[Version (since = "1.22")]
331		public Pango.Context create_context ();
332		[Version (since = "1.46")]
333		public virtual unowned Pango.FontFamily get_family (string name);
334		[Version (since = "1.32.4")]
335		public virtual uint get_serial ();
336		public virtual void list_families ([CCode (array_length_cname = "n_families", array_length_pos = 1.1)] out (unowned Pango.FontFamily)[] families);
337		public virtual Pango.Font? load_font (Pango.Context context, Pango.FontDescription desc);
338		public virtual Pango.Fontset? load_fontset (Pango.Context context, Pango.FontDescription desc, Pango.Language language);
339	}
340	[CCode (cheader_filename = "pango/pango.h", ref_function = "pango_font_metrics_ref", type_id = "pango_font_metrics_get_type ()", unref_function = "pango_font_metrics_unref")]
341	[Compact]
342	public class FontMetrics {
343		public int get_approximate_char_width ();
344		public int get_approximate_digit_width ();
345		public int get_ascent ();
346		public int get_descent ();
347		[Version (since = "1.44")]
348		public int get_height ();
349		[Version (since = "1.6")]
350		public int get_strikethrough_position ();
351		[Version (since = "1.6")]
352		public int get_strikethrough_thickness ();
353		[Version (since = "1.6")]
354		public int get_underline_position ();
355		[Version (since = "1.6")]
356		public int get_underline_thickness ();
357		public unowned Pango.FontMetrics? @ref ();
358		public void unref ();
359	}
360	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_fontset_get_type ()")]
361	public abstract class Fontset : GLib.Object {
362		[CCode (has_construct_function = false)]
363		protected Fontset ();
364		[Version (since = "1.4")]
365		public virtual void @foreach (Pango.FontsetForeachFunc func);
366		public virtual Pango.Font get_font (uint wc);
367		[NoWrapper]
368		public virtual Pango.Language get_language ();
369		public virtual Pango.FontMetrics get_metrics ();
370	}
371	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_fontset_simple_get_type ()")]
372	public class FontsetSimple : Pango.Fontset {
373		[CCode (has_construct_function = false)]
374		public FontsetSimple (Pango.Language language);
375		public void append (Pango.Font font);
376		public int size ();
377	}
378	[CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "pango_glyph_item_get_type ()")]
379	[Compact]
380	public class GlyphItem {
381		public weak Pango.GlyphString glyphs;
382		public weak Pango.Item item;
383		[Version (since = "1.2")]
384		public GLib.SList<Pango.GlyphItem> apply_attrs (string text, Pango.AttrList list);
385		[Version (since = "1.20")]
386		public Pango.GlyphItem? copy ();
387		[Version (since = "1.6")]
388		public void free ();
389		[Version (since = "1.26")]
390		public void get_logical_widths (string text, [CCode (array_length = false)] int[] logical_widths);
391		[Version (since = "1.6")]
392		public void letter_space (string text, [CCode (array_length = false)] Pango.LogAttr[] log_attrs, int letter_spacing);
393		[Version (since = "1.2")]
394		public Pango.GlyphItem split (string text, int split_index);
395	}
396	[CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "pango_glyph_string_get_type ()")]
397	[Compact]
398	public class GlyphString {
399		[CCode (array_length_cname = "num_glyphs")]
400		public Pango.GlyphInfo[] glyphs;
401		[CCode (array_length_cname = "num_glyphs")]
402		public int[] log_clusters;
403		public int num_glyphs;
404		[CCode (has_construct_function = false)]
405		public GlyphString ();
406		public Pango.GlyphString? copy ();
407		public void extents (Pango.Font font, out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
408		public void extents_range (int start, int end, Pango.Font font, out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
409		public void free ();
410		public void get_logical_widths (string text, int length, int embedding_level, [CCode (array_length = false)] int[] logical_widths);
411		[Version (since = "1.14")]
412		public int get_width ();
413		public void index_to_x (string text, int length, Pango.Analysis analysis, int index_, bool trailing, out int x_pos);
414		public void set_size (int new_len);
415		public void x_to_index (string text, int length, Pango.Analysis analysis, int x_pos, out int index_, out int trailing);
416	}
417	[CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "pango_item_get_type ()")]
418	[Compact]
419	public class Item {
420		public Pango.Analysis analysis;
421		public int length;
422		public int num_chars;
423		public int offset;
424		[CCode (has_construct_function = false)]
425		public Item ();
426		[Version (since = "1.44")]
427		public void apply_attrs (Pango.AttrIterator iter);
428		public Pango.Item? copy ();
429		[DestroysInstance]
430		public void free ();
431		public Pango.Item split (int split_index, int split_offset);
432	}
433	[CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "pango_language_get_type ()")]
434	[Compact]
435	public class Language {
436		public static unowned Pango.Language? from_string (string? language);
437		[Version (since = "1.16")]
438		public static unowned Pango.Language get_default ();
439		public unowned string get_sample_string ();
440		[CCode (array_length_pos = 0.1)]
441		[Version (since = "1.22")]
442		public unowned Pango.Script[]? get_scripts ();
443		[Version (since = "1.4")]
444		public bool includes_script (Pango.Script script);
445		public bool matches (string range_list);
446		public unowned string to_string ();
447	}
448	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_layout_get_type ()")]
449	public class Layout : GLib.Object {
450		[CCode (has_construct_function = false)]
451		public Layout (Pango.Context context);
452		public void context_changed ();
453		public Pango.Layout copy ();
454		public Pango.Alignment get_alignment ();
455		public unowned Pango.AttrList? get_attributes ();
456		[Version (since = "1.4")]
457		public bool get_auto_dir ();
458		[Version (since = "1.22")]
459		public int get_baseline ();
460		[Version (since = "1.30")]
461		public int get_character_count ();
462		public unowned Pango.Context get_context ();
463		public void get_cursor_pos (int index_, out Pango.Rectangle strong_pos, out Pango.Rectangle weak_pos);
464		[Version (since = "1.46")]
465		public Pango.Direction get_direction (int index);
466		[Version (since = "1.6")]
467		public Pango.EllipsizeMode get_ellipsize ();
468		public void get_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
469		[Version (since = "1.8")]
470		public unowned Pango.FontDescription? get_font_description ();
471		[Version (since = "1.20")]
472		public int get_height ();
473		public int get_indent ();
474		public Pango.LayoutIter get_iter ();
475		public bool get_justify ();
476		public unowned Pango.LayoutLine? get_line (int line);
477		public int get_line_count ();
478		[Version (since = "1.16")]
479		public unowned Pango.LayoutLine? get_line_readonly (int line);
480		[Version (since = "1.44")]
481		public float get_line_spacing ();
482		public unowned GLib.SList<Pango.LayoutLine> get_lines ();
483		[Version (since = "1.16")]
484		public unowned GLib.SList<Pango.LayoutLine> get_lines_readonly ();
485		public void get_log_attrs ([CCode (array_length_cname = "n_attrs", array_length_pos = 1.1)] out Pango.LogAttr[] attrs);
486		[CCode (array_length_pos = 0.1)]
487		[Version (since = "1.30")]
488		public unowned Pango.LogAttr[] get_log_attrs_readonly ();
489		public void get_pixel_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
490		public void get_pixel_size (out int width, out int height);
491		[Version (since = "1.32.4")]
492		public uint get_serial ();
493		public bool get_single_paragraph_mode ();
494		public void get_size (out int width, out int height);
495		public int get_spacing ();
496		public Pango.TabArray? get_tabs ();
497		public unowned string get_text ();
498		[Version (since = "1.16")]
499		public int get_unknown_glyphs_count ();
500		public int get_width ();
501		public Pango.WrapMode get_wrap ();
502		public void index_to_line_x (int index_, bool trailing, out int line, out int x_pos);
503		public Pango.Rectangle index_to_pos (int index_);
504		[Version (since = "1.16")]
505		public bool is_ellipsized ();
506		[Version (since = "1.16")]
507		public bool is_wrapped ();
508		public void move_cursor_visually (bool strong, int old_index, int old_trailing, int direction, out int new_index, out int new_trailing);
509		public void set_alignment (Pango.Alignment alignment);
510		public void set_attributes (Pango.AttrList? attrs);
511		[Version (since = "1.4")]
512		public void set_auto_dir (bool auto_dir);
513		[Version (since = "1.6")]
514		public void set_ellipsize (Pango.EllipsizeMode ellipsize);
515		public void set_font_description (Pango.FontDescription? desc);
516		[Version (since = "1.20")]
517		public void set_height (int height);
518		public void set_indent (int indent);
519		public void set_justify (bool justify);
520		[Version (since = "1.44")]
521		public void set_line_spacing (float factor);
522		public void set_markup (string markup, int length);
523		public void set_markup_with_accel (string markup, int length, unichar accel_marker, out unichar accel_char);
524		public void set_single_paragraph_mode (bool setting);
525		public void set_spacing (int spacing);
526		public void set_tabs (Pango.TabArray? tabs);
527		public void set_text (string text, int length);
528		public void set_width (int width);
529		public void set_wrap (Pango.WrapMode wrap);
530		public bool xy_to_index (int x, int y, out int index_, out int trailing);
531	}
532	[CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "pango_layout_iter_get_type ()")]
533	[Compact]
534	public class LayoutIter {
535		public bool at_last_line ();
536		[Version (since = "1.20")]
537		public Pango.LayoutIter? copy ();
538		public void free ();
539		public int get_baseline ();
540		public Pango.Rectangle get_char_extents ();
541		public void get_cluster_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
542		public int get_index ();
543		[Version (since = "1.20")]
544		public unowned Pango.Layout get_layout ();
545		public void get_layout_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
546		public unowned Pango.LayoutLine get_line ();
547		public void get_line_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
548		[Version (since = "1.16")]
549		public unowned Pango.LayoutLine get_line_readonly ();
550		public void get_line_yrange (out int y0_, out int y1_);
551		public unowned Pango.LayoutRun? get_run ();
552		public void get_run_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
553		[Version (since = "1.16")]
554		public unowned Pango.LayoutRun? get_run_readonly ();
555		public bool next_char ();
556		public bool next_cluster ();
557		public bool next_line ();
558		public bool next_run ();
559	}
560	[CCode (cheader_filename = "pango/pango.h", ref_function = "pango_layout_line_ref", type_id = "pango_layout_line_get_type ()", unref_function = "pango_layout_line_unref")]
561	[Compact]
562	public class LayoutLine {
563		public uint is_paragraph_start;
564		public weak Pango.Layout layout;
565		public int length;
566		public uint resolved_dir;
567		public weak GLib.SList<Pango.LayoutRun> runs;
568		public int start_index;
569		public void get_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
570		[Version (since = "1.44")]
571		public void get_height (out int height);
572		public void get_pixel_extents (out Pango.Rectangle ink_rect, out Pango.Rectangle logical_rect);
573		public void get_x_ranges (int start_index, int end_index, [CCode (array_length_cname = "n_ranges", array_length_pos = 3.1)] out int[] ranges);
574		public void index_to_x (int index_, bool trailing, out int x_pos);
575		[Version (since = "1.10")]
576		public unowned Pango.LayoutLine @ref ();
577		public void unref ();
578		public bool x_to_index (int x_pos, out int index_, out int trailing);
579	}
580	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_glyph_item_get_type ()")]
581	[Compact]
582	public class LayoutRun : Pango.GlyphItem {
583	}
584	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
585	[Compact]
586	public class Map {
587	}
588	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
589	[Compact]
590	public class MapEntry {
591	}
592	[CCode (cheader_filename = "pango/pango.h", type_id = "pango_renderer_get_type ()")]
593	[Version (since = "1.8")]
594	public abstract class Renderer : GLib.Object {
595		[CCode (has_construct_function = false)]
596		protected Renderer ();
597		public void activate ();
598		[NoWrapper]
599		public virtual void begin ();
600		public void deactivate ();
601		public virtual void draw_error_underline (int x, int y, int width, int height);
602		public virtual void draw_glyph (Pango.Font font, Pango.Glyph glyph, double x, double y);
603		[Version (since = "1.22")]
604		public virtual void draw_glyph_item (string? text, Pango.GlyphItem glyph_item, int x, int y);
605		public virtual void draw_glyphs (Pango.Font font, Pango.GlyphString glyphs, int x, int y);
606		public void draw_layout (Pango.Layout layout, int x, int y);
607		public void draw_layout_line (Pango.LayoutLine line, int x, int y);
608		public virtual void draw_rectangle (Pango.RenderPart part, int x, int y, int width, int height);
609		[NoWrapper]
610		public virtual void draw_shape (Pango.AttrShape attr, int x, int y);
611		public virtual void draw_trapezoid (Pango.RenderPart part, double y1_, double x11, double x21, double y2, double x12, double x22);
612		[NoWrapper]
613		public virtual void end ();
614		[Version (since = "1.38")]
615		public uint16 get_alpha (Pango.RenderPart part);
616		public unowned Pango.Color? get_color (Pango.RenderPart part);
617		[Version (since = "1.20")]
618		public unowned Pango.Layout? get_layout ();
619		[Version (since = "1.20")]
620		public unowned Pango.LayoutLine? get_layout_line ();
621		public unowned Pango.Matrix? get_matrix ();
622		public virtual void part_changed (Pango.RenderPart part);
623		[NoWrapper]
624		public virtual void prepare_run (Pango.LayoutRun run);
625		[Version (since = "1.38")]
626		public void set_alpha (Pango.RenderPart part, uint16 alpha);
627		public void set_color (Pango.RenderPart part, Pango.Color? color);
628		public void set_matrix (Pango.Matrix? matrix);
629	}
630	[CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "pango_script_iter_get_type ()")]
631	[Compact]
632	public class ScriptIter {
633		[CCode (has_construct_function = false)]
634		[Version (since = "1.4")]
635		public ScriptIter (string text, int length);
636		[Version (since = "1.4")]
637		public void free ();
638		[Version (since = "1.4")]
639		public void get_range (out string start, out string end, out Pango.Script script);
640		[Version (since = "1.4")]
641		public bool next ();
642	}
643	[CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "pango_tab_array_get_type ()")]
644	[Compact]
645	public class TabArray {
646		[CCode (has_construct_function = false)]
647		public TabArray (int initial_size, bool positions_in_pixels);
648		public Pango.TabArray copy ();
649		public void free ();
650		public bool get_positions_in_pixels ();
651		public int get_size ();
652		public void get_tab (int tab_index, out Pango.TabAlign alignment, out int location);
653		public void get_tabs (out Pango.TabAlign alignments, [CCode (array_length = false)] out int[] locations);
654		public void resize (int new_size);
655		public void set_tab (int tab_index, Pango.TabAlign alignment, int location);
656		[CCode (has_construct_function = false)]
657		public TabArray.with_positions (int size, bool positions_in_pixels, Pango.TabAlign first_alignment, ...);
658	}
659	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
660	public struct Analysis {
661		public weak Pango.EngineShape shape_engine;
662		public weak Pango.EngineLang lang_engine;
663		public weak Pango.Font font;
664		public uint8 level;
665		public uint8 gravity;
666		public uint8 flags;
667		public uint8 script;
668		public weak Pango.Language language;
669		public weak GLib.SList<void*> extra_attrs;
670	}
671	[CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "pango_color_get_type ()")]
672	public struct Color {
673		public uint16 red;
674		public uint16 green;
675		public uint16 blue;
676		public Pango.Color? copy ();
677		public void free ();
678		public bool parse (string spec);
679		[Version (since = "1.46")]
680		public bool parse_with_alpha (out uint16 alpha, string spec);
681		[Version (since = "1.16")]
682		public string to_string ();
683	}
684	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
685	[Version (deprecated = true, deprecated_since = "1.38")]
686	public struct EngineInfo {
687		public weak string id;
688		public weak string engine_type;
689		public weak string render_type;
690		[CCode (array_length_cname = "n_scripts")]
691		public Pango.EngineScriptInfo[] scripts;
692		public int n_scripts;
693	}
694	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
695	[Version (deprecated = true, deprecated_since = "1.38")]
696	public struct EngineScriptInfo {
697		public Pango.Script script;
698		public weak string langs;
699	}
700	[CCode (cheader_filename = "pango/pango.h")]
701	[SimpleType]
702	public struct Glyph : uint32 {
703	}
704	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
705	public struct GlyphGeometry {
706		public Pango.GlyphUnit width;
707		public Pango.GlyphUnit x_offset;
708		public Pango.GlyphUnit y_offset;
709	}
710	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
711	public struct GlyphInfo {
712		public Pango.Glyph glyph;
713		public Pango.GlyphGeometry geometry;
714		public Pango.GlyphVisAttr attr;
715	}
716	[CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "pango_glyph_item_iter_get_type ()")]
717	[Version (since = "1.22")]
718	public struct GlyphItemIter {
719		public weak Pango.GlyphItem glyph_item;
720		public weak string text;
721		public int start_glyph;
722		public int start_index;
723		public int start_char;
724		public int end_glyph;
725		public int end_index;
726		public int end_char;
727		public Pango.GlyphItemIter? copy ();
728		public void free ();
729		public bool init_end (Pango.GlyphItem glyph_item, string text);
730		public bool init_start (Pango.GlyphItem glyph_item, string text);
731		public bool next_cluster ();
732		public bool prev_cluster ();
733	}
734	[CCode (cheader_filename = "pango/pango.h")]
735	[SimpleType]
736	public struct GlyphUnit : int32 {
737	}
738	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
739	public struct GlyphVisAttr {
740		public uint is_cluster_start;
741	}
742	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
743	public struct LogAttr {
744		public uint is_line_break;
745		public uint is_mandatory_break;
746		public uint is_char_break;
747		public uint is_white;
748		public uint is_cursor_position;
749		public uint is_word_start;
750		public uint is_word_end;
751		public uint is_sentence_boundary;
752		public uint is_sentence_start;
753		public uint is_sentence_end;
754		public uint backspace_deletes_character;
755		public uint is_expandable_space;
756		public uint is_word_boundary;
757	}
758	[CCode (cheader_filename = "pango/pango.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "pango_matrix_get_type ()")]
759	[Version (since = "1.6")]
760	public struct Matrix {
761		public double xx;
762		public double xy;
763		public double yx;
764		public double yy;
765		public double x0;
766		public double y0;
767		public void concat (Pango.Matrix new_matrix);
768		public Pango.Matrix? copy ();
769		public void free ();
770		[Version (since = "1.12")]
771		public double get_font_scale_factor ();
772		[Version (since = "1.38")]
773		public void get_font_scale_factors (out double xscale, out double yscale);
774		public void rotate (double degrees);
775		public void scale (double scale_x, double scale_y);
776		[Version (since = "1.16")]
777		public void transform_distance (ref double dx, ref double dy);
778		[Version (since = "1.16")]
779		public void transform_pixel_rectangle (ref Pango.Rectangle? rect);
780		[Version (since = "1.16")]
781		public void transform_point (ref double x, ref double y);
782		[Version (since = "1.16")]
783		public void transform_rectangle (ref Pango.Rectangle? rect);
784		public void translate (double tx, double ty);
785	}
786	[CCode (cheader_filename = "pango/pango.h", has_type_id = false)]
787	public struct Rectangle {
788		public int x;
789		public int y;
790		public int width;
791		public int height;
792	}
793	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_ALIGN_", type_id = "pango_alignment_get_type ()")]
794	public enum Alignment {
795		LEFT,
796		CENTER,
797		RIGHT
798	}
799	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_ATTR_", type_id = "pango_attr_type_get_type ()")]
800	public enum AttrType {
801		INVALID,
802		LANGUAGE,
803		FAMILY,
804		STYLE,
805		WEIGHT,
806		VARIANT,
807		STRETCH,
808		SIZE,
809		FONT_DESC,
810		FOREGROUND,
811		BACKGROUND,
812		UNDERLINE,
813		STRIKETHROUGH,
814		RISE,
815		SHAPE,
816		SCALE,
817		FALLBACK,
818		LETTER_SPACING,
819		UNDERLINE_COLOR,
820		STRIKETHROUGH_COLOR,
821		ABSOLUTE_SIZE,
822		GRAVITY,
823		GRAVITY_HINT,
824		FONT_FEATURES,
825		FOREGROUND_ALPHA,
826		BACKGROUND_ALPHA,
827		ALLOW_BREAKS,
828		SHOW,
829		INSERT_HYPHENS,
830		OVERLINE,
831		OVERLINE_COLOR;
832		[Version (since = "1.22")]
833		public unowned string? get_name ();
834		public static Pango.AttrType register (string name);
835	}
836	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_BIDI_TYPE_", type_id = "pango_bidi_type_get_type ()")]
837	[Version (deprecated = true, deprecated_since = "1.44", since = "1.22")]
838	public enum BidiType {
839		L,
840		LRE,
841		LRO,
842		R,
843		AL,
844		RLE,
845		RLO,
846		PDF,
847		EN,
848		ES,
849		ET,
850		AN,
851		CS,
852		NSM,
853		BN,
854		B,
855		S,
856		WS,
857		ON;
858		public static Pango.BidiType for_unichar (unichar ch);
859	}
860	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_COVERAGE_", type_id = "pango_coverage_level_get_type ()")]
861	public enum CoverageLevel {
862		NONE,
863		FALLBACK,
864		APPROXIMATE,
865		EXACT
866	}
867	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_DIRECTION_", type_id = "pango_direction_get_type ()")]
868	public enum Direction {
869		LTR,
870		RTL,
871		TTB_LTR,
872		TTB_RTL,
873		WEAK_LTR,
874		WEAK_RTL,
875		NEUTRAL
876	}
877	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_ELLIPSIZE_", type_id = "pango_ellipsize_mode_get_type ()")]
878	public enum EllipsizeMode {
879		NONE,
880		START,
881		MIDDLE,
882		END
883	}
884	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_FONT_MASK_", type_id = "pango_font_mask_get_type ()")]
885	[Flags]
886	public enum FontMask {
887		FAMILY,
888		STYLE,
889		VARIANT,
890		WEIGHT,
891		STRETCH,
892		SIZE,
893		GRAVITY,
894		VARIATIONS
895	}
896	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_GRAVITY_", type_id = "pango_gravity_get_type ()")]
897	[Version (since = "1.16")]
898	public enum Gravity {
899		SOUTH,
900		EAST,
901		NORTH,
902		WEST,
903		AUTO;
904		public static Pango.Gravity get_for_matrix (Pango.Matrix? matrix);
905		public static Pango.Gravity get_for_script (Pango.Script script, Pango.Gravity base_gravity, Pango.GravityHint hint);
906		[Version (since = "1.26")]
907		public static Pango.Gravity get_for_script_and_width (Pango.Script script, bool wide, Pango.Gravity base_gravity, Pango.GravityHint hint);
908		public double to_rotation ();
909	}
910	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_GRAVITY_HINT_", type_id = "pango_gravity_hint_get_type ()")]
911	[Version (since = "1.16")]
912	public enum GravityHint {
913		NATURAL,
914		STRONG,
915		LINE
916	}
917	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_OVERLINE_", type_id = "pango_overline_get_type ()")]
918	[Version (since = "1.46")]
919	public enum Overline {
920		NONE,
921		SINGLE
922	}
923	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_RENDER_PART_", type_id = "pango_render_part_get_type ()")]
924	[Version (since = "1.8")]
925	public enum RenderPart {
926		FOREGROUND,
927		BACKGROUND,
928		UNDERLINE,
929		STRIKETHROUGH,
930		OVERLINE
931	}
932	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_SCRIPT_", type_id = "pango_script_get_type ()")]
933	public enum Script {
934		INVALID_CODE,
935		COMMON,
936		INHERITED,
937		ARABIC,
938		ARMENIAN,
939		BENGALI,
940		BOPOMOFO,
941		CHEROKEE,
942		COPTIC,
943		CYRILLIC,
944		DESERET,
945		DEVANAGARI,
946		ETHIOPIC,
947		GEORGIAN,
948		GOTHIC,
949		GREEK,
950		GUJARATI,
951		GURMUKHI,
952		HAN,
953		HANGUL,
954		HEBREW,
955		HIRAGANA,
956		KANNADA,
957		KATAKANA,
958		KHMER,
959		LAO,
960		LATIN,
961		MALAYALAM,
962		MONGOLIAN,
963		MYANMAR,
964		OGHAM,
965		OLD_ITALIC,
966		ORIYA,
967		RUNIC,
968		SINHALA,
969		SYRIAC,
970		TAMIL,
971		TELUGU,
972		THAANA,
973		THAI,
974		TIBETAN,
975		CANADIAN_ABORIGINAL,
976		YI,
977		TAGALOG,
978		HANUNOO,
979		BUHID,
980		TAGBANWA,
981		BRAILLE,
982		CYPRIOT,
983		LIMBU,
984		OSMANYA,
985		SHAVIAN,
986		LINEAR_B,
987		TAI_LE,
988		UGARITIC,
989		NEW_TAI_LUE,
990		BUGINESE,
991		GLAGOLITIC,
992		TIFINAGH,
993		SYLOTI_NAGRI,
994		OLD_PERSIAN,
995		KHAROSHTHI,
996		UNKNOWN,
997		BALINESE,
998		CUNEIFORM,
999		PHOENICIAN,
1000		PHAGS_PA,
1001		NKO,
1002		KAYAH_LI,
1003		LEPCHA,
1004		REJANG,
1005		SUNDANESE,
1006		SAURASHTRA,
1007		CHAM,
1008		OL_CHIKI,
1009		VAI,
1010		CARIAN,
1011		LYCIAN,
1012		LYDIAN,
1013		BATAK,
1014		BRAHMI,
1015		MANDAIC,
1016		CHAKMA,
1017		MEROITIC_CURSIVE,
1018		MEROITIC_HIEROGLYPHS,
1019		MIAO,
1020		SHARADA,
1021		SORA_SOMPENG,
1022		TAKRI,
1023		BASSA_VAH,
1024		CAUCASIAN_ALBANIAN,
1025		DUPLOYAN,
1026		ELBASAN,
1027		GRANTHA,
1028		KHOJKI,
1029		KHUDAWADI,
1030		LINEAR_A,
1031		MAHAJANI,
1032		MANICHAEAN,
1033		MENDE_KIKAKUI,
1034		MODI,
1035		MRO,
1036		NABATAEAN,
1037		OLD_NORTH_ARABIAN,
1038		OLD_PERMIC,
1039		PAHAWH_HMONG,
1040		PALMYRENE,
1041		PAU_CIN_HAU,
1042		PSALTER_PAHLAVI,
1043		SIDDHAM,
1044		TIRHUTA,
1045		WARANG_CITI,
1046		AHOM,
1047		ANATOLIAN_HIEROGLYPHS,
1048		HATRAN,
1049		MULTANI,
1050		OLD_HUNGARIAN,
1051		SIGNWRITING;
1052		[Version (deprecated = true, deprecated_since = "1.44.", since = "1.4")]
1053		public static Pango.Script for_unichar (unichar ch);
1054		[Version (since = "1.4")]
1055		public Pango.Language? get_sample_language ();
1056	}
1057	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_SHAPE_", type_id = "pango_shape_flags_get_type ()")]
1058	[Flags]
1059	public enum ShapeFlags {
1060		NONE,
1061		ROUND_POSITIONS
1062	}
1063	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_SHOW_", type_id = "pango_show_flags_get_type ()")]
1064	[Flags]
1065	public enum ShowFlags {
1066		NONE,
1067		SPACES,
1068		LINE_BREAKS,
1069		IGNORABLES
1070	}
1071	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_STRETCH_", type_id = "pango_stretch_get_type ()")]
1072	public enum Stretch {
1073		ULTRA_CONDENSED,
1074		EXTRA_CONDENSED,
1075		CONDENSED,
1076		SEMI_CONDENSED,
1077		NORMAL,
1078		SEMI_EXPANDED,
1079		EXPANDED,
1080		EXTRA_EXPANDED,
1081		ULTRA_EXPANDED
1082	}
1083	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_STYLE_", type_id = "pango_style_get_type ()")]
1084	public enum Style {
1085		NORMAL,
1086		OBLIQUE,
1087		ITALIC
1088	}
1089	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_TAB_", type_id = "pango_tab_align_get_type ()")]
1090	public enum TabAlign {
1091		LEFT
1092	}
1093	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_UNDERLINE_", type_id = "pango_underline_get_type ()")]
1094	public enum Underline {
1095		NONE,
1096		SINGLE,
1097		DOUBLE,
1098		LOW,
1099		ERROR,
1100		SINGLE_LINE,
1101		DOUBLE_LINE,
1102		ERROR_LINE
1103	}
1104	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_VARIANT_", type_id = "pango_variant_get_type ()")]
1105	public enum Variant {
1106		NORMAL,
1107		SMALL_CAPS
1108	}
1109	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_WEIGHT_", type_id = "pango_weight_get_type ()")]
1110	public enum Weight {
1111		THIN,
1112		ULTRALIGHT,
1113		LIGHT,
1114		SEMILIGHT,
1115		BOOK,
1116		NORMAL,
1117		MEDIUM,
1118		SEMIBOLD,
1119		BOLD,
1120		ULTRABOLD,
1121		HEAVY,
1122		ULTRAHEAVY
1123	}
1124	[CCode (cheader_filename = "pango/pango.h", cprefix = "PANGO_WRAP_", type_id = "pango_wrap_mode_get_type ()")]
1125	public enum WrapMode {
1126		WORD,
1127		CHAR,
1128		WORD_CHAR
1129	}
1130	[CCode (cheader_filename = "pango/pango.h", has_target = false)]
1131	public delegate T AttrDataCopyFunc<T> (T data);
1132	[CCode (cheader_filename = "pango/pango.h", instance_pos = 1.9)]
1133	public delegate bool AttrFilterFunc (Pango.Attribute attribute);
1134	[CCode (cheader_filename = "pango/pango.h", instance_pos = 2.9)]
1135	[Version (since = "1.4")]
1136	public delegate bool FontsetForeachFunc (Pango.Fontset fontset, Pango.Font font);
1137	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_ANALYSIS_FLAG_CENTERED_BASELINE")]
1138	[Version (since = "1.16")]
1139	public const int ANALYSIS_FLAG_CENTERED_BASELINE;
1140	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_ANALYSIS_FLAG_IS_ELLIPSIS")]
1141	[Version (since = "1.36.7")]
1142	public const int ANALYSIS_FLAG_IS_ELLIPSIS;
1143	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_ANALYSIS_FLAG_NEED_HYPHEN")]
1144	[Version (since = "1.44")]
1145	public const int ANALYSIS_FLAG_NEED_HYPHEN;
1146	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING")]
1147	[Version (since = "1.24")]
1148	public const int ATTR_INDEX_FROM_TEXT_BEGINNING;
1149	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_ENGINE_TYPE_LANG")]
1150	[Version (deprecated = true, deprecated_since = "1.38")]
1151	public const string ENGINE_TYPE_LANG;
1152	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_ENGINE_TYPE_SHAPE")]
1153	[Version (deprecated = true, deprecated_since = "1.38")]
1154	public const string ENGINE_TYPE_SHAPE;
1155	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_GLYPH_EMPTY")]
1156	public const Pango.Glyph GLYPH_EMPTY;
1157	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_GLYPH_INVALID_INPUT")]
1158	[Version (since = "1.20")]
1159	public const Pango.Glyph GLYPH_INVALID_INPUT;
1160	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_GLYPH_UNKNOWN_FLAG")]
1161	public const Pango.Glyph GLYPH_UNKNOWN_FLAG;
1162	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_RENDER_TYPE_NONE")]
1163	[Version (deprecated = true, deprecated_since = "1.38")]
1164	public const string RENDER_TYPE_NONE;
1165	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_SCALE")]
1166	public const int SCALE;
1167	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_UNKNOWN_GLYPH_HEIGHT")]
1168	public const int UNKNOWN_GLYPH_HEIGHT;
1169	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_UNKNOWN_GLYPH_WIDTH")]
1170	public const int UNKNOWN_GLYPH_WIDTH;
1171	[CCode (cheader_filename = "pango/pango.h")]
1172	public const int VERSION_MAJOR;
1173	[CCode (cheader_filename = "pango/pango.h")]
1174	public const int VERSION_MICRO;
1175	[CCode (cheader_filename = "pango/pango.h")]
1176	public const int VERSION_MINOR;
1177	[CCode (cheader_filename = "pango/pango.h", cname = "PANGO_VERSION_MIN_REQUIRED")]
1178	[Version (since = "1.42")]
1179	public const int VERSION_MIN_REQUIRED;
1180	[CCode (cheader_filename = "pango/pango.h")]
1181	public const string VERSION_STRING;
1182	[CCode (cheader_filename = "pango/pango.h")]
1183	[Version (since = "1.44")]
1184	public static Pango.Attribute attr_allow_breaks_new (bool allow_breaks);
1185	[CCode (cheader_filename = "pango/pango.h")]
1186	[Version (since = "1.38")]
1187	public static Pango.Attribute attr_background_alpha_new (uint16 alpha);
1188	[CCode (cheader_filename = "pango/pango.h")]
1189	public static Pango.Attribute attr_background_new (uint16 red, uint16 green, uint16 blue);
1190	[CCode (cheader_filename = "pango/pango.h")]
1191	[Version (since = "1.4")]
1192	public static Pango.Attribute attr_fallback_new (bool enable_fallback);
1193	[CCode (cheader_filename = "pango/pango.h")]
1194	public static Pango.Attribute attr_family_new (string family);
1195	[CCode (cheader_filename = "pango/pango.h")]
1196	[Version (since = "1.38")]
1197	public static Pango.Attribute attr_foreground_alpha_new (uint16 alpha);
1198	[CCode (cheader_filename = "pango/pango.h")]
1199	public static Pango.Attribute attr_foreground_new (uint16 red, uint16 green, uint16 blue);
1200	[CCode (cheader_filename = "pango/pango.h")]
1201	[Version (since = "1.16")]
1202	public static Pango.Attribute attr_gravity_hint_new (Pango.GravityHint hint);
1203	[CCode (cheader_filename = "pango/pango.h")]
1204	[Version (since = "1.16")]
1205	public static Pango.Attribute attr_gravity_new (Pango.Gravity gravity);
1206	[CCode (cheader_filename = "pango/pango.h")]
1207	[Version (since = "1.44")]
1208	public static Pango.Attribute attr_insert_hyphens_new (bool insert_hyphens);
1209	[CCode (cheader_filename = "pango/pango.h")]
1210	[Version (since = "1.6")]
1211	public static Pango.Attribute attr_letter_spacing_new (int letter_spacing);
1212	[CCode (cheader_filename = "pango/pango.h")]
1213	[Version (since = "1.46")]
1214	public static Pango.Attribute attr_overline_color_new (uint16 red, uint16 green, uint16 blue);
1215	[CCode (cheader_filename = "pango/pango.h")]
1216	[Version (since = "1.46")]
1217	public static Pango.Attribute attr_overline_new (Pango.Overline overline);
1218	[CCode (cheader_filename = "pango/pango.h")]
1219	public static Pango.Attribute attr_rise_new (int rise);
1220	[CCode (cheader_filename = "pango/pango.h")]
1221	public static Pango.Attribute attr_scale_new (double scale_factor);
1222	[CCode (cheader_filename = "pango/pango.h")]
1223	[Version (since = "1.44")]
1224	public static Pango.Attribute attr_show_new (Pango.ShowFlags flags);
1225	[CCode (cheader_filename = "pango/pango.h")]
1226	public static Pango.Attribute attr_stretch_new (Pango.Stretch stretch);
1227	[CCode (cheader_filename = "pango/pango.h")]
1228	[Version (since = "1.8")]
1229	public static Pango.Attribute attr_strikethrough_color_new (uint16 red, uint16 green, uint16 blue);
1230	[CCode (cheader_filename = "pango/pango.h")]
1231	public static Pango.Attribute attr_strikethrough_new (bool strikethrough);
1232	[CCode (cheader_filename = "pango/pango.h")]
1233	public static Pango.Attribute attr_style_new (Pango.Style style);
1234	[CCode (cheader_filename = "pango/pango.h")]
1235	[Version (since = "1.8")]
1236	public static Pango.Attribute attr_underline_color_new (uint16 red, uint16 green, uint16 blue);
1237	[CCode (cheader_filename = "pango/pango.h")]
1238	public static Pango.Attribute attr_underline_new (Pango.Underline underline);
1239	[CCode (cheader_filename = "pango/pango.h")]
1240	public static Pango.Attribute attr_variant_new (Pango.Variant variant);
1241	[CCode (cheader_filename = "pango/pango.h")]
1242	public static Pango.Attribute attr_weight_new (Pango.Weight weight);
1243	[CCode (cheader_filename = "pango/pango.h")]
1244	[Version (deprecated = true, deprecated_since = "1.44")]
1245	public static void @break (string text, int length, Pango.Analysis analysis, [CCode (array_length_cname = "attrs_len", array_length_pos = 4.1)] Pango.LogAttr[] attrs);
1246	[CCode (cheader_filename = "pango/pango.h")]
1247	public static void default_break (string text, int length, Pango.Analysis? analysis, Pango.LogAttr attrs, int attrs_len);
1248	[CCode (cheader_filename = "pango/pango.h")]
1249	[Version (since = "1.16")]
1250	public static void extents_to_pixels (Pango.Rectangle? inclusive, Pango.Rectangle? nearest);
1251	[CCode (cheader_filename = "pango/pango.h")]
1252	[Version (since = "1.4")]
1253	public static Pango.Direction find_base_dir (string text, int length);
1254	[CCode (cheader_filename = "pango/pango.h")]
1255	public static void find_paragraph_boundary (string text, int length, out int paragraph_delimiter_index, out int next_paragraph_start);
1256	[CCode (cheader_filename = "pango/pango.h")]
1257	public static void get_log_attrs (string text, int length, int level, Pango.Language language, [CCode (array_length_cname = "attrs_len", array_length_pos = 5.1)] Pango.LogAttr[] log_attrs);
1258	[CCode (cheader_filename = "pango/pango.h")]
1259	public static bool get_mirror_char (unichar ch, unichar mirrored_ch);
1260	[CCode (cheader_filename = "pango/pango.h")]
1261	[Version (since = "1.10")]
1262	public static bool is_zero_width (unichar ch);
1263	[CCode (cheader_filename = "pango/pango.h")]
1264	public static GLib.List<Pango.Item> itemize (Pango.Context context, string text, int start_index, int length, Pango.AttrList attrs, Pango.AttrIterator? cached_iter);
1265	[CCode (cheader_filename = "pango/pango.h")]
1266	[Version (since = "1.4")]
1267	public static GLib.List<Pango.Item> 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);
1268	[CCode (cheader_filename = "pango/pango.h")]
1269	[Version (since = "1.4")]
1270	public static uint8 log2vis_get_embedding_levels (string text, int length, ref Pango.Direction pbase_dir);
1271	[CCode (cheader_filename = "pango/pango.h")]
1272	[Version (since = "1.31.0")]
1273	public static bool markup_parser_finish (GLib.MarkupParseContext context, out Pango.AttrList attr_list, out string text, out unichar accel_char) throws GLib.Error;
1274	[CCode (cheader_filename = "pango/pango.h")]
1275	[Version (since = "1.31.0")]
1276	public static unowned GLib.MarkupParseContext markup_parser_new (unichar accel_marker);
1277	[CCode (cheader_filename = "pango/pango.h")]
1278	[Version (deprecated = true, deprecated_since = "1.38", since = "1.16")]
1279	public static bool parse_enum (GLib.Type type, string? str, out int value, bool warn, out string possible_values);
1280	[CCode (cheader_filename = "pango/pango.h")]
1281	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;
1282	[CCode (cheader_filename = "pango/pango.h")]
1283	public static bool parse_stretch (string str, out Pango.Stretch stretch, bool warn);
1284	[CCode (cheader_filename = "pango/pango.h")]
1285	public static bool parse_style (string str, out Pango.Style style, bool warn);
1286	[CCode (cheader_filename = "pango/pango.h")]
1287	public static bool parse_variant (string str, out Pango.Variant variant, bool warn);
1288	[CCode (cheader_filename = "pango/pango.h")]
1289	public static bool parse_weight (string str, out Pango.Weight weight, bool warn);
1290	[CCode (cheader_filename = "pango/pango.h")]
1291	[Version (since = "1.12")]
1292	public static void quantize_line_geometry (ref int thickness, ref int position);
1293	[CCode (cheader_filename = "pango/pango.h")]
1294	[Version (deprecated = true, deprecated_since = "1.38")]
1295	public static int read_line ([CCode (type = "FILE*")] GLib.FileStream stream, GLib.StringBuilder str);
1296	[CCode (cheader_filename = "pango/pango.h")]
1297	public static GLib.List<Pango.Item> reorder_items (GLib.List<Pango.Item> logical_items);
1298	[CCode (cheader_filename = "pango/pango.h")]
1299	[Version (deprecated = true, deprecated_since = "1.38")]
1300	public static bool scan_int (ref string pos, out int @out);
1301	[CCode (cheader_filename = "pango/pango.h")]
1302	[Version (deprecated = true, deprecated_since = "1.38")]
1303	public static bool scan_string (ref string pos, GLib.StringBuilder @out);
1304	[CCode (cheader_filename = "pango/pango.h")]
1305	[Version (deprecated = true, deprecated_since = "1.38")]
1306	public static bool scan_word (ref string pos, GLib.StringBuilder @out);
1307	[CCode (cheader_filename = "pango/pango.h")]
1308	public static void shape (string text, int length, Pango.Analysis analysis, Pango.GlyphString glyphs);
1309	[CCode (cheader_filename = "pango/pango.h")]
1310	[Version (since = "1.32")]
1311	public static void shape_full (string item_text, int item_length, string? paragraph_text, int paragraph_length, Pango.Analysis analysis, Pango.GlyphString glyphs);
1312	[CCode (cheader_filename = "pango/pango.h")]
1313	[Version (since = "1.44")]
1314	public static void shape_with_flags (string item_text, int item_length, string? paragraph_text, int paragraph_length, Pango.Analysis analysis, Pango.GlyphString glyphs, Pango.ShapeFlags flags);
1315	[CCode (cheader_filename = "pango/pango.h")]
1316	[Version (deprecated = true, deprecated_since = "1.38")]
1317	public static bool skip_space (ref string pos);
1318	[CCode (array_length = false, array_null_terminated = true, cheader_filename = "pango/pango.h")]
1319	[Version (deprecated = true, deprecated_since = "1.38")]
1320	public static string[] split_file_list (string str);
1321	[CCode (cheader_filename = "pango/pango.h")]
1322	[Version (since = "1.44")]
1323	public static void tailor_break (string text, int length, Pango.Analysis analysis, int offset, [CCode (array_length_cname = "log_attrs_len", array_length_pos = 5.1)] Pango.LogAttr[] log_attrs);
1324	[CCode (cheader_filename = "pango/pango.h")]
1325	[Version (deprecated = true, deprecated_since = "1.38")]
1326	public static string trim_string (string str);
1327	[CCode (cheader_filename = "pango/pango.h")]
1328	public static Pango.Direction unichar_direction (unichar ch);
1329	[CCode (cheader_filename = "pango/pango.h")]
1330	[Version (since = "1.16")]
1331	public static int units_from_double (double d);
1332	[CCode (cheader_filename = "pango/pango.h")]
1333	[Version (since = "1.16")]
1334	public static double units_to_double (int i);
1335	[CCode (cheader_filename = "pango/pango.h")]
1336	[Version (since = "1.16")]
1337	public static int version ();
1338	[CCode (cheader_filename = "pango/pango.h")]
1339	[Version (since = "1.16")]
1340	public static unowned string? version_check (int required_major, int required_minor, int required_micro);
1341	[CCode (cheader_filename = "pango/pango.h")]
1342	[Version (since = "1.16")]
1343	public static unowned string version_string ();
1344}
1345