diff options
Diffstat (limited to 'lib/oldwrappers/gtk/pango.nim')
-rw-r--r-- | lib/oldwrappers/gtk/pango.nim | 1208 |
1 files changed, 1208 insertions, 0 deletions
diff --git a/lib/oldwrappers/gtk/pango.nim b/lib/oldwrappers/gtk/pango.nim new file mode 100644 index 000000000..ade2da989 --- /dev/null +++ b/lib/oldwrappers/gtk/pango.nim @@ -0,0 +1,1208 @@ +{.deadCodeElim: on.} + +import + glib2 + +when defined(win32): + const + pangolib* = "libpango-1.0-0.dll" +else: + const + pangolib* = "libpango-1.0.so.0" +type + PPangoFont* = pointer + PPangoFontFamily* = pointer + PPangoFontset* = pointer + PPangoFontMetrics* = pointer + PPangoFontFace* = pointer + PPangoFontMap* = pointer + PPangoFontsetClass* = pointer + PPangoFontFamilyClass* = pointer + PPangoFontFaceClass* = pointer + PPangoFontClass* = pointer + PPangoFontMapClass* = pointer + PPangoFontDescription* = ptr TPangoFontDescription + TPangoFontDescription* = pointer + PPangoAttrList* = ptr TPangoAttrList + TPangoAttrList* = pointer + PPangoAttrIterator* = ptr TPangoAttrIterator + TPangoAttrIterator* = pointer + PPangoLayout* = ptr TPangoLayout + TPangoLayout* = pointer + PPangoLayoutClass* = ptr TPangoLayoutClass + TPangoLayoutClass* = pointer + PPangoLayoutIter* = ptr TPangoLayoutIter + TPangoLayoutIter* = pointer + PPangoContext* = ptr TPangoContext + TPangoContext* = pointer + PPangoContextClass* = ptr TPangoContextClass + TPangoContextClass* = pointer + PPangoFontsetSimple* = ptr TPangoFontsetSimple + TPangoFontsetSimple* = pointer + PPangoTabArray* = ptr TPangoTabArray + TPangoTabArray* = pointer + PPangoGlyphString* = ptr TPangoGlyphString + PPangoAnalysis* = ptr TPangoAnalysis + PPangoItem* = ptr TPangoItem + PPangoLanguage* = ptr TPangoLanguage + TPangoLanguage* = pointer + PPangoGlyph* = ptr TPangoGlyph + TPangoGlyph* = guint32 + PPangoRectangle* = ptr TPangoRectangle + TPangoRectangle* {.final, pure.} = object + x*: int32 + y*: int32 + width*: int32 + height*: int32 + + PPangoDirection* = ptr TPangoDirection + TPangoDirection* = enum + PANGO_DIRECTION_LTR, PANGO_DIRECTION_RTL, PANGO_DIRECTION_TTB_LTR, + PANGO_DIRECTION_TTB_RTL + PPangoColor* = ptr TPangoColor + TPangoColor* {.final, pure.} = object + red*: guint16 + green*: guint16 + blue*: guint16 + + PPangoAttrType* = ptr TPangoAttrType + TPangoAttrType* = int32 + PPangoUnderline* = ptr TPangoUnderline + TPangoUnderline* = int32 + PPangoAttribute* = ptr TPangoAttribute + PPangoAttrClass* = ptr TPangoAttrClass + TPangoAttribute* {.final, pure.} = object + klass*: PPangoAttrClass + start_index*: int + end_index*: int + + TPangoAttrClass* {.final, pure.} = object + `type`*: TPangoAttrType + copy*: proc (attr: PPangoAttribute): PPangoAttribute{.cdecl.} + destroy*: proc (attr: PPangoAttribute){.cdecl.} + equal*: proc (attr1: PPangoAttribute, attr2: PPangoAttribute): gboolean{. + cdecl.} + + PPangoAttrString* = ptr TPangoAttrString + TPangoAttrString* {.final, pure.} = object + attr*: TPangoAttribute + value*: cstring + + PPangoAttrLanguage* = ptr TPangoAttrLanguage + TPangoAttrLanguage* {.final, pure.} = object + attr*: TPangoAttribute + value*: PPangoLanguage + + PPangoAttrInt* = ptr TPangoAttrInt + TPangoAttrInt* {.final, pure.} = object + attr*: TPangoAttribute + value*: int32 + + PPangoAttrFloat* = ptr TPangoAttrFloat + TPangoAttrFloat* {.final, pure.} = object + attr*: TPangoAttribute + value*: gdouble + + PPangoAttrColor* = ptr TPangoAttrColor + TPangoAttrColor* {.final, pure.} = object + attr*: TPangoAttribute + color*: TPangoColor + + PPangoAttrShape* = ptr TPangoAttrShape + TPangoAttrShape* {.final, pure.} = object + attr*: TPangoAttribute + ink_rect*: TPangoRectangle + logical_rect*: TPangoRectangle + + PPangoAttrFontDesc* = ptr TPangoAttrFontDesc + TPangoAttrFontDesc* {.final, pure.} = object + attr*: TPangoAttribute + desc*: PPangoFontDescription + + PPangoLogAttr* = ptr TPangoLogAttr + TPangoLogAttr* {.final, pure.} = object + flag0*: guint16 + + PPangoCoverageLevel* = ptr TPangoCoverageLevel + TPangoCoverageLevel* = enum + PANGO_COVERAGE_NONE, PANGO_COVERAGE_FALLBACK, PANGO_COVERAGE_APPROXIMATE, + PANGO_COVERAGE_EXACT + PPangoBlockInfo* = ptr TPangoBlockInfo + TPangoBlockInfo* {.final, pure.} = object + data*: Pguchar + level*: TPangoCoverageLevel + + PPangoCoverage* = ptr TPangoCoverage + TPangoCoverage* {.final, pure.} = object + ref_count*: int + n_blocks*: int32 + data_size*: int32 + blocks*: PPangoBlockInfo + + PPangoEngineRange* = ptr TPangoEngineRange + TPangoEngineRange* {.final, pure.} = object + start*: int32 + theEnd*: int32 + langs*: cstring + + PPangoEngineInfo* = ptr TPangoEngineInfo + TPangoEngineInfo* {.final, pure.} = object + id*: cstring + engine_type*: cstring + render_type*: cstring + ranges*: PPangoEngineRange + n_ranges*: gint + + PPangoEngine* = ptr TPangoEngine + TPangoEngine* {.final, pure.} = object + id*: cstring + `type`*: cstring + length*: gint + + TPangoEngineLangScriptBreak* = proc (text: cstring, len: int32, + analysis: PPangoAnalysis, + attrs: PPangoLogAttr, attrs_len: int32){. + cdecl.} + PPangoEngineLang* = ptr TPangoEngineLang + TPangoEngineLang* {.final, pure.} = object + engine*: TPangoEngine + script_break*: TPangoEngineLangScriptBreak + + TPangoEngineShapeScript* = proc (font: PPangoFont, text: cstring, + length: int32, analysis: PPangoAnalysis, + glyphs: PPangoGlyphString){.cdecl.} + TPangoEngineShapeGetCoverage* = proc (font: PPangoFont, + language: PPangoLanguage): PPangoCoverage{. + cdecl.} + PPangoEngineShape* = ptr TPangoEngineShape + TPangoEngineShape* {.final, pure.} = object + engine*: TPangoEngine + script_shape*: TPangoEngineShapeScript + get_coverage*: TPangoEngineShapeGetCoverage + + PPangoStyle* = ptr TPangoStyle + TPangoStyle* = gint + PPangoVariant* = ptr TPangoVariant + TPangoVariant* = gint + PPangoWeight* = ptr TPangoWeight + TPangoWeight* = gint + PPangoStretch* = ptr TPangoStretch + TPangoStretch* = gint + PPangoFontMask* = ptr TPangoFontMask + TPangoFontMask* = int32 + PPangoGlyphUnit* = ptr TPangoGlyphUnit + TPangoGlyphUnit* = gint32 + PPangoGlyphGeometry* = ptr TPangoGlyphGeometry + TPangoGlyphGeometry* {.final, pure.} = object + width*: TPangoGlyphUnit + x_offset*: TPangoGlyphUnit + y_offset*: TPangoGlyphUnit + + PPangoGlyphVisAttr* = ptr TPangoGlyphVisAttr + TPangoGlyphVisAttr* {.final, pure.} = object + flag0*: int16 + + PPangoGlyphInfo* = ptr TPangoGlyphInfo + TPangoGlyphInfo* {.final, pure.} = object + glyph*: TPangoGlyph + geometry*: TPangoGlyphGeometry + attr*: TPangoGlyphVisAttr + + TPangoGlyphString* {.final, pure.} = object + num_glyphs*: gint + glyphs*: PPangoGlyphInfo + log_clusters*: Pgint + space*: gint + + TPangoAnalysis* {.final, pure.} = object + shape_engine*: PPangoEngineShape + lang_engine*: PPangoEngineLang + font*: PPangoFont + level*: guint8 + language*: PPangoLanguage + extra_attrs*: PGSList + + TPangoItem* {.final, pure.} = object + offset*: gint + length*: gint + num_chars*: gint + analysis*: TPangoAnalysis + + PPangoAlignment* = ptr TPangoAlignment + TPangoAlignment* = enum + PANGO_ALIGN_LEFT, PANGO_ALIGN_CENTER, PANGO_ALIGN_RIGHT + PPangoWrapMode* = ptr TPangoWrapMode + TPangoWrapMode* = enum + PANGO_WRAP_WORD, PANGO_WRAP_CHAR + PPangoLayoutLine* = ptr TPangoLayoutLine + TPangoLayoutLine* {.final, pure.} = object + layout*: PPangoLayout + start_index*: gint + length*: gint + runs*: PGSList + + PPangoLayoutRun* = ptr TPangoLayoutRun + TPangoLayoutRun* {.final, pure.} = object + item*: PPangoItem + glyphs*: PPangoGlyphString + + PPangoTabAlign* = ptr TPangoTabAlign + TPangoTabAlign* = enum + PANGO_TAB_LEFT + +const + PANGO_SCALE* = 1024 + +proc PANGO_PIXELS*(d: int): int +proc PANGO_ASCENT*(rect: TPangoRectangle): int32 +proc PANGO_DESCENT*(rect: TPangoRectangle): int32 +proc PANGO_LBEARING*(rect: TPangoRectangle): int32 +proc PANGO_RBEARING*(rect: TPangoRectangle): int32 +proc PANGO_TYPE_LANGUAGE*(): GType +proc pango_language_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_language_get_type".} +proc pango_language_from_string*(language: cstring): PPangoLanguage{.cdecl, + dynlib: pangolib, importc: "pango_language_from_string".} +proc pango_language_to_string*(language: PPangoLanguage): cstring +proc pango_language_matches*(language: PPangoLanguage, range_list: cstring): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_language_matches".} +const + PANGO_ATTR_INVALID* = 0 + PANGO_ATTR_LANGUAGE* = 1 + PANGO_ATTR_FAMILY* = 2 + PANGO_ATTR_STYLE* = 3 + PANGO_ATTR_WEIGHT* = 4 + PANGO_ATTR_VARIANT* = 5 + PANGO_ATTR_STRETCH* = 6 + PANGO_ATTR_SIZE* = 7 + PANGO_ATTR_FONT_DESC* = 8 + PANGO_ATTR_FOREGROUND* = 9 + PANGO_ATTR_BACKGROUND* = 10 + PANGO_ATTR_UNDERLINE* = 11 + PANGO_ATTR_STRIKETHROUGH* = 12 + PANGO_ATTR_RISE* = 13 + PANGO_ATTR_SHAPE* = 14 + PANGO_ATTR_SCALE* = 15 + PANGO_UNDERLINE_NONE* = 0 + PANGO_UNDERLINE_SINGLE* = 1 + PANGO_UNDERLINE_DOUBLE* = 2 + PANGO_UNDERLINE_LOW* = 3 + +proc PANGO_TYPE_COLOR*(): GType +proc pango_color_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_color_get_type".} +proc pango_color_copy*(src: PPangoColor): PPangoColor{.cdecl, dynlib: pangolib, + importc: "pango_color_copy".} +proc pango_color_free*(color: PPangoColor){.cdecl, dynlib: pangolib, + importc: "pango_color_free".} +proc pango_color_parse*(color: PPangoColor, spec: cstring): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_color_parse".} +proc PANGO_TYPE_ATTR_LIST*(): GType +proc pango_attr_type_register*(name: cstring): TPangoAttrType{.cdecl, + dynlib: pangolib, importc: "pango_attr_type_register".} +proc pango_attribute_copy*(attr: PPangoAttribute): PPangoAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attribute_copy".} +proc pango_attribute_destroy*(attr: PPangoAttribute){.cdecl, dynlib: pangolib, + importc: "pango_attribute_destroy".} +proc pango_attribute_equal*(attr1: PPangoAttribute, attr2: PPangoAttribute): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_attribute_equal".} +proc pango_attr_language_new*(language: PPangoLanguage): PPangoAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_language_new".} +proc pango_attr_family_new*(family: cstring): PPangoAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_family_new".} +proc pango_attr_foreground_new*(red: guint16, green: guint16, blue: guint16): PPangoAttribute{. + cdecl, dynlib: pangolib, importc: "pango_attr_foreground_new".} +proc pango_attr_background_new*(red: guint16, green: guint16, blue: guint16): PPangoAttribute{. + cdecl, dynlib: pangolib, importc: "pango_attr_background_new".} +proc pango_attr_size_new*(size: int32): PPangoAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_size_new".} +proc pango_attr_style_new*(style: TPangoStyle): PPangoAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_style_new".} +proc pango_attr_weight_new*(weight: TPangoWeight): PPangoAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_weight_new".} +proc pango_attr_variant_new*(variant: TPangoVariant): PPangoAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_variant_new".} +proc pango_attr_stretch_new*(stretch: TPangoStretch): PPangoAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_stretch_new".} +proc pango_attr_font_desc_new*(desc: PPangoFontDescription): PPangoAttribute{. + cdecl, dynlib: pangolib, importc: "pango_attr_font_desc_new".} +proc pango_attr_underline_new*(underline: TPangoUnderline): PPangoAttribute{. + cdecl, dynlib: pangolib, importc: "pango_attr_underline_new".} +proc pango_attr_strikethrough_new*(strikethrough: gboolean): PPangoAttribute{. + cdecl, dynlib: pangolib, importc: "pango_attr_strikethrough_new".} +proc pango_attr_rise_new*(rise: int32): PPangoAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_rise_new".} +proc pango_attr_shape_new*(ink_rect: PPangoRectangle, + logical_rect: PPangoRectangle): PPangoAttribute{. + cdecl, dynlib: pangolib, importc: "pango_attr_shape_new".} +proc pango_attr_scale_new*(scale_factor: gdouble): PPangoAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_scale_new".} +proc pango_attr_list_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_attr_list_get_type".} +proc pango_attr_list_new*(): PPangoAttrList{.cdecl, dynlib: pangolib, + importc: "pango_attr_list_new".} +proc pango_attr_list_ref*(list: PPangoAttrList){.cdecl, dynlib: pangolib, + importc: "pango_attr_list_ref".} +proc pango_attr_list_unref*(list: PPangoAttrList){.cdecl, dynlib: pangolib, + importc: "pango_attr_list_unref".} +proc pango_attr_list_copy*(list: PPangoAttrList): PPangoAttrList{.cdecl, + dynlib: pangolib, importc: "pango_attr_list_copy".} +proc pango_attr_list_insert*(list: PPangoAttrList, attr: PPangoAttribute){. + cdecl, dynlib: pangolib, importc: "pango_attr_list_insert".} +proc pango_attr_list_insert_before*(list: PPangoAttrList, attr: PPangoAttribute){. + cdecl, dynlib: pangolib, importc: "pango_attr_list_insert_before".} +proc pango_attr_list_change*(list: PPangoAttrList, attr: PPangoAttribute){. + cdecl, dynlib: pangolib, importc: "pango_attr_list_change".} +proc pango_attr_list_splice*(list: PPangoAttrList, other: PPangoAttrList, + pos: gint, len: gint){.cdecl, dynlib: pangolib, + importc: "pango_attr_list_splice".} +proc pango_attr_list_get_iterator*(list: PPangoAttrList): PPangoAttrIterator{. + cdecl, dynlib: pangolib, importc: "pango_attr_list_get_iterator".} +proc pango_attr_iterator_range*(`iterator`: PPangoAttrIterator, start: Pgint, + theEnd: Pgint){.cdecl, dynlib: pangolib, + importc: "pango_attr_iterator_range".} +proc pango_attr_iterator_next*(`iterator`: PPangoAttrIterator): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_attr_iterator_next".} +proc pango_attr_iterator_copy*(`iterator`: PPangoAttrIterator): PPangoAttrIterator{. + cdecl, dynlib: pangolib, importc: "pango_attr_iterator_copy".} +proc pango_attr_iterator_destroy*(`iterator`: PPangoAttrIterator){.cdecl, + dynlib: pangolib, importc: "pango_attr_iterator_destroy".} +proc pango_attr_iterator_get*(`iterator`: PPangoAttrIterator, + `type`: TPangoAttrType): PPangoAttribute{.cdecl, + dynlib: pangolib, importc: "pango_attr_iterator_get".} +proc pango_attr_iterator_get_font*(`iterator`: PPangoAttrIterator, + desc: PPangoFontDescription, + language: var PPangoLanguage, + extra_attrs: PPGSList){.cdecl, + dynlib: pangolib, importc: "pango_attr_iterator_get_font".} +proc pango_parse_markup*(markup_text: cstring, length: int32, + accel_marker: gunichar, attr_list: var PPangoAttrList, + text: PPchar, accel_char: Pgunichar, error: pointer): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_parse_markup".} +const + bm_TPangoLogAttr_is_line_break* = 0x00000001'i16 + bp_TPangoLogAttr_is_line_break* = 0'i16 + bm_TPangoLogAttr_is_mandatory_break* = 0x00000002'i16 + bp_TPangoLogAttr_is_mandatory_break* = 1'i16 + bm_TPangoLogAttr_is_char_break* = 0x00000004'i16 + bp_TPangoLogAttr_is_char_break* = 2'i16 + bm_TPangoLogAttr_is_white* = 0x00000008'i16 + bp_TPangoLogAttr_is_white* = 3'i16 + bm_TPangoLogAttr_is_cursor_position* = 0x00000010'i16 + bp_TPangoLogAttr_is_cursor_position* = 4'i16 + bm_TPangoLogAttr_is_word_start* = 0x00000020'i16 + bp_TPangoLogAttr_is_word_start* = 5'i16 + bm_TPangoLogAttr_is_word_end* = 0x00000040'i16 + bp_TPangoLogAttr_is_word_end* = 6'i16 + bm_TPangoLogAttr_is_sentence_boundary* = 0x00000080'i16 + bp_TPangoLogAttr_is_sentence_boundary* = 7'i16 + bm_TPangoLogAttr_is_sentence_start* = 0x00000100'i16 + bp_TPangoLogAttr_is_sentence_start* = 8'i16 + bm_TPangoLogAttr_is_sentence_end* = 0x00000200'i16 + bp_TPangoLogAttr_is_sentence_end* = 9'i16 + +proc is_line_break*(a: var TPangoLogAttr): guint +proc set_is_line_break*(a: var TPangoLogAttr, `is_line_break`: guint) +proc is_mandatory_break*(a: var TPangoLogAttr): guint +proc set_is_mandatory_break*(a: var TPangoLogAttr, `is_mandatory_break`: guint) +proc is_char_break*(a: var TPangoLogAttr): guint +proc set_is_char_break*(a: var TPangoLogAttr, `is_char_break`: guint) +proc is_white*(a: var TPangoLogAttr): guint +proc set_is_white*(a: var TPangoLogAttr, `is_white`: guint) +proc is_cursor_position*(a: var TPangoLogAttr): guint +proc set_is_cursor_position*(a: var TPangoLogAttr, `is_cursor_position`: guint) +proc is_word_start*(a: var TPangoLogAttr): guint +proc set_is_word_start*(a: var TPangoLogAttr, `is_word_start`: guint) +proc is_word_end*(a: var TPangoLogAttr): guint +proc set_is_word_end*(a: var TPangoLogAttr, `is_word_end`: guint) +proc is_sentence_boundary*(a: var TPangoLogAttr): guint +proc set_is_sentence_boundary*(a: var TPangoLogAttr, + `is_sentence_boundary`: guint) +proc is_sentence_start*(a: var TPangoLogAttr): guint +proc set_is_sentence_start*(a: var TPangoLogAttr, `is_sentence_start`: guint) +proc is_sentence_end*(a: var TPangoLogAttr): guint +proc set_is_sentence_end*(a: var TPangoLogAttr, `is_sentence_end`: guint) +proc pango_break*(text: cstring, length: int32, analysis: PPangoAnalysis, + attrs: PPangoLogAttr, attrs_len: int32){.cdecl, + dynlib: pangolib, importc: "pango_break".} +proc pango_find_paragraph_boundary*(text: cstring, length: gint, + paragraph_delimiter_index: Pgint, + next_paragraph_start: Pgint){.cdecl, + dynlib: pangolib, importc: "pango_find_paragraph_boundary".} +proc pango_get_log_attrs*(text: cstring, length: int32, level: int32, + language: PPangoLanguage, log_attrs: PPangoLogAttr, + attrs_len: int32){.cdecl, dynlib: pangolib, + importc: "pango_get_log_attrs".} +proc PANGO_TYPE_CONTEXT*(): GType +proc PANGO_CONTEXT*(anObject: pointer): PPangoContext +proc PANGO_CONTEXT_CLASS*(klass: pointer): PPangoContextClass +proc PANGO_IS_CONTEXT*(anObject: pointer): bool +proc PANGO_IS_CONTEXT_CLASS*(klass: pointer): bool +proc PANGO_CONTEXT_GET_CLASS*(obj: PPangoContext): PPangoContextClass +proc pango_context_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_context_get_type".} +proc pango_context_list_families*(context: PPangoContext, + families: openarray[ptr PPangoFontFamily]){.cdecl, + dynlib: pangolib, importc: "pango_context_list_families".} +proc pango_context_load_font*(context: PPangoContext, + desc: PPangoFontDescription): PPangoFont{.cdecl, + dynlib: pangolib, importc: "pango_context_load_font".} +proc pango_context_load_fontset*(context: PPangoContext, + desc: PPangoFontDescription, + language: PPangoLanguage): PPangoFontset{. + cdecl, dynlib: pangolib, importc: "pango_context_load_fontset".} +proc pango_context_get_metrics*(context: PPangoContext, + desc: PPangoFontDescription, + language: PPangoLanguage): PPangoFontMetrics{. + cdecl, dynlib: pangolib, importc: "pango_context_get_metrics".} +proc pango_context_set_font_description*(context: PPangoContext, + desc: PPangoFontDescription){.cdecl, dynlib: pangolib, + importc: "pango_context_set_font_description".} +proc pango_context_get_font_description*(context: PPangoContext): PPangoFontDescription{. + cdecl, dynlib: pangolib, importc: "pango_context_get_font_description".} +proc pango_context_get_language*(context: PPangoContext): PPangoLanguage{.cdecl, + dynlib: pangolib, importc: "pango_context_get_language".} +proc pango_context_set_language*(context: PPangoContext, + language: PPangoLanguage){.cdecl, + dynlib: pangolib, importc: "pango_context_set_language".} +proc pango_context_set_base_dir*(context: PPangoContext, + direction: TPangoDirection){.cdecl, + dynlib: pangolib, importc: "pango_context_set_base_dir".} +proc pango_context_get_base_dir*(context: PPangoContext): TPangoDirection{. + cdecl, dynlib: pangolib, importc: "pango_context_get_base_dir".} +proc pango_itemize*(context: PPangoContext, text: cstring, start_index: int32, + length: int32, attrs: PPangoAttrList, + cached_iter: PPangoAttrIterator): PGList{.cdecl, + dynlib: pangolib, importc: "pango_itemize".} +proc pango_coverage_new*(): PPangoCoverage{.cdecl, dynlib: pangolib, + importc: "pango_coverage_new".} +proc pango_coverage_ref*(coverage: PPangoCoverage): PPangoCoverage{.cdecl, + dynlib: pangolib, importc: "pango_coverage_ref".} +proc pango_coverage_unref*(coverage: PPangoCoverage){.cdecl, dynlib: pangolib, + importc: "pango_coverage_unref".} +proc pango_coverage_copy*(coverage: PPangoCoverage): PPangoCoverage{.cdecl, + dynlib: pangolib, importc: "pango_coverage_copy".} +proc pango_coverage_get*(coverage: PPangoCoverage, index: int32): TPangoCoverageLevel{. + cdecl, dynlib: pangolib, importc: "pango_coverage_get".} +proc pango_coverage_set*(coverage: PPangoCoverage, index: int32, + level: TPangoCoverageLevel){.cdecl, dynlib: pangolib, + importc: "pango_coverage_set".} +proc pango_coverage_max*(coverage: PPangoCoverage, other: PPangoCoverage){. + cdecl, dynlib: pangolib, importc: "pango_coverage_max".} +proc pango_coverage_to_bytes*(coverage: PPangoCoverage, bytes: PPguchar, + n_bytes: var int32){.cdecl, dynlib: pangolib, + importc: "pango_coverage_to_bytes".} +proc pango_coverage_from_bytes*(bytes: Pguchar, n_bytes: int32): PPangoCoverage{. + cdecl, dynlib: pangolib, importc: "pango_coverage_from_bytes".} +proc PANGO_TYPE_FONTSET*(): GType +proc PANGO_FONTSET*(anObject: pointer): PPangoFontset +proc PANGO_IS_FONTSET*(anObject: pointer): bool +proc pango_fontset_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_fontset_get_type".} +proc pango_fontset_get_font*(fontset: PPangoFontset, wc: guint): PPangoFont{. + cdecl, dynlib: pangolib, importc: "pango_fontset_get_font".} +proc pango_fontset_get_metrics*(fontset: PPangoFontset): PPangoFontMetrics{. + cdecl, dynlib: pangolib, importc: "pango_fontset_get_metrics".} +const + PANGO_STYLE_NORMAL* = 0 + PANGO_STYLE_OBLIQUE* = 1 + PANGO_STYLE_ITALIC* = 2 + PANGO_VARIANT_NORMAL* = 0 + PANGO_VARIANT_SMALL_CAPS* = 1 + PANGO_WEIGHT_ULTRALIGHT* = 200 + PANGO_WEIGHT_LIGHT* = 300 + PANGO_WEIGHT_NORMAL* = 400 + PANGO_WEIGHT_BOLD* = 700 + PANGO_WEIGHT_ULTRABOLD* = 800 + PANGO_WEIGHT_HEAVY* = 900 + PANGO_STRETCH_ULTRA_CONDENSED* = 0 + PANGO_STRETCH_EXTRA_CONDENSED* = 1 + PANGO_STRETCH_CONDENSED* = 2 + PANGO_STRETCH_SEMI_CONDENSED* = 3 + PANGO_STRETCH_NORMAL* = 4 + PANGO_STRETCH_SEMI_EXPANDED* = 5 + PANGO_STRETCH_EXPANDED* = 6 + PANGO_STRETCH_EXTRA_EXPANDED* = 7 + PANGO_STRETCH_ULTRA_EXPANDED* = 8 + PANGO_FONT_MASK_FAMILY* = 1 shl 0 + PANGO_FONT_MASK_STYLE* = 1 shl 1 + PANGO_FONT_MASK_VARIANT* = 1 shl 2 + PANGO_FONT_MASK_WEIGHT* = 1 shl 3 + PANGO_FONT_MASK_STRETCH* = 1 shl 4 + PANGO_FONT_MASK_SIZE* = 1 shl 5 + PANGO_SCALE_XX_SMALL* = 0.5787037037036999 + PANGO_SCALE_X_SMALL* = 0.6444444444443999 + PANGO_SCALE_SMALL* = 0.8333333333332999 + PANGO_SCALE_MEDIUM* = 1.0 + PANGO_SCALE_LARGE* = 1.2 + PANGO_SCALE_X_LARGE* = 1.4399999999999 + PANGO_SCALE_XX_LARGE* = 1.728 + +proc PANGO_TYPE_FONT_DESCRIPTION*(): GType +proc pango_font_description_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_font_description_get_type".} +proc pango_font_description_new*(): PPangoFontDescription{.cdecl, + dynlib: pangolib, importc: "pango_font_description_new".} +proc pango_font_description_copy*(desc: PPangoFontDescription): PPangoFontDescription{. + cdecl, dynlib: pangolib, importc: "pango_font_description_copy".} +proc pango_font_description_copy_static*(desc: PPangoFontDescription): PPangoFontDescription{. + cdecl, dynlib: pangolib, importc: "pango_font_description_copy_static".} +proc pango_font_description_hash*(desc: PPangoFontDescription): guint{.cdecl, + dynlib: pangolib, importc: "pango_font_description_hash".} +proc pango_font_description_equal*(desc1: PPangoFontDescription, + desc2: PPangoFontDescription): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_font_description_equal".} +proc pango_font_description_free*(desc: PPangoFontDescription){.cdecl, + dynlib: pangolib, importc: "pango_font_description_free".} +proc pango_font_descriptions_free*(descs: var PPangoFontDescription, + n_descs: int32){.cdecl, dynlib: pangolib, + importc: "pango_font_descriptions_free".} +proc pango_font_description_set_family*(desc: PPangoFontDescription, + family: cstring){.cdecl, + dynlib: pangolib, importc: "pango_font_description_set_family".} +proc pango_font_description_set_family_static*(desc: PPangoFontDescription, + family: cstring){.cdecl, dynlib: pangolib, + importc: "pango_font_description_set_family_static".} +proc pango_font_description_get_family*(desc: PPangoFontDescription): cstring{. + cdecl, dynlib: pangolib, importc: "pango_font_description_get_family".} +proc pango_font_description_set_style*(desc: PPangoFontDescription, + style: TPangoStyle){.cdecl, + dynlib: pangolib, importc: "pango_font_description_set_style".} +proc pango_font_description_get_style*(desc: PPangoFontDescription): TPangoStyle{. + cdecl, dynlib: pangolib, importc: "pango_font_description_get_style".} +proc pango_font_description_set_variant*(desc: PPangoFontDescription, + variant: TPangoVariant){.cdecl, dynlib: pangolib, + importc: "pango_font_description_set_variant".} +proc pango_font_description_get_variant*(desc: PPangoFontDescription): TPangoVariant{. + cdecl, dynlib: pangolib, importc: "pango_font_description_get_variant".} +proc pango_font_description_set_weight*(desc: PPangoFontDescription, + weight: TPangoWeight){.cdecl, + dynlib: pangolib, importc: "pango_font_description_set_weight".} +proc pango_font_description_get_weight*(desc: PPangoFontDescription): TPangoWeight{. + cdecl, dynlib: pangolib, importc: "pango_font_description_get_weight".} +proc pango_font_description_set_stretch*(desc: PPangoFontDescription, + stretch: TPangoStretch){.cdecl, dynlib: pangolib, + importc: "pango_font_description_set_stretch".} +proc pango_font_description_get_stretch*(desc: PPangoFontDescription): TPangoStretch{. + cdecl, dynlib: pangolib, importc: "pango_font_description_get_stretch".} +proc pango_font_description_set_size*(desc: PPangoFontDescription, size: gint){. + cdecl, dynlib: pangolib, importc: "pango_font_description_set_size".} +proc pango_font_description_get_size*(desc: PPangoFontDescription): gint{.cdecl, + dynlib: pangolib, importc: "pango_font_description_get_size".} +proc pango_font_description_set_absolute_size*(desc: PPangoFontDescription, + size: float64){.cdecl, dynlib: pangolib, + importc: "pango_font_description_set_absolute_size".} +proc pango_font_description_get_size_is_absolute*(desc: PPangoFontDescription, + size: float64): gboolean{.cdecl, dynlib: pangolib, importc: "pango_font_description_get_size_is_absolute".} +proc pango_font_description_get_set_fields*(desc: PPangoFontDescription): TPangoFontMask{. + cdecl, dynlib: pangolib, importc: "pango_font_description_get_set_fields".} +proc pango_font_description_unset_fields*(desc: PPangoFontDescription, + to_unset: TPangoFontMask){.cdecl, dynlib: pangolib, + importc: "pango_font_description_unset_fields".} +proc pango_font_description_merge*(desc: PPangoFontDescription, + desc_to_merge: PPangoFontDescription, + replace_existing: gboolean){.cdecl, + dynlib: pangolib, importc: "pango_font_description_merge".} +proc pango_font_description_merge_static*(desc: PPangoFontDescription, + desc_to_merge: PPangoFontDescription, replace_existing: gboolean){.cdecl, + dynlib: pangolib, importc: "pango_font_description_merge_static".} +proc pango_font_description_better_match*(desc: PPangoFontDescription, + old_match: PPangoFontDescription, new_match: PPangoFontDescription): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_font_description_better_match".} +proc pango_font_description_from_string*(str: cstring): PPangoFontDescription{. + cdecl, dynlib: pangolib, importc: "pango_font_description_from_string".} +proc pango_font_description_to_string*(desc: PPangoFontDescription): cstring{. + cdecl, dynlib: pangolib, importc: "pango_font_description_to_string".} +proc pango_font_description_to_filename*(desc: PPangoFontDescription): cstring{. + cdecl, dynlib: pangolib, importc: "pango_font_description_to_filename".} +proc PANGO_TYPE_FONT_METRICS*(): GType +proc pango_font_metrics_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_font_metrics_get_type".} +proc pango_font_metrics_ref*(metrics: PPangoFontMetrics): PPangoFontMetrics{. + cdecl, dynlib: pangolib, importc: "pango_font_metrics_ref".} +proc pango_font_metrics_unref*(metrics: PPangoFontMetrics){.cdecl, + dynlib: pangolib, importc: "pango_font_metrics_unref".} +proc pango_font_metrics_get_ascent*(metrics: PPangoFontMetrics): int32{.cdecl, + dynlib: pangolib, importc: "pango_font_metrics_get_ascent".} +proc pango_font_metrics_get_descent*(metrics: PPangoFontMetrics): int32{.cdecl, + dynlib: pangolib, importc: "pango_font_metrics_get_descent".} +proc pango_font_metrics_get_approximate_char_width*(metrics: PPangoFontMetrics): int32{. + cdecl, dynlib: pangolib, + importc: "pango_font_metrics_get_approximate_char_width".} +proc pango_font_metrics_get_approximate_digit_width*(metrics: PPangoFontMetrics): int32{. + cdecl, dynlib: pangolib, + importc: "pango_font_metrics_get_approximate_digit_width".} +proc PANGO_TYPE_FONT_FAMILY*(): GType +proc PANGO_FONT_FAMILY*(anObject: Pointer): PPangoFontFamily +proc PANGO_IS_FONT_FAMILY*(anObject: Pointer): bool +proc pango_font_family_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_font_family_get_type".} +proc pango_font_family_list_faces*(family: PPangoFontFamily, + faces: var openarray[ptr PPangoFontFace]){. + cdecl, dynlib: pangolib, importc: "pango_font_family_list_faces".} +proc pango_font_family_get_name*(family: PPangoFontFamily): cstring{.cdecl, + dynlib: pangolib, importc: "pango_font_family_get_name".} +proc PANGO_TYPE_FONT_FACE*(): GType +proc PANGO_FONT_FACE*(anObject: pointer): PPangoFontFace +proc PANGO_IS_FONT_FACE*(anObject: pointer): bool +proc pango_font_face_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_font_face_get_type".} +proc pango_font_face_describe*(face: PPangoFontFace): PPangoFontDescription{. + cdecl, dynlib: pangolib, importc: "pango_font_face_describe".} +proc pango_font_face_get_face_name*(face: PPangoFontFace): cstring{.cdecl, + dynlib: pangolib, importc: "pango_font_face_get_face_name".} +proc PANGO_TYPE_FONT*(): GType +proc PANGO_FONT*(anObject: pointer): PPangoFont +proc PANGO_IS_FONT*(anObject: pointer): bool +proc pango_font_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_font_get_type".} +proc pango_font_describe*(font: PPangoFont): PPangoFontDescription{.cdecl, + dynlib: pangolib, importc: "pango_font_describe".} +proc pango_font_get_coverage*(font: PPangoFont, language: PPangoLanguage): PPangoCoverage{. + cdecl, dynlib: pangolib, importc: "pango_font_get_coverage".} +proc pango_font_find_shaper*(font: PPangoFont, language: PPangoLanguage, + ch: guint32): PPangoEngineShape{.cdecl, + dynlib: pangolib, importc: "pango_font_find_shaper".} +proc pango_font_get_metrics*(font: PPangoFont, language: PPangoLanguage): PPangoFontMetrics{. + cdecl, dynlib: pangolib, importc: "pango_font_get_metrics".} +proc pango_font_get_glyph_extents*(font: PPangoFont, glyph: TPangoGlyph, + ink_rect: PPangoRectangle, + logical_rect: PPangoRectangle){.cdecl, + dynlib: pangolib, importc: "pango_font_get_glyph_extents".} +proc PANGO_TYPE_FONT_MAP*(): GType +proc PANGO_FONT_MAP*(anObject: pointer): PPangoFontMap +proc PANGO_IS_FONT_MAP*(anObject: pointer): bool +proc pango_font_map_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_font_map_get_type".} +proc pango_font_map_load_font*(fontmap: PPangoFontMap, context: PPangoContext, + desc: PPangoFontDescription): PPangoFont{.cdecl, + dynlib: pangolib, importc: "pango_font_map_load_font".} +proc pango_font_map_load_fontset*(fontmap: PPangoFontMap, + context: PPangoContext, + desc: PPangoFontDescription, + language: PPangoLanguage): PPangoFontset{. + cdecl, dynlib: pangolib, importc: "pango_font_map_load_fontset".} +proc pango_font_map_list_families*(fontmap: PPangoFontMap, + families: var openarray[ptr PPangoFontFamily]){.cdecl, + dynlib: pangolib, importc: "pango_font_map_list_families".} +const + bm_TPangoGlyphVisAttr_is_cluster_start* = 0x00000001'i16 + bp_TPangoGlyphVisAttr_is_cluster_start* = 0'i16 + +proc is_cluster_start*(a: var TPangoGlyphVisAttr): guint +proc set_is_cluster_start*(a: var TPangoGlyphVisAttr, `is_cluster_start`: guint) +proc PANGO_TYPE_GLYPH_STRING*(): GType +proc pango_glyph_string_new*(): PPangoGlyphString{.cdecl, dynlib: pangolib, + importc: "pango_glyph_string_new".} +proc pango_glyph_string_set_size*(`string`: PPangoGlyphString, new_len: gint){. + cdecl, dynlib: pangolib, importc: "pango_glyph_string_set_size".} +proc pango_glyph_string_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_glyph_string_get_type".} +proc pango_glyph_string_copy*(`string`: PPangoGlyphString): PPangoGlyphString{. + cdecl, dynlib: pangolib, importc: "pango_glyph_string_copy".} +proc pango_glyph_string_free*(`string`: PPangoGlyphString){.cdecl, + dynlib: pangolib, importc: "pango_glyph_string_free".} +proc pango_glyph_string_extents*(glyphs: PPangoGlyphString, font: PPangoFont, + ink_rect: PPangoRectangle, + logical_rect: PPangoRectangle){.cdecl, + dynlib: pangolib, importc: "pango_glyph_string_extents".} +proc pango_glyph_string_extents_range*(glyphs: PPangoGlyphString, start: int32, + theEnd: int32, font: PPangoFont, + ink_rect: PPangoRectangle, + logical_rect: PPangoRectangle){.cdecl, + dynlib: pangolib, importc: "pango_glyph_string_extents_range".} +proc pango_glyph_string_get_logical_widths*(glyphs: PPangoGlyphString, + text: cstring, length: int32, embedding_level: int32, + logical_widths: var int32){.cdecl, dynlib: pangolib, + importc: "pango_glyph_string_get_logical_widths".} +proc pango_glyph_string_index_to_x*(glyphs: PPangoGlyphString, text: cstring, + length: int32, analysis: PPangoAnalysis, + index: int32, trailing: gboolean, + x_pos: var int32){.cdecl, dynlib: pangolib, + importc: "pango_glyph_string_index_to_x".} +proc pango_glyph_string_x_to_index*(glyphs: PPangoGlyphString, text: cstring, + length: int32, analysis: PPangoAnalysis, + x_pos: int32, index, + trailing: var int32){.cdecl, + dynlib: pangolib, importc: "pango_glyph_string_x_to_index".} +proc pango_shape*(text: cstring, length: gint, analysis: PPangoAnalysis, + glyphs: PPangoGlyphString){.cdecl, dynlib: pangolib, + importc: "pango_shape".} +proc pango_reorder_items*(logical_items: PGList): PGList{.cdecl, + dynlib: pangolib, importc: "pango_reorder_items".} +proc pango_item_new*(): PPangoItem{.cdecl, dynlib: pangolib, + importc: "pango_item_new".} +proc pango_item_copy*(item: PPangoItem): PPangoItem{.cdecl, dynlib: pangolib, + importc: "pango_item_copy".} +proc pango_item_free*(item: PPangoItem){.cdecl, dynlib: pangolib, + importc: "pango_item_free".} +proc pango_item_split*(orig: PPangoItem, split_index: int32, split_offset: int32): PPangoItem{. + cdecl, dynlib: pangolib, importc: "pango_item_split".} +proc PANGO_TYPE_LAYOUT*(): GType +proc PANGO_LAYOUT*(anObject: pointer): PPangoLayout +proc PANGO_LAYOUT_CLASS*(klass: pointer): PPangoLayoutClass +proc PANGO_IS_LAYOUT*(anObject: pointer): bool +proc PANGO_IS_LAYOUT_CLASS*(klass: pointer): bool +proc PANGO_LAYOUT_GET_CLASS*(obj: PPangoLayout): PPangoLayoutClass +proc pango_layout_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_layout_get_type".} +proc pango_layout_new*(context: PPangoContext): PPangoLayout{.cdecl, + dynlib: pangolib, importc: "pango_layout_new".} +proc pango_layout_copy*(src: PPangoLayout): PPangoLayout{.cdecl, + dynlib: pangolib, importc: "pango_layout_copy".} +proc pango_layout_get_context*(layout: PPangoLayout): PPangoContext{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_context".} +proc pango_layout_set_attributes*(layout: PPangoLayout, attrs: PPangoAttrList){. + cdecl, dynlib: pangolib, importc: "pango_layout_set_attributes".} +proc pango_layout_get_attributes*(layout: PPangoLayout): PPangoAttrList{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_attributes".} +proc pango_layout_set_text*(layout: PPangoLayout, text: cstring, length: int32){. + cdecl, dynlib: pangolib, importc: "pango_layout_set_text".} +proc pango_layout_get_text*(layout: PPangoLayout): cstring{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_text".} +proc pango_layout_set_markup*(layout: PPangoLayout, markup: cstring, + length: int32){.cdecl, dynlib: pangolib, + importc: "pango_layout_set_markup".} +proc pango_layout_set_markup_with_accel*(layout: PPangoLayout, markup: cstring, + length: int32, accel_marker: gunichar, accel_char: Pgunichar){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_markup_with_accel".} +proc pango_layout_set_font_description*(layout: PPangoLayout, + desc: PPangoFontDescription){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_font_description".} +proc pango_layout_set_width*(layout: PPangoLayout, width: int32){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_width".} +proc pango_layout_get_width*(layout: PPangoLayout): int32{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_width".} +proc pango_layout_set_wrap*(layout: PPangoLayout, wrap: TPangoWrapMode){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_wrap".} +proc pango_layout_get_wrap*(layout: PPangoLayout): TPangoWrapMode{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_wrap".} +proc pango_layout_set_indent*(layout: PPangoLayout, indent: int32){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_indent".} +proc pango_layout_get_indent*(layout: PPangoLayout): int32{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_indent".} +proc pango_layout_set_spacing*(layout: PPangoLayout, spacing: int32){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_spacing".} +proc pango_layout_get_spacing*(layout: PPangoLayout): int32{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_spacing".} +proc pango_layout_set_justify*(layout: PPangoLayout, justify: gboolean){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_justify".} +proc pango_layout_get_justify*(layout: PPangoLayout): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_justify".} +proc pango_layout_set_alignment*(layout: PPangoLayout, + alignment: TPangoAlignment){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_alignment".} +proc pango_layout_get_alignment*(layout: PPangoLayout): TPangoAlignment{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_alignment".} +proc pango_layout_set_tabs*(layout: PPangoLayout, tabs: PPangoTabArray){.cdecl, + dynlib: pangolib, importc: "pango_layout_set_tabs".} +proc pango_layout_get_tabs*(layout: PPangoLayout): PPangoTabArray{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_tabs".} +proc pango_layout_set_single_paragraph_mode*(layout: PPangoLayout, + setting: gboolean){.cdecl, dynlib: pangolib, + importc: "pango_layout_set_single_paragraph_mode".} +proc pango_layout_get_single_paragraph_mode*(layout: PPangoLayout): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_layout_get_single_paragraph_mode".} +proc pango_layout_context_changed*(layout: PPangoLayout){.cdecl, + dynlib: pangolib, importc: "pango_layout_context_changed".} +proc pango_layout_get_log_attrs*(layout: PPangoLayout, attrs: var PPangoLogAttr, + n_attrs: Pgint){.cdecl, dynlib: pangolib, + importc: "pango_layout_get_log_attrs".} +proc pango_layout_index_to_pos*(layout: PPangoLayout, index: int32, + pos: PPangoRectangle){.cdecl, dynlib: pangolib, + importc: "pango_layout_index_to_pos".} +proc pango_layout_get_cursor_pos*(layout: PPangoLayout, index: int32, + strong_pos: PPangoRectangle, + weak_pos: PPangoRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_get_cursor_pos".} +proc pango_layout_move_cursor_visually*(layout: PPangoLayout, strong: gboolean, + old_index: int32, old_trailing: int32, + direction: int32, new_index, + new_trailing: var int32){.cdecl, + dynlib: pangolib, importc: "pango_layout_move_cursor_visually".} +proc pango_layout_xy_to_index*(layout: PPangoLayout, x: int32, y: int32, + index, trailing: var int32): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_layout_xy_to_index".} +proc pango_layout_get_extents*(layout: PPangoLayout, ink_rect: PPangoRectangle, + logical_rect: PPangoRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_get_extents".} +proc pango_layout_get_pixel_extents*(layout: PPangoLayout, + ink_rect: PPangoRectangle, + logical_rect: PPangoRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_get_pixel_extents".} +proc pango_layout_get_size*(layout: PPangoLayout, width: var int32, + height: var int32){.cdecl, dynlib: pangolib, + importc: "pango_layout_get_size".} +proc pango_layout_get_pixel_size*(layout: PPangoLayout, width: var int32, + height: var int32){.cdecl, dynlib: pangolib, + importc: "pango_layout_get_pixel_size".} +proc pango_layout_get_line_count*(layout: PPangoLayout): int32{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_line_count".} +proc pango_layout_get_line*(layout: PPangoLayout, line: int32): PPangoLayoutLine{. + cdecl, dynlib: pangolib, importc: "pango_layout_get_line".} +proc pango_layout_get_lines*(layout: PPangoLayout): PGSList{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_lines".} +proc pango_layout_line_ref*(line: PPangoLayoutLine){.cdecl, dynlib: pangolib, + importc: "pango_layout_line_ref".} +proc pango_layout_line_unref*(line: PPangoLayoutLine){.cdecl, dynlib: pangolib, + importc: "pango_layout_line_unref".} +proc pango_layout_line_x_to_index*(line: PPangoLayoutLine, x_pos: int32, + index: var int32, trailing: var int32): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_layout_line_x_to_index".} +proc pango_layout_line_index_to_x*(line: PPangoLayoutLine, index: int32, + trailing: gboolean, x_pos: var int32){.cdecl, + dynlib: pangolib, importc: "pango_layout_line_index_to_x".} +proc pango_layout_line_get_extents*(line: PPangoLayoutLine, + ink_rect: PPangoRectangle, + logical_rect: PPangoRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_line_get_extents".} +proc pango_layout_line_get_pixel_extents*(layout_line: PPangoLayoutLine, + ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_line_get_pixel_extents".} +proc pango_layout_get_iter*(layout: PPangoLayout): PPangoLayoutIter{.cdecl, + dynlib: pangolib, importc: "pango_layout_get_iter".} +proc pango_layout_iter_free*(iter: PPangoLayoutIter){.cdecl, dynlib: pangolib, + importc: "pango_layout_iter_free".} +proc pango_layout_iter_get_index*(iter: PPangoLayoutIter): int32{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_get_index".} +proc pango_layout_iter_get_run*(iter: PPangoLayoutIter): PPangoLayoutRun{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_get_run".} +proc pango_layout_iter_get_line*(iter: PPangoLayoutIter): PPangoLayoutLine{. + cdecl, dynlib: pangolib, importc: "pango_layout_iter_get_line".} +proc pango_layout_iter_at_last_line*(iter: PPangoLayoutIter): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_at_last_line".} +proc pango_layout_iter_next_char*(iter: PPangoLayoutIter): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_next_char".} +proc pango_layout_iter_next_cluster*(iter: PPangoLayoutIter): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_next_cluster".} +proc pango_layout_iter_next_run*(iter: PPangoLayoutIter): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_next_run".} +proc pango_layout_iter_next_line*(iter: PPangoLayoutIter): gboolean{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_next_line".} +proc pango_layout_iter_get_char_extents*(iter: PPangoLayoutIter, + logical_rect: PPangoRectangle){.cdecl, dynlib: pangolib, importc: "pango_layout_iter_get_char_extents".} +proc pango_layout_iter_get_cluster_extents*(iter: PPangoLayoutIter, + ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_get_cluster_extents".} +proc pango_layout_iter_get_run_extents*(iter: PPangoLayoutIter, + ink_rect: PPangoRectangle, + logical_rect: PPangoRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_get_run_extents".} +proc pango_layout_iter_get_line_extents*(iter: PPangoLayoutIter, + ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_get_line_extents".} +proc pango_layout_iter_get_line_yrange*(iter: PPangoLayoutIter, y0: var int32, + y1: var int32){.cdecl, dynlib: pangolib, + importc: "pango_layout_iter_get_line_yrange".} +proc pango_layout_iter_get_layout_extents*(iter: PPangoLayoutIter, + ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_get_layout_extents".} +proc pango_layout_iter_get_baseline*(iter: PPangoLayoutIter): int32{.cdecl, + dynlib: pangolib, importc: "pango_layout_iter_get_baseline".} +proc PANGO_TYPE_TAB_ARRAY*(): GType +proc pango_tab_array_new*(initial_size: gint, positions_in_pixels: gboolean): PPangoTabArray{. + cdecl, dynlib: pangolib, importc: "pango_tab_array_new".} +proc pango_tab_array_get_type*(): GType{.cdecl, dynlib: pangolib, + importc: "pango_tab_array_get_type".} +proc pango_tab_array_copy*(src: PPangoTabArray): PPangoTabArray{.cdecl, + dynlib: pangolib, importc: "pango_tab_array_copy".} +proc pango_tab_array_free*(tab_array: PPangoTabArray){.cdecl, dynlib: pangolib, + importc: "pango_tab_array_free".} +proc pango_tab_array_get_size*(tab_array: PPangoTabArray): gint{.cdecl, + dynlib: pangolib, importc: "pango_tab_array_get_size".} +proc pango_tab_array_resize*(tab_array: PPangoTabArray, new_size: gint){.cdecl, + dynlib: pangolib, importc: "pango_tab_array_resize".} +proc pango_tab_array_set_tab*(tab_array: PPangoTabArray, tab_index: gint, + alignment: TPangoTabAlign, location: gint){.cdecl, + dynlib: pangolib, importc: "pango_tab_array_set_tab".} +proc pango_tab_array_get_tab*(tab_array: PPangoTabArray, tab_index: gint, + alignment: PPangoTabAlign, location: Pgint){. + cdecl, dynlib: pangolib, importc: "pango_tab_array_get_tab".} +proc pango_tab_array_get_positions_in_pixels*(tab_array: PPangoTabArray): gboolean{. + cdecl, dynlib: pangolib, importc: "pango_tab_array_get_positions_in_pixels".} +proc PANGO_ASCENT*(rect: TPangoRectangle): int32 = + result = - int(rect.y) + +proc PANGO_DESCENT*(rect: TPangoRectangle): int32 = + result = int(rect.y) + int(rect.height) + +proc PANGO_LBEARING*(rect: TPangoRectangle): int32 = + result = rect.x + +proc PANGO_RBEARING*(rect: TPangoRectangle): int32 = + result = (rect.x) + (rect.width) + +proc PANGO_TYPE_LANGUAGE*(): GType = + result = pango_language_get_type() + +proc pango_language_to_string*(language: PPangoLanguage): cstring = + result = cast[cstring](language) + +proc PANGO_PIXELS*(d: int): int = + if d >= 0: + result = (d + (PANGO_SCALE div 2)) div PANGO_SCALE + else: + result = (d - (PANGO_SCALE div 2)) div PANGO_SCALE + +proc PANGO_TYPE_COLOR*(): GType = + result = pango_color_get_type() + +proc PANGO_TYPE_ATTR_LIST*(): GType = + result = pango_attr_list_get_type() + +proc is_line_break*(a: var TPangoLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_line_break) shr + bp_TPangoLogAttr_is_line_break + +proc set_is_line_break*(a: var TPangoLogAttr, `is_line_break`: guint) = + a.flag0 = a.flag0 or + (int16(`is_line_break` shl bp_TPangoLogAttr_is_line_break) and + bm_TPangoLogAttr_is_line_break) + +proc is_mandatory_break*(a: var TPangoLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_mandatory_break) shr + bp_TPangoLogAttr_is_mandatory_break + +proc set_is_mandatory_break*(a: var TPangoLogAttr, `is_mandatory_break`: guint) = + a.flag0 = a.flag0 or + (int16(`is_mandatory_break` shl bp_TPangoLogAttr_is_mandatory_break) and + bm_TPangoLogAttr_is_mandatory_break) + +proc is_char_break*(a: var TPangoLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_char_break) shr + bp_TPangoLogAttr_is_char_break + +proc set_is_char_break*(a: var TPangoLogAttr, `is_char_break`: guint) = + a.flag0 = a.flag0 or + (int16(`is_char_break` shl bp_TPangoLogAttr_is_char_break) and + bm_TPangoLogAttr_is_char_break) + +proc is_white*(a: var TPangoLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_white) shr + bp_TPangoLogAttr_is_white + +proc set_is_white*(a: var TPangoLogAttr, `is_white`: guint) = + a.flag0 = a.flag0 or + (int16(`is_white` shl bp_TPangoLogAttr_is_white) and + bm_TPangoLogAttr_is_white) + +proc is_cursor_position*(a: var TPangoLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_cursor_position) shr + bp_TPangoLogAttr_is_cursor_position + +proc set_is_cursor_position*(a: var TPangoLogAttr, `is_cursor_position`: guint) = + a.flag0 = a.flag0 or + (int16(`is_cursor_position` shl bp_TPangoLogAttr_is_cursor_position) and + bm_TPangoLogAttr_is_cursor_position) + +proc is_word_start*(a: var TPangoLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_word_start) shr + bp_TPangoLogAttr_is_word_start + +proc set_is_word_start*(a: var TPangoLogAttr, `is_word_start`: guint) = + a.flag0 = a.flag0 or + (int16(`is_word_start` shl bp_TPangoLogAttr_is_word_start) and + bm_TPangoLogAttr_is_word_start) + +proc is_word_end*(a: var TPangoLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_word_end) shr + bp_TPangoLogAttr_is_word_end + +proc set_is_word_end*(a: var TPangoLogAttr, `is_word_end`: guint) = + a.flag0 = a.flag0 or + (int16(`is_word_end` shl bp_TPangoLogAttr_is_word_end) and + bm_TPangoLogAttr_is_word_end) + +proc is_sentence_boundary*(a: var TPangoLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_sentence_boundary) shr + bp_TPangoLogAttr_is_sentence_boundary + +proc set_is_sentence_boundary*(a: var TPangoLogAttr, + `is_sentence_boundary`: guint) = + a.flag0 = a.flag0 or + (int16(`is_sentence_boundary` shl bp_TPangoLogAttr_is_sentence_boundary) and + bm_TPangoLogAttr_is_sentence_boundary) + +proc is_sentence_start*(a: var TPangoLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_sentence_start) shr + bp_TPangoLogAttr_is_sentence_start + +proc set_is_sentence_start*(a: var TPangoLogAttr, `is_sentence_start`: guint) = + a.flag0 = a.flag0 or + (int16(`is_sentence_start` shl bp_TPangoLogAttr_is_sentence_start) and + bm_TPangoLogAttr_is_sentence_start) + +proc is_sentence_end*(a: var TPangoLogAttr): guint = + result = (a.flag0 and bm_TPangoLogAttr_is_sentence_end) shr + bp_TPangoLogAttr_is_sentence_end + +proc set_is_sentence_end*(a: var TPangoLogAttr, `is_sentence_end`: guint) = + a.flag0 = a.flag0 or + (int16(`is_sentence_end` shl bp_TPangoLogAttr_is_sentence_end) and + bm_TPangoLogAttr_is_sentence_end) + +proc PANGO_TYPE_CONTEXT*(): GType = + result = pango_context_get_type() + +proc PANGO_CONTEXT*(anObject: pointer): PPangoContext = + result = cast[PPangoContext](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_CONTEXT())) + +proc PANGO_CONTEXT_CLASS*(klass: pointer): PPangoContextClass = + result = cast[PPangoContextClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_CONTEXT())) + +proc PANGO_IS_CONTEXT*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_CONTEXT()) + +proc PANGO_IS_CONTEXT_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_CONTEXT()) + +proc PANGO_CONTEXT_GET_CLASS*(obj: PPangoContext): PPangoContextClass = + result = cast[PPangoContextClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_CONTEXT())) + +proc PANGO_TYPE_FONTSET*(): GType = + result = pango_fontset_get_type() + +proc PANGO_FONTSET*(anObject: pointer): PPangoFontset = + result = cast[PPangoFontset](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_FONTSET())) + +proc PANGO_IS_FONTSET*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONTSET()) + +proc PANGO_FONTSET_CLASS*(klass: pointer): PPangoFontsetClass = + result = cast[PPangoFontsetClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONTSET())) + +proc PANGO_IS_FONTSET_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONTSET()) + +proc PANGO_FONTSET_GET_CLASS*(obj: PPangoFontset): PPangoFontsetClass = + result = cast[PPangoFontsetClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONTSET())) + +proc pango_fontset_simple_get_type(): GType {.importc, cdecl, dynlib: pangolib.} + +proc PANGO_TYPE_FONTSET_SIMPLE*(): GType = + result = pango_fontset_simple_get_type() + +proc PANGO_FONTSET_SIMPLE*(anObject: pointer): PPangoFontsetSimple = + result = cast[PPangoFontsetSimple](G_TYPE_CHECK_INSTANCE_CAST(anObject, + PANGO_TYPE_FONTSET_SIMPLE())) + +proc PANGO_IS_FONTSET_SIMPLE*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONTSET_SIMPLE()) + +proc PANGO_TYPE_FONT_DESCRIPTION*(): GType = + result = pango_font_description_get_type() + +proc PANGO_TYPE_FONT_METRICS*(): GType = + result = pango_font_metrics_get_type() + +proc PANGO_TYPE_FONT_FAMILY*(): GType = + result = pango_font_family_get_type() + +proc PANGO_FONT_FAMILY*(anObject: pointer): PPangoFontFamily = + result = cast[PPangoFontFamily](G_TYPE_CHECK_INSTANCE_CAST(anObject, + PANGO_TYPE_FONT_FAMILY())) + +proc PANGO_IS_FONT_FAMILY*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_FAMILY()) + +proc PANGO_FONT_FAMILY_CLASS*(klass: Pointer): PPangoFontFamilyClass = + result = cast[PPangoFontFamilyClass](G_TYPE_CHECK_CLASS_CAST(klass, + PANGO_TYPE_FONT_FAMILY())) + +proc PANGO_IS_FONT_FAMILY_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_FAMILY()) + +proc PANGO_FONT_FAMILY_GET_CLASS*(obj: PPangoFontFamily): PPangoFontFamilyClass = + result = cast[PPangoFontFamilyClass](G_TYPE_INSTANCE_GET_CLASS(obj, + PANGO_TYPE_FONT_FAMILY())) + +proc PANGO_TYPE_FONT_FACE*(): GType = + result = pango_font_face_get_type() + +proc PANGO_FONT_FACE*(anObject: Pointer): PPangoFontFace = + result = cast[PPangoFontFace](G_TYPE_CHECK_INSTANCE_CAST(anObject, + PANGO_TYPE_FONT_FACE())) + +proc PANGO_IS_FONT_FACE*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_FACE()) + +proc PANGO_FONT_FACE_CLASS*(klass: Pointer): PPangoFontFaceClass = + result = cast[PPangoFontFaceClass](G_TYPE_CHECK_CLASS_CAST(klass, + PANGO_TYPE_FONT_FACE())) + +proc PANGO_IS_FONT_FACE_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_FACE()) + +proc PANGO_FONT_FACE_GET_CLASS*(obj: Pointer): PPangoFontFaceClass = + result = cast[PPangoFontFaceClass](G_TYPE_INSTANCE_GET_CLASS(obj, + PANGO_TYPE_FONT_FACE())) + +proc PANGO_TYPE_FONT*(): GType = + result = pango_font_get_type() + +proc PANGO_FONT*(anObject: Pointer): PPangoFont = + result = cast[PPangoFont](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_FONT())) + +proc PANGO_IS_FONT*(anObject: Pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT()) + +proc PANGO_FONT_CLASS*(klass: Pointer): PPangoFontClass = + result = cast[PPangoFontClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONT())) + +proc PANGO_IS_FONT_CLASS*(klass: Pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT()) + +proc PANGO_FONT_GET_CLASS*(obj: PPangoFont): PPangoFontClass = + result = cast[PPangoFontClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONT())) + +proc PANGO_TYPE_FONT_MAP*(): GType = + result = pango_font_map_get_type() + +proc PANGO_FONT_MAP*(anObject: pointer): PPangoFontmap = + result = cast[PPangoFontmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, + PANGO_TYPE_FONT_MAP())) + +proc PANGO_IS_FONT_MAP*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_MAP()) + +proc PANGO_FONT_MAP_CLASS*(klass: pointer): PPangoFontMapClass = + result = cast[PPangoFontMapClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONT_MAP())) + +proc PANGO_IS_FONT_MAP_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_MAP()) + +proc PANGO_FONT_MAP_GET_CLASS*(obj: PPangoFontMap): PPangoFontMapClass = + result = cast[PPangoFontMapClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONT_MAP())) + +proc is_cluster_start*(a: var TPangoGlyphVisAttr): guint = + result = (a.flag0 and bm_TPangoGlyphVisAttr_is_cluster_start) shr + bp_TPangoGlyphVisAttr_is_cluster_start + +proc set_is_cluster_start*(a: var TPangoGlyphVisAttr, `is_cluster_start`: guint) = + a.flag0 = a.flag0 or + (int16(`is_cluster_start` shl bp_TPangoGlyphVisAttr_is_cluster_start) and + bm_TPangoGlyphVisAttr_is_cluster_start) + +proc PANGO_TYPE_GLYPH_STRING*(): GType = + result = pango_glyph_string_get_type() + +proc PANGO_TYPE_LAYOUT*(): GType = + result = pango_layout_get_type() + +proc PANGO_LAYOUT*(anObject: pointer): PPangoLayout = + result = cast[PPangoLayout](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_LAYOUT())) + +proc PANGO_LAYOUT_CLASS*(klass: pointer): PPangoLayoutClass = + result = cast[PPangoLayoutClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_LAYOUT())) + +proc PANGO_IS_LAYOUT*(anObject: pointer): bool = + result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_LAYOUT()) + +proc PANGO_IS_LAYOUT_CLASS*(klass: pointer): bool = + result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_LAYOUT()) + +proc PANGO_LAYOUT_GET_CLASS*(obj: PPangoLayout): PPangoLayoutClass = + result = cast[PPangoLayoutClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_LAYOUT())) + +proc PANGO_TYPE_TAB_ARRAY*(): GType = + result = pango_tab_array_get_type() |