From a9634b933f71a9045e61d29c486f2d51d39fd1e2 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Mon, 23 Dec 2024 12:25:59 +0100 Subject: Add gobject-introspection generated bindings Uses the gir2pascal tool from the Lazarus IDE project, see https://wiki.freepascal.org/gir2pascal Generating gtk3 bindings involves generating all its dependencies, including glib2, etc. As long as the generated units have number of issues getting this compiled, using a copy of gtk3bindings from Lazarus for the moment. --- bindings/lazpango1.pas | 2950 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2950 insertions(+) create mode 100644 bindings/lazpango1.pas (limited to 'bindings/lazpango1.pas') diff --git a/bindings/lazpango1.pas b/bindings/lazpango1.pas new file mode 100644 index 0000000..a93f1f8 --- /dev/null +++ b/bindings/lazpango1.pas @@ -0,0 +1,2950 @@ +{ This is an autogenerated unit using gobject introspection (gir2pascal). Do not Edit. } +unit LazPango1; + +{$MODE OBJFPC}{$H+} + +{$PACKRECORDS C} +{$MODESWITCH DUPLICATELOCALS+} + +{$ifdef Unix} +{$LINKLIB libpango-1.0.so.0} +{$endif} +{$WARN 3031 off : Values in enumeration types have to be ascending} +interface +uses + CTypes, LazGObject2, LazGio2, LazHarfBuzz0, Lazcairo1, LazGLib2; + +const + {$ifdef MsWindows} + LazPango1_library = 'libpango-1.0.so.dll'; + {$else} + LazPango1_library = 'libpango-1.0.so.0'; + {$endif} + + PANGO_ANALYSIS_FLAG_CENTERED_BASELINE = 1; + PANGO_ANALYSIS_FLAG_IS_ELLIPSIS = 2; + PANGO_ANALYSIS_FLAG_NEED_HYPHEN = 4; + PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING = 0; + PANGO_ATTR_INDEX_TO_TEXT_END = 4294967295; + PANGO_GLYPH_EMPTY = 268435455; + PANGO_GLYPH_INVALID_INPUT = 4294967295; + PANGO_GLYPH_UNKNOWN_FLAG = 268435456; + PANGO_SCALE = 1024; + PANGO_VERSION_MAJOR = 1; + PANGO_VERSION_MICRO = 12; + PANGO_VERSION_MINOR = 50; + PANGO_VERSION_STRING_ = '1.50.12'; +type + TPangoAlignment = ( + TPangoAlignmentMinValue = -$7FFFFFFF, + PANGO_ALIGN_LEFT = 0, + PANGO_ALIGN_CENTER = 1, + PANGO_ALIGN_RIGHT = 2, + TPangoAlignmentMaxValue = $7FFFFFFF + ); + TPangoScript = ( + TPangoScriptMinValue = -$7FFFFFFF, + PANGO_SCRIPT_INVALID_CODE = -1, + PANGO_SCRIPT_COMMON = 0, + PANGO_SCRIPT_INHERITED = 1, + PANGO_SCRIPT_ARABIC = 2, + PANGO_SCRIPT_ARMENIAN = 3, + PANGO_SCRIPT_BENGALI = 4, + PANGO_SCRIPT_BOPOMOFO = 5, + PANGO_SCRIPT_CHEROKEE = 6, + PANGO_SCRIPT_COPTIC = 7, + PANGO_SCRIPT_CYRILLIC = 8, + PANGO_SCRIPT_DESERET = 9, + PANGO_SCRIPT_DEVANAGARI = 10, + PANGO_SCRIPT_ETHIOPIC = 11, + PANGO_SCRIPT_GEORGIAN = 12, + PANGO_SCRIPT_GOTHIC = 13, + PANGO_SCRIPT_GREEK = 14, + PANGO_SCRIPT_GUJARATI = 15, + PANGO_SCRIPT_GURMUKHI = 16, + PANGO_SCRIPT_HAN = 17, + PANGO_SCRIPT_HANGUL = 18, + PANGO_SCRIPT_HEBREW = 19, + PANGO_SCRIPT_HIRAGANA = 20, + PANGO_SCRIPT_KANNADA = 21, + PANGO_SCRIPT_KATAKANA = 22, + PANGO_SCRIPT_KHMER = 23, + PANGO_SCRIPT_LAO = 24, + PANGO_SCRIPT_LATIN = 25, + PANGO_SCRIPT_MALAYALAM = 26, + PANGO_SCRIPT_MONGOLIAN = 27, + PANGO_SCRIPT_MYANMAR = 28, + PANGO_SCRIPT_OGHAM = 29, + PANGO_SCRIPT_OLD_ITALIC = 30, + PANGO_SCRIPT_ORIYA = 31, + PANGO_SCRIPT_RUNIC = 32, + PANGO_SCRIPT_SINHALA = 33, + PANGO_SCRIPT_SYRIAC = 34, + PANGO_SCRIPT_TAMIL = 35, + PANGO_SCRIPT_TELUGU = 36, + PANGO_SCRIPT_THAANA = 37, + PANGO_SCRIPT_THAI = 38, + PANGO_SCRIPT_TIBETAN = 39, + PANGO_SCRIPT_CANADIAN_ABORIGINAL = 40, + PANGO_SCRIPT_YI = 41, + PANGO_SCRIPT_TAGALOG = 42, + PANGO_SCRIPT_HANUNOO = 43, + PANGO_SCRIPT_BUHID = 44, + PANGO_SCRIPT_TAGBANWA = 45, + PANGO_SCRIPT_BRAILLE = 46, + PANGO_SCRIPT_CYPRIOT = 47, + PANGO_SCRIPT_LIMBU = 48, + PANGO_SCRIPT_OSMANYA = 49, + PANGO_SCRIPT_SHAVIAN = 50, + PANGO_SCRIPT_LINEAR_B = 51, + PANGO_SCRIPT_TAI_LE = 52, + PANGO_SCRIPT_UGARITIC = 53, + PANGO_SCRIPT_NEW_TAI_LUE = 54, + PANGO_SCRIPT_BUGINESE = 55, + PANGO_SCRIPT_GLAGOLITIC = 56, + PANGO_SCRIPT_TIFINAGH = 57, + PANGO_SCRIPT_SYLOTI_NAGRI = 58, + PANGO_SCRIPT_OLD_PERSIAN = 59, + PANGO_SCRIPT_KHAROSHTHI = 60, + PANGO_SCRIPT_UNKNOWN = 61, + PANGO_SCRIPT_BALINESE = 62, + PANGO_SCRIPT_CUNEIFORM = 63, + PANGO_SCRIPT_PHOENICIAN = 64, + PANGO_SCRIPT_PHAGS_PA = 65, + PANGO_SCRIPT_NKO = 66, + PANGO_SCRIPT_KAYAH_LI = 67, + PANGO_SCRIPT_LEPCHA = 68, + PANGO_SCRIPT_REJANG = 69, + PANGO_SCRIPT_SUNDANESE = 70, + PANGO_SCRIPT_SAURASHTRA = 71, + PANGO_SCRIPT_CHAM = 72, + PANGO_SCRIPT_OL_CHIKI = 73, + PANGO_SCRIPT_VAI = 74, + PANGO_SCRIPT_CARIAN = 75, + PANGO_SCRIPT_LYCIAN = 76, + PANGO_SCRIPT_LYDIAN = 77, + PANGO_SCRIPT_BATAK = 78, + PANGO_SCRIPT_BRAHMI = 79, + PANGO_SCRIPT_MANDAIC = 80, + PANGO_SCRIPT_CHAKMA = 81, + PANGO_SCRIPT_MEROITIC_CURSIVE = 82, + PANGO_SCRIPT_MEROITIC_HIEROGLYPHS = 83, + PANGO_SCRIPT_MIAO = 84, + PANGO_SCRIPT_SHARADA = 85, + PANGO_SCRIPT_SORA_SOMPENG = 86, + PANGO_SCRIPT_TAKRI = 87, + PANGO_SCRIPT_BASSA_VAH = 88, + PANGO_SCRIPT_CAUCASIAN_ALBANIAN = 89, + PANGO_SCRIPT_DUPLOYAN = 90, + PANGO_SCRIPT_ELBASAN = 91, + PANGO_SCRIPT_GRANTHA = 92, + PANGO_SCRIPT_KHOJKI = 93, + PANGO_SCRIPT_KHUDAWADI = 94, + PANGO_SCRIPT_LINEAR_A = 95, + PANGO_SCRIPT_MAHAJANI = 96, + PANGO_SCRIPT_MANICHAEAN = 97, + PANGO_SCRIPT_MENDE_KIKAKUI = 98, + PANGO_SCRIPT_MODI = 99, + PANGO_SCRIPT_MRO = 100, + PANGO_SCRIPT_NABATAEAN = 101, + PANGO_SCRIPT_OLD_NORTH_ARABIAN = 102, + PANGO_SCRIPT_OLD_PERMIC = 103, + PANGO_SCRIPT_PAHAWH_HMONG = 104, + PANGO_SCRIPT_PALMYRENE = 105, + PANGO_SCRIPT_PAU_CIN_HAU = 106, + PANGO_SCRIPT_PSALTER_PAHLAVI = 107, + PANGO_SCRIPT_SIDDHAM = 108, + PANGO_SCRIPT_TIRHUTA = 109, + PANGO_SCRIPT_WARANG_CITI = 110, + PANGO_SCRIPT_AHOM = 111, + PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS = 112, + PANGO_SCRIPT_HATRAN = 113, + PANGO_SCRIPT_MULTANI = 114, + PANGO_SCRIPT_OLD_HUNGARIAN = 115, + PANGO_SCRIPT_SIGNWRITING = 116, + TPangoScriptMaxValue = $7FFFFFFF + ); + TPangoAttrType = ( + TPangoAttrTypeMinValue = -$7FFFFFFF, + 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_ATTR_FALLBACK = 16, + PANGO_ATTR_LETTER_SPACING = 17, + PANGO_ATTR_UNDERLINE_COLOR = 18, + PANGO_ATTR_STRIKETHROUGH_COLOR = 19, + PANGO_ATTR_ABSOLUTE_SIZE = 20, + PANGO_ATTR_GRAVITY = 21, + PANGO_ATTR_GRAVITY_HINT = 22, + PANGO_ATTR_FONT_FEATURES = 23, + PANGO_ATTR_FOREGROUND_ALPHA = 24, + PANGO_ATTR_BACKGROUND_ALPHA = 25, + PANGO_ATTR_ALLOW_BREAKS = 26, + PANGO_ATTR_SHOW = 27, + PANGO_ATTR_INSERT_HYPHENS = 28, + PANGO_ATTR_OVERLINE = 29, + PANGO_ATTR_OVERLINE_COLOR = 30, + PANGO_ATTR_LINE_HEIGHT = 31, + PANGO_ATTR_ABSOLUTE_LINE_HEIGHT = 32, + PANGO_ATTR_TEXT_TRANSFORM = 33, + PANGO_ATTR_WORD = 34, + PANGO_ATTR_SENTENCE = 35, + PANGO_ATTR_BASELINE_SHIFT = 36, + PANGO_ATTR_FONT_SCALE = 37, + TPangoAttrTypeMaxValue = $7FFFFFFF + ); + TPangoFontMaskIdx = ( + TPangoFontMaskIdxMinValue = 0, + PANGO_FONT_MASK_FAMILY = 0, + PANGO_FONT_MASK_STYLE = 1, + PANGO_FONT_MASK_VARIANT = 2, + PANGO_FONT_MASK_WEIGHT = 3, + PANGO_FONT_MASK_STRETCH = 4, + PANGO_FONT_MASK_SIZE = 5, + PANGO_FONT_MASK_GRAVITY = 6, + PANGO_FONT_MASK_VARIATIONS = 7, + TPangoFontMaskIdxMaxValue = 31 + ); + TPangoFontMask = Set of TPangoFontMaskIdx; + TPangoGravity = ( + TPangoGravityMinValue = -$7FFFFFFF, + PANGO_GRAVITY_SOUTH = 0, + PANGO_GRAVITY_EAST = 1, + PANGO_GRAVITY_NORTH = 2, + PANGO_GRAVITY_WEST = 3, + PANGO_GRAVITY_AUTO = 4, + TPangoGravityMaxValue = $7FFFFFFF + ); + TPangoStretch = ( + TPangoStretchMinValue = -$7FFFFFFF, + 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, + TPangoStretchMaxValue = $7FFFFFFF + ); + TPangoStyle = ( + TPangoStyleMinValue = -$7FFFFFFF, + PANGO_STYLE_NORMAL = 0, + PANGO_STYLE_OBLIQUE = 1, + PANGO_STYLE_ITALIC = 2, + TPangoStyleMaxValue = $7FFFFFFF + ); + TPangoVariant = ( + TPangoVariantMinValue = -$7FFFFFFF, + PANGO_VARIANT_NORMAL = 0, + PANGO_VARIANT_SMALL_CAPS = 1, + PANGO_VARIANT_ALL_SMALL_CAPS = 2, + PANGO_VARIANT_PETITE_CAPS = 3, + PANGO_VARIANT_ALL_PETITE_CAPS = 4, + PANGO_VARIANT_UNICASE = 5, + PANGO_VARIANT_TITLE_CAPS = 6, + TPangoVariantMaxValue = $7FFFFFFF + ); + TPangoWeight = ( + TPangoWeightMinValue = -$7FFFFFFF, + PANGO_WEIGHT_THIN = 100, + PANGO_WEIGHT_ULTRALIGHT = 200, + PANGO_WEIGHT_LIGHT = 300, + PANGO_WEIGHT_SEMILIGHT = 350, + PANGO_WEIGHT_BOOK = 380, + PANGO_WEIGHT_NORMAL = 400, + PANGO_WEIGHT_MEDIUM = 500, + PANGO_WEIGHT_SEMIBOLD = 600, + PANGO_WEIGHT_BOLD = 700, + PANGO_WEIGHT_ULTRABOLD = 800, + PANGO_WEIGHT_HEAVY = 900, + PANGO_WEIGHT_ULTRAHEAVY = 1000, + TPangoWeightMaxValue = $7FFFFFFF + ); + TPangoDirection = ( + TPangoDirectionMinValue = -$7FFFFFFF, + PANGO_DIRECTION_LTR = 0, + PANGO_DIRECTION_RTL = 1, + PANGO_DIRECTION_TTB_LTR = 2, + PANGO_DIRECTION_TTB_RTL = 3, + PANGO_DIRECTION_WEAK_LTR = 4, + PANGO_DIRECTION_WEAK_RTL = 5, + PANGO_DIRECTION_NEUTRAL = 6, + TPangoDirectionMaxValue = $7FFFFFFF + ); + TPangoGravityHint = ( + TPangoGravityHintMinValue = -$7FFFFFFF, + PANGO_GRAVITY_HINT_NATURAL = 0, + PANGO_GRAVITY_HINT_STRONG = 1, + PANGO_GRAVITY_HINT_LINE = 2, + TPangoGravityHintMaxValue = $7FFFFFFF + ); + TPangoCoverageLevel = ( + TPangoCoverageLevelMinValue = -$7FFFFFFF, + PANGO_COVERAGE_NONE = 0, + PANGO_COVERAGE_FALLBACK = 1, + PANGO_COVERAGE_APPROXIMATE = 2, + PANGO_COVERAGE_EXACT = 3, + TPangoCoverageLevelMaxValue = $7FFFFFFF + ); + TPangoEllipsizeMode = ( + TPangoEllipsizeModeMinValue = -$7FFFFFFF, + PANGO_ELLIPSIZE_NONE = 0, + PANGO_ELLIPSIZE_START = 1, + PANGO_ELLIPSIZE_MIDDLE = 2, + PANGO_ELLIPSIZE_END = 3, + TPangoEllipsizeModeMaxValue = $7FFFFFFF + ); + TPangoWrapMode = ( + TPangoWrapModeMinValue = -$7FFFFFFF, + PANGO_WRAP_WORD = 0, + PANGO_WRAP_CHAR = 1, + PANGO_WRAP_WORD_CHAR = 2, + TPangoWrapModeMaxValue = $7FFFFFFF + ); + TPangoTabAlign = ( + TPangoTabAlignMinValue = -$7FFFFFFF, + PANGO_TAB_LEFT = 0, + PANGO_TAB_RIGHT = 1, + PANGO_TAB_CENTER = 2, + PANGO_TAB_DECIMAL = 3, + TPangoTabAlignMaxValue = $7FFFFFFF + ); + TPangoRenderPart = ( + TPangoRenderPartMinValue = -$7FFFFFFF, + PANGO_RENDER_PART_FOREGROUND = 0, + PANGO_RENDER_PART_BACKGROUND = 1, + PANGO_RENDER_PART_UNDERLINE = 2, + PANGO_RENDER_PART_STRIKETHROUGH = 3, + PANGO_RENDER_PART_OVERLINE = 4, + TPangoRenderPartMaxValue = $7FFFFFFF + ); + TPangoUnderline = ( + TPangoUnderlineMinValue = -$7FFFFFFF, + PANGO_UNDERLINE_NONE = 0, + PANGO_UNDERLINE_SINGLE = 1, + PANGO_UNDERLINE_DOUBLE = 2, + PANGO_UNDERLINE_LOW = 3, + PANGO_UNDERLINE_ERROR = 4, + PANGO_UNDERLINE_SINGLE_LINE = 5, + PANGO_UNDERLINE_DOUBLE_LINE = 6, + PANGO_UNDERLINE_ERROR_LINE = 7, + TPangoUnderlineMaxValue = $7FFFFFFF + ); +type + + + { TPangoGlyph } + PPPangoGlyph = ^PPangoGlyph; + PPangoGlyph = ^TPangoGlyph; + TPangoGlyph = guint32; + + + { TPangoGlyphUnit } + PPPangoGlyphUnit = ^PPangoGlyphUnit; + PPangoGlyphUnit = ^TPangoGlyphUnit; + TPangoGlyphUnit = gint32; + + + { TPangoGlyphItem } + PPPangoGlyphItem = ^PPangoGlyphItem; + PPangoGlyphItem = ^TPangoGlyphItem; + + + { TPangoAttrList } + PPPangoAttrList = ^PPangoAttrList; + PPangoAttrList = ^TPangoAttrList; + + + { TPangoLogAttr } + PPPPangoLogAttr = ^PPPangoLogAttr; + PPPangoLogAttr = ^PPangoLogAttr; + PPangoLogAttr = ^TPangoLogAttr; + + + { TPangoItem } + PPPangoItem = ^PPangoItem; + PPangoItem = ^TPangoItem; + + + { TPangoGlyphString } + PPPangoGlyphString = ^PPangoGlyphString; + PPangoGlyphString = ^TPangoGlyphString; + TPangoGlyphItem = object + item: PPangoItem; + glyphs: PPangoGlyphString; + y_offset: gint; + start_x_offset: gint; + end_x_offset: gint; + function apply_attrs(text: Pgchar; list: PPangoAttrList): PGSList; cdecl; inline; + procedure free; cdecl; inline; + procedure letter_space(text: Pgchar; log_attrs: PPangoLogAttr; letter_spacing: gint); cdecl; inline; + function split(text: Pgchar; split_index: gint): PPangoGlyphItem; cdecl; inline; + end; + + + { TPangoLayoutRun } + PPPangoLayoutRun = ^PPangoLayoutRun; + PPangoLayoutRun = ^TPangoLayoutRun; + TPangoLayoutRun = TPangoGlyphItem; + + + { TPangoAlignment } + PPPangoAlignment = ^PPangoAlignment; + PPangoAlignment = ^TPangoAlignment; + + + { TPangoFont } + PPPangoFont = ^PPangoFont; + PPangoFont = ^TPangoFont; + + + { TPangoFontDescription } + PPPangoFontDescription = ^PPangoFontDescription; + PPangoFontDescription = ^TPangoFontDescription; + + + { TPangoCoverage } + PPPangoCoverage = ^PPangoCoverage; + PPangoCoverage = ^TPangoCoverage; + + + { TPangoLanguage } + PPPangoLanguage = ^PPangoLanguage; + PPangoLanguage = ^TPangoLanguage; + + + { TPangoFontMap } + PPPangoFontMap = ^PPangoFontMap; + PPangoFontMap = ^TPangoFontMap; + + + { TPangoRectangle } + PPPangoRectangle = ^PPangoRectangle; + PPangoRectangle = ^TPangoRectangle; + + + { TPangoFontMetrics } + PPPangoFontMetrics = ^PPangoFontMetrics; + PPangoFontMetrics = ^TPangoFontMetrics; + TPangoFont = object(TGObject) + procedure descriptions_free(descs: PPPangoFontDescription; n_descs: gint); cdecl; inline; static; + function describe: PPangoFontDescription; cdecl; inline; + function describe_with_absolute_size: PPangoFontDescription; cdecl; inline; + function get_coverage(language: PPangoLanguage): PPangoCoverage; cdecl; inline; + function get_font_map: PPangoFontMap; cdecl; inline; + procedure get_glyph_extents(glyph: TPangoGlyph; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline; + function get_metrics(language: PPangoLanguage): PPangoFontMetrics; cdecl; inline; + end; + + + { TPangoScript } + PPPangoScript = ^PPangoScript; + PPangoScript = ^TPangoScript; + TPangoLanguage = object + function get_sample_string: Pgchar; cdecl; inline; + function includes_script(script: TPangoScript): gboolean; cdecl; inline; + function matches(range_list: Pgchar): gboolean; cdecl; inline; + function to_string: Pgchar; cdecl; inline; + function from_string(language: Pgchar): PPangoLanguage; cdecl; inline; static; + function get_default: PPangoLanguage; cdecl; inline; static; + end; + + + { TPangoAnalysis } + PPPangoAnalysis = ^PPangoAnalysis; + PPangoAnalysis = ^TPangoAnalysis; + + TPangoAnalysis = record + shape_engine: gpointer; + lang_engine: gpointer; + font: PPangoFont; + level: guint8; + gravity: guint8; + flags: guint8; + script: guint8; + language: PPangoLanguage; + extra_attrs: PGSList; + end; + + + + + { TPangoAttrType } + PPPangoAttrType = ^PPangoAttrType; + PPangoAttrType = ^TPangoAttrType; + + + { TPangoAttribute } + PPPangoAttribute = ^PPangoAttribute; + PPangoAttribute = ^TPangoAttribute; + + + { TPangoAttrClass } + PPPangoAttrClass = ^PPangoAttrClass; + PPangoAttrClass = ^TPangoAttrClass; + TPangoAttribute = object + klass: PPangoAttrClass; + start_index: guint; + end_index: guint; + function copy: PPangoAttribute; cdecl; inline; + procedure destroy_; cdecl; inline; + function equal(attr2: PPangoAttribute): gboolean; cdecl; inline; + end; + + TPangoAttrClass = record + type_: TPangoAttrType; + copy: function(attr: PPangoAttribute): PPangoAttribute; cdecl; + destroy_: procedure(attr: PPangoAttribute); cdecl; + equal: function(attr1: PPangoAttribute; attr2: PPangoAttribute): gboolean; cdecl; + end; + + + + + { TPangoColor } + PPPangoColor = ^PPangoColor; + PPangoColor = ^TPangoColor; + TPangoColor = object + red: guint16; + green: guint16; + blue: guint16; + function copy: PPangoColor; cdecl; inline; + procedure free; cdecl; inline; + function parse(spec: Pgchar): gboolean; cdecl; inline; + function to_string: Pgchar; cdecl; inline; + end; + + + { TPangoAttrColor } + PPPangoAttrColor = ^PPangoAttrColor; + PPangoAttrColor = ^TPangoAttrColor; + + TPangoAttrColor = record + attr: TPangoAttribute; + color: TPangoColor; + end; + + + TPangoAttrDataCopyFunc = function(user_data: Pgpointer): gpointer; cdecl; + TPangoAttrFilterFunc = function(attribute: PPangoAttribute; user_data: gpointer): gboolean; cdecl; + + + { TPangoAttrFloat } + PPPangoAttrFloat = ^PPangoAttrFloat; + PPangoAttrFloat = ^TPangoAttrFloat; + + TPangoAttrFloat = record + attr: TPangoAttribute; + value: gdouble; + end; + + + + + { TPangoGravity } + PPPangoGravity = ^PPangoGravity; + PPangoGravity = ^TPangoGravity; + + + { TPangoFontMask } + PPPangoFontMask = ^PPangoFontMask; + PPangoFontMask = ^TPangoFontMask; + + + { TPangoStretch } + PPPangoStretch = ^PPangoStretch; + PPangoStretch = ^TPangoStretch; + + + { TPangoStyle } + PPPangoStyle = ^PPangoStyle; + PPangoStyle = ^TPangoStyle; + + + { TPangoVariant } + PPPangoVariant = ^PPangoVariant; + PPangoVariant = ^TPangoVariant; + + + { TPangoWeight } + PPPangoWeight = ^PPangoWeight; + PPangoWeight = ^TPangoWeight; + TPangoFontDescription = object + function new: PPangoFontDescription; cdecl; inline; static; + function better_match(old_match: PPangoFontDescription; new_match: PPangoFontDescription): gboolean; cdecl; inline; + function copy: PPangoFontDescription; cdecl; inline; + function copy_static: PPangoFontDescription; cdecl; inline; + function equal(desc2: PPangoFontDescription): gboolean; cdecl; inline; + procedure free; cdecl; inline; + function get_family: Pgchar; cdecl; inline; + function get_gravity: TPangoGravity; cdecl; inline; + function get_set_fields: TPangoFontMask; cdecl; inline; + function get_size: gint; cdecl; inline; + function get_size_is_absolute: gboolean; cdecl; inline; + function get_stretch: TPangoStretch; cdecl; inline; + function get_style: TPangoStyle; cdecl; inline; + function get_variant: TPangoVariant; cdecl; inline; + function get_weight: TPangoWeight; cdecl; inline; + function hash: guint; cdecl; inline; + procedure merge(desc_to_merge: PPangoFontDescription; replace_existing: gboolean); cdecl; inline; + procedure merge_static(desc_to_merge: PPangoFontDescription; replace_existing: gboolean); cdecl; inline; + procedure set_absolute_size(size: gdouble); cdecl; inline; + procedure set_family(family: Pgchar); cdecl; inline; + procedure set_family_static(family: Pgchar); cdecl; inline; + procedure set_gravity(gravity: TPangoGravity); cdecl; inline; + procedure set_size(size: gint); cdecl; inline; + procedure set_stretch(stretch: TPangoStretch); cdecl; inline; + procedure set_style(style: TPangoStyle); cdecl; inline; + procedure set_variant(variant: TPangoVariant); cdecl; inline; + procedure set_weight(weight: TPangoWeight); cdecl; inline; + function to_filename: Pgchar; cdecl; inline; + function to_string: Pgchar; cdecl; inline; + procedure unset_fields(to_unset: TPangoFontMask); cdecl; inline; + function from_string(str: Pgchar): PPangoFontDescription; cdecl; inline; static; + end; + + + { TPangoAttrFontDesc } + PPPangoAttrFontDesc = ^PPangoAttrFontDesc; + PPangoAttrFontDesc = ^TPangoAttrFontDesc; + TPangoAttrFontDesc = object + attr: TPangoAttribute; + desc: PPangoFontDescription; + function new(desc: PPangoFontDescription): PPangoAttribute; cdecl; inline; static; + end; + + + { TPangoAttrInt } + PPPangoAttrInt = ^PPangoAttrInt; + PPangoAttrInt = ^TPangoAttrInt; + + TPangoAttrInt = record + attr: TPangoAttribute; + value: gint; + end; + + + + + { TPangoAttrIterator } + PPPangoAttrIterator = ^PPangoAttrIterator; + PPangoAttrIterator = ^TPangoAttrIterator; + TPangoAttrIterator = object + function copy: PPangoAttrIterator; cdecl; inline; + procedure destroy_; cdecl; inline; + function get(type_: TPangoAttrType): PPangoAttribute; cdecl; inline; + function get_attrs: PGSList; cdecl; inline; + procedure get_font(desc: PPangoFontDescription; language: PPPangoLanguage; extra_attrs: PPGSList); cdecl; inline; + function next: gboolean; cdecl; inline; + procedure range(start: Pgint; end_: Pgint); cdecl; inline; + end; + + + { TPangoAttrLanguage } + PPPangoAttrLanguage = ^PPangoAttrLanguage; + PPangoAttrLanguage = ^TPangoAttrLanguage; + TPangoAttrLanguage = object + attr: TPangoAttribute; + value: PPangoLanguage; + function new(language: PPangoLanguage): PPangoAttribute; cdecl; inline; static; + end; + + + { TPangoAttrFilterFunc } + PPPangoAttrFilterFunc = ^PPangoAttrFilterFunc; + PPangoAttrFilterFunc = ^TPangoAttrFilterFunc; + TPangoAttrList = object + function new: PPangoAttrList; cdecl; inline; static; + procedure change(attr: PPangoAttribute); cdecl; inline; + function copy: PPangoAttrList; cdecl; inline; + function filter(func: TPangoAttrFilterFunc; data: gpointer): PPangoAttrList; cdecl; inline; + function get_iterator: PPangoAttrIterator; cdecl; inline; + procedure insert(attr: PPangoAttribute); cdecl; inline; + procedure insert_before(attr: PPangoAttribute); cdecl; inline; + function ref: PPangoAttrList; cdecl; inline; + procedure splice(other: PPangoAttrList; pos: gint; len: gint); cdecl; inline; + procedure unref; cdecl; inline; + end; + + TPangoRectangle = record + x: gint; + y: gint; + width: gint; + height: gint; + end; + + + + + { TPangoAttrShape } + PPPangoAttrShape = ^PPangoAttrShape; + PPangoAttrShape = ^TPangoAttrShape; + + + { TPangoAttrDataCopyFunc } + PPPangoAttrDataCopyFunc = ^PPangoAttrDataCopyFunc; + PPangoAttrDataCopyFunc = ^TPangoAttrDataCopyFunc; + TPangoAttrShape = object + attr: TPangoAttribute; + ink_rect: TPangoRectangle; + logical_rect: TPangoRectangle; + data: gpointer; + copy_func: TPangoAttrDataCopyFunc; + destroy_func: TGDestroyNotify; + function new(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle): PPangoAttribute; cdecl; inline; static; + function new_with_data(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle; data: gpointer; copy_func: TPangoAttrDataCopyFunc; destroy_func: TGDestroyNotify): PPangoAttribute; cdecl; inline; static; + end; + + + { TPangoAttrSize } + PPPangoAttrSize = ^PPangoAttrSize; + PPangoAttrSize = ^TPangoAttrSize; + TPangoAttrSizeBitfield0 = bitpacked record + absolute: guint1 { changed from guint to accomodate 1 bitsize requirement }; + end; + + TPangoAttrSize = object + attr: TPangoAttribute; + size: gint; + Bitfield0 : TPangoAttrSizeBitfield0; { auto generated type } + function new(size: gint): PPangoAttribute; cdecl; inline; static; + function new_absolute(size: gint): PPangoAttribute; cdecl; inline; static; + end; + + + { TPangoAttrString } + PPPangoAttrString = ^PPangoAttrString; + PPangoAttrString = ^TPangoAttrString; + + TPangoAttrString = record + attr: TPangoAttribute; + value: Pgchar; + end; + + + + + { TPangoContext } + PPPangoContext = ^PPangoContext; + PPangoContext = ^TPangoContext; + + + { TPangoDirection } + PPPangoDirection = ^PPangoDirection; + PPangoDirection = ^TPangoDirection; + + + { TPangoGravityHint } + PPPangoGravityHint = ^PPangoGravityHint; + PPangoGravityHint = ^TPangoGravityHint; + + + { TPangoMatrix } + PPPangoMatrix = ^PPangoMatrix; + PPangoMatrix = ^TPangoMatrix; + + + { TPangoFontFamily } + PPPPangoFontFamily = ^PPPangoFontFamily; + PPPangoFontFamily = ^PPangoFontFamily; + PPangoFontFamily = ^TPangoFontFamily; + + + { TPangoFontset } + PPPangoFontset = ^PPangoFontset; + PPangoFontset = ^TPangoFontset; + TPangoContext = object(TGObject) + function new: PPangoContext; cdecl; inline; static; + function get_base_dir: TPangoDirection; cdecl; inline; + function get_base_gravity: TPangoGravity; cdecl; inline; + function get_font_description: PPangoFontDescription; cdecl; inline; + function get_font_map: PPangoFontMap; cdecl; inline; + function get_gravity: TPangoGravity; cdecl; inline; + function get_gravity_hint: TPangoGravityHint; cdecl; inline; + function get_language: PPangoLanguage; cdecl; inline; + function get_matrix: PPangoMatrix; cdecl; inline; + function get_metrics(desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontMetrics; cdecl; inline; + procedure list_families(families: PPPPangoFontFamily; n_families: Pgint); cdecl; inline; + function load_font(desc: PPangoFontDescription): PPangoFont; cdecl; inline; + function load_fontset(desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl; inline; + procedure set_base_dir(direction: TPangoDirection); cdecl; inline; + procedure set_base_gravity(gravity: TPangoGravity); cdecl; inline; + procedure set_font_description(desc: PPangoFontDescription); cdecl; inline; + procedure set_font_map(font_map: PPangoFontMap); cdecl; inline; + procedure set_gravity_hint(hint: TPangoGravityHint); cdecl; inline; + procedure set_language(language: PPangoLanguage); cdecl; inline; + procedure set_matrix(matrix: PPangoMatrix); cdecl; inline; + end; + TPangoFontMap = object(TGObject) + procedure list_families(families: PPPPangoFontFamily; n_families: Pgint); cdecl; inline; + function load_font(context: PPangoContext; desc: PPangoFontDescription): PPangoFont; cdecl; inline; + function load_fontset(context: PPangoContext; desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl; inline; + //property item_type: UNABLE_TO_FIND_TYPE_FOR_PROPERTY read get_item_type ; + //property n_items: UNABLE_TO_FIND_TYPE_FOR_PROPERTY read get_n_items ; + end; + TPangoMatrix = object + xx: gdouble; + xy: gdouble; + yx: gdouble; + yy: gdouble; + x0: gdouble; + y0: gdouble; + procedure concat(new_matrix: PPangoMatrix); cdecl; inline; + function copy: PPangoMatrix; cdecl; inline; + procedure free; cdecl; inline; + function get_font_scale_factor: gdouble; cdecl; inline; + procedure rotate(degrees: gdouble); cdecl; inline; + procedure scale(scale_x: gdouble; scale_y: gdouble); cdecl; inline; + procedure transform_distance(dx: Pgdouble; dy: Pgdouble); cdecl; inline; + procedure transform_pixel_rectangle(rect: PPangoRectangle); cdecl; inline; + procedure transform_point(x: Pgdouble; y: Pgdouble); cdecl; inline; + procedure transform_rectangle(rect: PPangoRectangle); cdecl; inline; + procedure translate(tx: gdouble; ty: gdouble); cdecl; inline; + end; + TPangoFontMetrics = object + ref_count: guint; + ascent: gint; + descent: gint; + height: gint; + approximate_char_width: gint; + approximate_digit_width: gint; + underline_position: gint; + underline_thickness: gint; + strikethrough_position: gint; + strikethrough_thickness: gint; + function get_approximate_char_width: gint; cdecl; inline; + function get_approximate_digit_width: gint; cdecl; inline; + function get_ascent: gint; cdecl; inline; + function get_descent: gint; cdecl; inline; + function get_strikethrough_position: gint; cdecl; inline; + function get_strikethrough_thickness: gint; cdecl; inline; + function get_underline_position: gint; cdecl; inline; + function get_underline_thickness: gint; cdecl; inline; + function ref: PPangoFontMetrics; cdecl; inline; + procedure unref; cdecl; inline; + end; + + + { TPangoFontFace } + PPPPangoFontFace = ^PPPangoFontFace; + PPPangoFontFace = ^PPangoFontFace; + PPangoFontFace = ^TPangoFontFace; + TPangoFontFamily = object(TGObject) + function get_name: Pgchar; cdecl; inline; + function is_monospace: gboolean; cdecl; inline; + procedure list_faces(faces: PPPPangoFontFace; n_faces: Pgint); cdecl; inline; + //property item_type: UNABLE_TO_FIND_TYPE_FOR_PROPERTY read get_item_type ; + //property n_items: UNABLE_TO_FIND_TYPE_FOR_PROPERTY read get_n_items ; + end; + + + { TPangoFontsetForeachFunc } + PPPangoFontsetForeachFunc = ^PPangoFontsetForeachFunc; + PPangoFontsetForeachFunc = ^TPangoFontsetForeachFunc; + TPangoFontsetForeachFunc = function(fontset: PPangoFontset; font: PPangoFont; user_data: gpointer): gboolean; cdecl; + TPangoFontset = object(TGObject) + procedure foreach(func: TPangoFontsetForeachFunc; data: gpointer); cdecl; inline; + function get_font(wc: guint): PPangoFont; cdecl; inline; + function get_metrics: PPangoFontMetrics; cdecl; inline; + end; + + + { TPangoContextClass } + PPPangoContextClass = ^PPangoContextClass; + PPangoContextClass = ^TPangoContextClass; + TPangoContextClass = object + end; + + + { TPangoCoverageLevel } + PPPangoCoverageLevel = ^PPangoCoverageLevel; + PPangoCoverageLevel = ^TPangoCoverageLevel; + TPangoCoverage = object(TGObject) + function new: PPangoCoverage; cdecl; inline; static; + function from_bytes(bytes: Pguint8; n_bytes: gint): PPangoCoverage; cdecl; inline; static; deprecated 'This returns %NULL'; + function copy: PPangoCoverage; cdecl; inline; + function get(index_: gint): TPangoCoverageLevel; cdecl; inline; + procedure max(other: PPangoCoverage); cdecl; inline; deprecated 'This function does nothing'; + function ref: PPangoCoverage; cdecl; inline; deprecated 'Use g_object_ref instead'; + procedure set_(index_: gint; level: TPangoCoverageLevel); cdecl; inline; + procedure to_bytes(bytes: PPguint8; n_bytes: Pgint); cdecl; inline; deprecated 'This returns %NULL'; + procedure unref; cdecl; inline; deprecated 'Use g_object_unref instead'; + end; + + + { TPangoEllipsizeMode } + PPPangoEllipsizeMode = ^PPangoEllipsizeMode; + PPangoEllipsizeMode = ^TPangoEllipsizeMode; + TPangoFontFace = object(TGObject) + function describe: PPangoFontDescription; cdecl; inline; + function get_face_name: Pgchar; cdecl; inline; + procedure list_sizes(sizes: PPgint; n_sizes: Pgint); cdecl; inline; + end; + + + { TPangoFontClass } + PPPangoFontClass = ^PPangoFontClass; + PPangoFontClass = ^TPangoFontClass; + TPangoFontClass = object + parent_class: TGObjectClass; + describe: function(font: PPangoFont): PPangoFontDescription; cdecl; + get_coverage: function(font: PPangoFont; language: PPangoLanguage): PPangoCoverage; cdecl; + get_glyph_extents: procedure(font: PPangoFont; glyph: TPangoGlyph; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; + get_metrics: function(font: PPangoFont; language: PPangoLanguage): PPangoFontMetrics; cdecl; + get_font_map: function(font: PPangoFont): PPangoFontMap; cdecl; + describe_absolute: function(font: PPangoFont): PPangoFontDescription; cdecl; + get_features: procedure(font: PPangoFont; features: Phb_feature_t; len: guint; num_features: Pguint); cdecl; + create_hb_font: function(font: PPangoFont): Phb_font_t; cdecl; + end; + + + { TPangoFontFaceClass } + PPPangoFontFaceClass = ^PPangoFontFaceClass; + PPangoFontFaceClass = ^TPangoFontFaceClass; + TPangoFontFaceClass = object + parent_class: TGObjectClass; + get_face_name: function(face: PPangoFontFace): Pgchar; cdecl; + describe: function(face: PPangoFontFace): PPangoFontDescription; cdecl; + list_sizes: procedure(face: PPangoFontFace; sizes: PPgint; n_sizes: Pgint); cdecl; + is_synthesized: function(face: PPangoFontFace): gboolean; cdecl; + get_family: function(face: PPangoFontFace): PPangoFontFamily; cdecl; + _pango_reserved3: procedure; cdecl; + _pango_reserved4: procedure; cdecl; + end; + + + { TPangoFontFamilyClass } + PPPangoFontFamilyClass = ^PPangoFontFamilyClass; + PPangoFontFamilyClass = ^TPangoFontFamilyClass; + TPangoFontFamilyClass = object + parent_class: TGObjectClass; + list_faces: procedure(family: PPangoFontFamily; faces: PPPPangoFontFace; n_faces: Pgint); cdecl; + get_name: function(family: PPangoFontFamily): Pgchar; cdecl; + is_monospace: function(family: PPangoFontFamily): gboolean; cdecl; + is_variable: function(family: PPangoFontFamily): gboolean; cdecl; + get_face: function(family: PPangoFontFamily; name: Pgchar): PPangoFontFace; cdecl; + _pango_reserved2: procedure; cdecl; + end; + + + { TPangoFontMapClass } + PPPangoFontMapClass = ^PPangoFontMapClass; + PPangoFontMapClass = ^TPangoFontMapClass; + TPangoFontMapClass = object + parent_class: TGObjectClass; + load_font: function(fontmap: PPangoFontMap; context: PPangoContext; desc: PPangoFontDescription): PPangoFont; cdecl; + list_families: procedure(fontmap: PPangoFontMap; families: PPPPangoFontFamily; n_families: Pgint); cdecl; + load_fontset: function(fontmap: PPangoFontMap; context: PPangoContext; desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl; + shape_engine_type: Pgchar; + get_serial: function(fontmap: PPangoFontMap): guint; cdecl; + changed: procedure(fontmap: PPangoFontMap); cdecl; + get_family: function(fontmap: PPangoFontMap; name: Pgchar): PPangoFontFamily; cdecl; + get_face: function(fontmap: PPangoFontMap; font: PPangoFont): PPangoFontFace; cdecl; + end; + + + { TPangoFontsetClass } + PPPangoFontsetClass = ^PPangoFontsetClass; + PPangoFontsetClass = ^TPangoFontsetClass; + TPangoFontsetClass = object + parent_class: TGObjectClass; + get_font: function(fontset: PPangoFontset; wc: guint): PPangoFont; cdecl; + get_metrics: function(fontset: PPangoFontset): PPangoFontMetrics; cdecl; + get_language: function(fontset: PPangoFontset): PPangoLanguage; cdecl; + foreach: procedure(fontset: PPangoFontset; func: TPangoFontsetForeachFunc; data: gpointer); cdecl; + _pango_reserved1: procedure; cdecl; + _pango_reserved2: procedure; cdecl; + _pango_reserved3: procedure; cdecl; + _pango_reserved4: procedure; cdecl; + end; + + + { TPangoFontsetSimple } + PPPangoFontsetSimple = ^PPangoFontsetSimple; + PPangoFontsetSimple = ^TPangoFontsetSimple; + TPangoFontsetSimple = object(TPangoFontset) + function new(language: PPangoLanguage): PPangoFontsetSimple; cdecl; inline; static; + procedure append(font: PPangoFont); cdecl; inline; + function size: gint; cdecl; inline; + end; + + + { TPangoFontsetSimpleClass } + PPPangoFontsetSimpleClass = ^PPangoFontsetSimpleClass; + PPangoFontsetSimpleClass = ^TPangoFontsetSimpleClass; + TPangoFontsetSimpleClass = object + end; + + + { TPangoGlyphGeometry } + PPPangoGlyphGeometry = ^PPangoGlyphGeometry; + PPangoGlyphGeometry = ^TPangoGlyphGeometry; + + TPangoGlyphGeometry = record + width: TPangoGlyphUnit; + x_offset: TPangoGlyphUnit; + y_offset: TPangoGlyphUnit; + end; + + + + + { TPangoGlyphVisAttr } + PPPangoGlyphVisAttr = ^PPangoGlyphVisAttr; + PPangoGlyphVisAttr = ^TPangoGlyphVisAttr; + TPangoGlyphVisAttrBitfield0 = bitpacked record + is_cluster_start: guint1 { changed from guint to accomodate 1 bitsize requirement }; + is_color: guint1 { changed from guint to accomodate 1 bitsize requirement }; + end; + + + TPangoGlyphVisAttr = record + Bitfield0 : TPangoGlyphVisAttrBitfield0; { auto generated type } + end; + + + + + { TPangoGlyphInfo } + PPPangoGlyphInfo = ^PPangoGlyphInfo; + PPangoGlyphInfo = ^TPangoGlyphInfo; + + TPangoGlyphInfo = record + glyph: TPangoGlyph; + geometry: TPangoGlyphGeometry; + attr: TPangoGlyphVisAttr; + end; + + + TPangoItem = object + offset: gint; + length: gint; + num_chars: gint; + analysis: TPangoAnalysis; + function new: PPangoItem; cdecl; inline; static; + function copy: PPangoItem; cdecl; inline; + procedure free; cdecl; inline; + function split(split_index: gint; split_offset: gint): PPangoItem; cdecl; inline; + end; + TPangoGlyphString = object + num_glyphs: gint; + glyphs: PPangoGlyphInfo; + log_clusters: Pgint; + space: gint; + function new: PPangoGlyphString; cdecl; inline; static; + function copy: PPangoGlyphString; cdecl; inline; + procedure extents(font: PPangoFont; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline; + procedure extents_range(start: gint; end_: gint; font: PPangoFont; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline; + procedure free; cdecl; inline; + procedure get_logical_widths(text: Pgchar; length: gint; embedding_level: gint; logical_widths: Pgint); cdecl; inline; + function get_width: gint; cdecl; inline; + procedure index_to_x(text: Pgchar; length: gint; analysis: PPangoAnalysis; index_: gint; trailing: gboolean; x_pos: Pgint); cdecl; inline; + procedure set_size(new_len: gint); cdecl; inline; + procedure x_to_index(text: Pgchar; length: gint; analysis: PPangoAnalysis; x_pos: gint; index_: Pgint; trailing: Pgint); cdecl; inline; + end; + TPangoLogAttrBitfield0 = bitpacked record + is_line_break: guint1 { changed from guint to accomodate 1 bitsize requirement }; + is_mandatory_break: guint1 { changed from guint to accomodate 1 bitsize requirement }; + is_char_break: guint1 { changed from guint to accomodate 1 bitsize requirement }; + is_white: guint1 { changed from guint to accomodate 1 bitsize requirement }; + is_cursor_position: guint1 { changed from guint to accomodate 1 bitsize requirement }; + is_word_start: guint1 { changed from guint to accomodate 1 bitsize requirement }; + is_word_end: guint1 { changed from guint to accomodate 1 bitsize requirement }; + is_sentence_boundary: guint1 { changed from guint to accomodate 1 bitsize requirement }; + is_sentence_start: guint1 { changed from guint to accomodate 1 bitsize requirement }; + is_sentence_end: guint1 { changed from guint to accomodate 1 bitsize requirement }; + backspace_deletes_character: guint1 { changed from guint to accomodate 1 bitsize requirement }; + is_expandable_space: guint1 { changed from guint to accomodate 1 bitsize requirement }; + is_word_boundary: guint1 { changed from guint to accomodate 1 bitsize requirement }; + break_inserts_hyphen: guint1 { changed from guint to accomodate 1 bitsize requirement }; + break_removes_preceding: guint1 { changed from guint to accomodate 1 bitsize requirement }; + reserved: guint17 { changed from guint to accomodate 17 bitsize requirement }; + end; + + + TPangoLogAttr = record + Bitfield0 : TPangoLogAttrBitfield0; { auto generated type } + end; + + + + + { TPangoLayout } + PPPangoLayout = ^PPangoLayout; + PPangoLayout = ^TPangoLayout; + + + { TPangoLayoutIter } + PPPangoLayoutIter = ^PPangoLayoutIter; + PPangoLayoutIter = ^TPangoLayoutIter; + + + { TPangoLayoutLine } + PPPangoLayoutLine = ^PPangoLayoutLine; + PPangoLayoutLine = ^TPangoLayoutLine; + + + { TPangoTabArray } + PPPangoTabArray = ^PPangoTabArray; + PPangoTabArray = ^TPangoTabArray; + + + { TPangoWrapMode } + PPPangoWrapMode = ^PPangoWrapMode; + PPangoWrapMode = ^TPangoWrapMode; + TPangoLayout = object(TGObject) + function new(context: PPangoContext): PPangoLayout; cdecl; inline; static; + procedure context_changed; cdecl; inline; + function copy: PPangoLayout; cdecl; inline; + function get_alignment: TPangoAlignment; cdecl; inline; + function get_attributes: PPangoAttrList; cdecl; inline; + function get_auto_dir: gboolean; cdecl; inline; + function get_context: PPangoContext; cdecl; inline; + procedure get_cursor_pos(index_: gint; strong_pos: PPangoRectangle; weak_pos: PPangoRectangle); cdecl; inline; + function get_ellipsize: TPangoEllipsizeMode; cdecl; inline; + procedure get_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline; + function get_font_description: PPangoFontDescription; cdecl; inline; + function get_indent: gint; cdecl; inline; + function get_iter: PPangoLayoutIter; cdecl; inline; + function get_justify: gboolean; cdecl; inline; + function get_line(line: gint): PPangoLayoutLine; cdecl; inline; + function get_line_count: gint; cdecl; inline; + function get_line_readonly(line: gint): PPangoLayoutLine; cdecl; inline; + function get_lines: PGSList; cdecl; inline; + function get_lines_readonly: PGSList; cdecl; inline; + procedure get_log_attrs(attrs: PPPangoLogAttr; n_attrs: Pgint); cdecl; inline; + procedure get_pixel_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline; + procedure get_pixel_size(width: Pgint; height: Pgint); cdecl; inline; + function get_single_paragraph_mode: gboolean; cdecl; inline; + procedure get_size(width: Pgint; height: Pgint); cdecl; inline; + function get_spacing: gint; cdecl; inline; + function get_tabs: PPangoTabArray; cdecl; inline; + function get_text: Pgchar; cdecl; inline; + function get_unknown_glyphs_count: gint; cdecl; inline; + function get_width: gint; cdecl; inline; + function get_wrap: TPangoWrapMode; cdecl; inline; + procedure index_to_line_x(index_: gint; trailing: gboolean; line: Pgint; x_pos: Pgint); cdecl; inline; + procedure index_to_pos(index_: gint; pos: PPangoRectangle); cdecl; inline; + function is_ellipsized: gboolean; cdecl; inline; + function is_wrapped: gboolean; cdecl; inline; + procedure move_cursor_visually(strong: gboolean; old_index: gint; old_trailing: gint; direction: gint; new_index: Pgint; new_trailing: Pgint); cdecl; inline; + procedure set_alignment(alignment: TPangoAlignment); cdecl; inline; + procedure set_attributes(attrs: PPangoAttrList); cdecl; inline; + procedure set_auto_dir(auto_dir: gboolean); cdecl; inline; + procedure set_ellipsize(ellipsize: TPangoEllipsizeMode); cdecl; inline; + procedure set_font_description(desc: PPangoFontDescription); cdecl; inline; + procedure set_indent(indent: gint); cdecl; inline; + procedure set_justify(justify: gboolean); cdecl; inline; + procedure set_markup(markup: Pgchar; length: gint); cdecl; inline; + procedure set_markup_with_accel(markup: Pgchar; length: gint; accel_marker: gunichar; accel_char: Pgunichar); cdecl; inline; + procedure set_single_paragraph_mode(setting: gboolean); cdecl; inline; + procedure set_spacing(spacing: gint); cdecl; inline; + procedure set_tabs(tabs: PPangoTabArray); cdecl; inline; + procedure set_text(text: Pgchar; length: gint); cdecl; inline; + procedure set_width(width: gint); cdecl; inline; + procedure set_wrap(wrap: TPangoWrapMode); cdecl; inline; + function xy_to_index(x: gint; y: gint; index_: Pgint; trailing: Pgint): gboolean; cdecl; inline; + end; + TPangoLayoutIter = object + function at_last_line: gboolean; cdecl; inline; + procedure free; cdecl; inline; + function get_baseline: gint; cdecl; inline; + procedure get_char_extents(logical_rect: PPangoRectangle); cdecl; inline; + procedure get_cluster_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline; + function get_index: gint; cdecl; inline; + procedure get_layout_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline; + function get_line: PPangoLayoutLine; cdecl; inline; + procedure get_line_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline; + function get_line_readonly: PPangoLayoutLine; cdecl; inline; + procedure get_line_yrange(y0_: Pgint; y1_: Pgint); cdecl; inline; + function get_run: PPangoLayoutRun; cdecl; inline; + procedure get_run_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline; + function get_run_readonly: PPangoLayoutRun; cdecl; inline; + function next_char: gboolean; cdecl; inline; + function next_cluster: gboolean; cdecl; inline; + function next_line: gboolean; cdecl; inline; + function next_run: gboolean; cdecl; inline; + end; + TPangoLayoutLineBitfield0 = bitpacked record + is_paragraph_start: guint1 { changed from guint to accomodate 1 bitsize requirement }; + resolved_dir: guint3 { changed from guint to accomodate 3 bitsize requirement }; + end; + + TPangoLayoutLine = object + layout: PPangoLayout; + start_index: gint; + length: gint; + runs: PGSList; + Bitfield0 : TPangoLayoutLineBitfield0; { auto generated type } + procedure get_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline; + procedure get_pixel_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline; + procedure get_x_ranges(start_index: gint; end_index: gint; ranges: PPgint; n_ranges: Pgint); cdecl; inline; + procedure index_to_x(index_: gint; trailing: gboolean; x_pos: Pgint); cdecl; inline; + function ref: PPangoLayoutLine; cdecl; inline; + procedure unref; cdecl; inline; + function x_to_index(x_pos: gint; index_: Pgint; trailing: Pgint): gboolean; cdecl; inline; + end; + + + { TPangoTabAlign } + PPPangoTabAlign = ^PPangoTabAlign; + PPangoTabAlign = ^TPangoTabAlign; + TPangoTabArray = object + function new(initial_size: gint; positions_in_pixels: gboolean): PPangoTabArray; cdecl; inline; static; + //function new_with_positions(size: gint; positions_in_pixels: gboolean; first_alignment: TPangoTabAlign; first_position: gint; args: array of const): PPangoTabArray; cdecl; inline; static; + function copy: PPangoTabArray; cdecl; inline; + procedure free; cdecl; inline; + function get_positions_in_pixels: gboolean; cdecl; inline; + function get_size: gint; cdecl; inline; + procedure get_tab(tab_index: gint; alignment: PPangoTabAlign; location: Pgint); cdecl; inline; + procedure get_tabs(alignments: PPPangoTabAlign; locations: PPgint); cdecl; inline; + procedure resize(new_size: gint); cdecl; inline; + procedure set_tab(tab_index: gint; alignment: TPangoTabAlign; location: gint); cdecl; inline; + end; + + + { TPangoLayoutClass } + PPPangoLayoutClass = ^PPangoLayoutClass; + PPangoLayoutClass = ^TPangoLayoutClass; + TPangoLayoutClass = object + end; + + + { TPangoRenderPart } + PPPangoRenderPart = ^PPangoRenderPart; + PPangoRenderPart = ^TPangoRenderPart; + + + { TPangoRenderer } + PPPangoRenderer = ^PPangoRenderer; + PPangoRenderer = ^TPangoRenderer; + + + { TPangoUnderline } + PPPangoUnderline = ^PPangoUnderline; + PPangoUnderline = ^TPangoUnderline; + + + { TPangoRendererPrivate } + PPPangoRendererPrivate = ^PPangoRendererPrivate; + PPangoRendererPrivate = ^TPangoRendererPrivate; + TPangoRenderer = object(TGObject) + underline: TPangoUnderline; + strikethrough: gboolean; + active_count: gint; + matrix: PPangoMatrix; + priv: PPangoRendererPrivate; + procedure activate; cdecl; inline; + procedure deactivate; cdecl; inline; + procedure draw_error_underline(x: gint; y: gint; width: gint; height: gint); cdecl; inline; + procedure draw_glyph(font: PPangoFont; glyph: TPangoGlyph; x: gdouble; y: gdouble); cdecl; inline; + procedure draw_glyphs(font: PPangoFont; glyphs: PPangoGlyphString; x: gint; y: gint); cdecl; inline; + procedure draw_layout(layout: PPangoLayout; x: gint; y: gint); cdecl; inline; + procedure draw_layout_line(line: PPangoLayoutLine; x: gint; y: gint); cdecl; inline; + procedure draw_rectangle(part: TPangoRenderPart; x: gint; y: gint; width: gint; height: gint); cdecl; inline; + procedure draw_trapezoid(part: TPangoRenderPart; y1_: gdouble; x11: gdouble; x21: gdouble; y2: gdouble; x12: gdouble; x22: gdouble); cdecl; inline; + function get_color(part: TPangoRenderPart): PPangoColor; cdecl; inline; + function get_matrix: PPangoMatrix; cdecl; inline; + procedure part_changed(part: TPangoRenderPart); cdecl; inline; + procedure set_color(part: TPangoRenderPart; color: PPangoColor); cdecl; inline; + procedure set_matrix(matrix: PPangoMatrix); cdecl; inline; + end; + + TPangoRendererPrivate = record + end; + + + + + { TPangoRendererClass } + PPPangoRendererClass = ^PPangoRendererClass; + PPangoRendererClass = ^TPangoRendererClass; + TPangoRendererClass = object + parent_class: TGObjectClass; + draw_glyphs: procedure(renderer: PPangoRenderer; font: PPangoFont; glyphs: PPangoGlyphString; x: gint; y: gint); cdecl; + draw_rectangle: procedure(renderer: PPangoRenderer; part: TPangoRenderPart; x: gint; y: gint; width: gint; height: gint); cdecl; + draw_error_underline: procedure(renderer: PPangoRenderer; x: gint; y: gint; width: gint; height: gint); cdecl; + draw_shape: procedure(renderer: PPangoRenderer; attr: PPangoAttrShape; x: gint; y: gint); cdecl; + draw_trapezoid: procedure(renderer: PPangoRenderer; part: TPangoRenderPart; y1_: gdouble; x11: gdouble; x21: gdouble; y2: gdouble; x12: gdouble; x22: gdouble); cdecl; + draw_glyph: procedure(renderer: PPangoRenderer; font: PPangoFont; glyph: TPangoGlyph; x: gdouble; y: gdouble); cdecl; + part_changed: procedure(renderer: PPangoRenderer; part: TPangoRenderPart); cdecl; + begin_: procedure(renderer: PPangoRenderer); cdecl; + end_: procedure(renderer: PPangoRenderer); cdecl; + prepare_run: procedure(renderer: PPangoRenderer; run: PPangoLayoutRun); cdecl; + draw_glyph_item: procedure(renderer: PPangoRenderer; text: Pgchar; glyph_item: PPangoGlyphItem; x: gint; y: gint); cdecl; + _pango_reserved2: procedure; cdecl; + _pango_reserved3: procedure; cdecl; + _pango_reserved4: procedure; cdecl; + end; + + + { TPangoScriptIter } + PPPangoScriptIter = ^PPangoScriptIter; + PPangoScriptIter = ^TPangoScriptIter; + TPangoScriptIter = object + function new(text: Pgchar; length: gint): PPangoScriptIter; cdecl; inline; static; + procedure free; cdecl; inline; + procedure get_range(start: PPgchar; end_: PPgchar; script: PPangoScript); cdecl; inline; + function next: gboolean; cdecl; inline; + end; + +function pango_attr_background_new(red: guint16; green: guint16; blue: guint16): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_background_new'; +function pango_attr_fallback_new(enable_fallback: gboolean): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_fallback_new'; +function pango_attr_family_new(family: Pgchar): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_family_new'; +function pango_attr_font_desc_new(desc: PPangoFontDescription): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_font_desc_new'; +function pango_attr_foreground_new(red: guint16; green: guint16; blue: guint16): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_foreground_new'; +function pango_attr_gravity_hint_new(hint: TPangoGravityHint): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_gravity_hint_new'; +function pango_attr_gravity_new(gravity: TPangoGravity): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_gravity_new'; +function pango_attr_iterator_copy(iterator: PPangoAttrIterator): PPangoAttrIterator; cdecl; external LazPango1_library name 'pango_attr_iterator_copy'; +function pango_attr_iterator_get(iterator: PPangoAttrIterator; type_: TPangoAttrType): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_iterator_get'; +function pango_attr_iterator_get_attrs(iterator: PPangoAttrIterator): PGSList; cdecl; external LazPango1_library name 'pango_attr_iterator_get_attrs'; +function pango_attr_iterator_get_type: TGType; cdecl; external LazPango1_library name 'pango_attr_iterator_get_type'; +function pango_attr_iterator_next(iterator: PPangoAttrIterator): gboolean; cdecl; external LazPango1_library name 'pango_attr_iterator_next'; +function pango_attr_language_new(language: PPangoLanguage): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_language_new'; +function pango_attr_letter_spacing_new(letter_spacing: gint): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_letter_spacing_new'; +function pango_attr_list_copy(list: PPangoAttrList): PPangoAttrList; cdecl; external LazPango1_library name 'pango_attr_list_copy'; +function pango_attr_list_filter(list: PPangoAttrList; func: TPangoAttrFilterFunc; data: gpointer): PPangoAttrList; cdecl; external LazPango1_library name 'pango_attr_list_filter'; +function pango_attr_list_get_iterator(list: PPangoAttrList): PPangoAttrIterator; cdecl; external LazPango1_library name 'pango_attr_list_get_iterator'; +function pango_attr_list_get_type: TGType; cdecl; external LazPango1_library name 'pango_attr_list_get_type'; +function pango_attr_list_new: PPangoAttrList; cdecl; external LazPango1_library name 'pango_attr_list_new'; +function pango_attr_list_ref(list: PPangoAttrList): PPangoAttrList; cdecl; external LazPango1_library name 'pango_attr_list_ref'; +function pango_attr_rise_new(rise: gint): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_rise_new'; +function pango_attr_scale_new(scale_factor: gdouble): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_scale_new'; +function pango_attr_shape_new(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_shape_new'; +function pango_attr_shape_new_with_data(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle; data: gpointer; copy_func: TPangoAttrDataCopyFunc; destroy_func: TGDestroyNotify): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_shape_new_with_data'; +function pango_attr_size_new(size: gint): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_size_new'; +function pango_attr_size_new_absolute(size: gint): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_size_new_absolute'; +function pango_attr_stretch_new(stretch: TPangoStretch): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_stretch_new'; +function pango_attr_strikethrough_color_new(red: guint16; green: guint16; blue: guint16): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_strikethrough_color_new'; +function pango_attr_strikethrough_new(strikethrough: gboolean): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_strikethrough_new'; +function pango_attr_style_new(style: TPangoStyle): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_style_new'; +function pango_attr_type_register(name: Pgchar): TPangoAttrType; cdecl; external LazPango1_library name 'pango_attr_type_register'; +function pango_attr_underline_color_new(red: guint16; green: guint16; blue: guint16): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_underline_color_new'; +function pango_attr_underline_new(underline: TPangoUnderline): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_underline_new'; +function pango_attr_variant_new(variant: TPangoVariant): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_variant_new'; +function pango_attr_weight_new(weight: TPangoWeight): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attr_weight_new'; +function pango_attribute_copy(attr: PPangoAttribute): PPangoAttribute; cdecl; external LazPango1_library name 'pango_attribute_copy'; +function pango_attribute_equal(attr1: PPangoAttribute; attr2: PPangoAttribute): gboolean; cdecl; external LazPango1_library name 'pango_attribute_equal'; +function pango_attribute_get_type: TGType; cdecl; external LazPango1_library name 'pango_attribute_get_type'; +function pango_color_copy(src: PPangoColor): PPangoColor; cdecl; external LazPango1_library name 'pango_color_copy'; +function pango_color_get_type: TGType; cdecl; external LazPango1_library name 'pango_color_get_type'; +function pango_color_parse(color: PPangoColor; spec: Pgchar): gboolean; cdecl; external LazPango1_library name 'pango_color_parse'; +function pango_color_to_string(color: PPangoColor): Pgchar; cdecl; external LazPango1_library name 'pango_color_to_string'; +function pango_context_get_base_dir(context: PPangoContext): TPangoDirection; cdecl; external LazPango1_library name 'pango_context_get_base_dir'; +function pango_context_get_base_gravity(context: PPangoContext): TPangoGravity; cdecl; external LazPango1_library name 'pango_context_get_base_gravity'; +function pango_context_get_font_description(context: PPangoContext): PPangoFontDescription; cdecl; external LazPango1_library name 'pango_context_get_font_description'; +function pango_context_get_font_map(context: PPangoContext): PPangoFontMap; cdecl; external LazPango1_library name 'pango_context_get_font_map'; +function pango_context_get_gravity(context: PPangoContext): TPangoGravity; cdecl; external LazPango1_library name 'pango_context_get_gravity'; +function pango_context_get_gravity_hint(context: PPangoContext): TPangoGravityHint; cdecl; external LazPango1_library name 'pango_context_get_gravity_hint'; +function pango_context_get_language(context: PPangoContext): PPangoLanguage; cdecl; external LazPango1_library name 'pango_context_get_language'; +function pango_context_get_matrix(context: PPangoContext): PPangoMatrix; cdecl; external LazPango1_library name 'pango_context_get_matrix'; +function pango_context_get_metrics(context: PPangoContext; desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontMetrics; cdecl; external LazPango1_library name 'pango_context_get_metrics'; +function pango_context_get_type: TGType; cdecl; external LazPango1_library name 'pango_context_get_type'; +function pango_context_load_font(context: PPangoContext; desc: PPangoFontDescription): PPangoFont; cdecl; external LazPango1_library name 'pango_context_load_font'; +function pango_context_load_fontset(context: PPangoContext; desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl; external LazPango1_library name 'pango_context_load_fontset'; +function pango_context_new: PPangoContext; cdecl; external LazPango1_library name 'pango_context_new'; +function pango_coverage_copy(coverage: PPangoCoverage): PPangoCoverage; cdecl; external LazPango1_library name 'pango_coverage_copy'; +function pango_coverage_from_bytes(bytes: Pguint8; n_bytes: gint): PPangoCoverage; cdecl; external LazPango1_library name 'pango_coverage_from_bytes'; deprecated 'This returns %NULL'; +function pango_coverage_get(coverage: PPangoCoverage; index_: gint): TPangoCoverageLevel; cdecl; external LazPango1_library name 'pango_coverage_get'; +function pango_coverage_get_type: TGType; cdecl; external LazPango1_library name 'pango_coverage_get_type'; +function pango_coverage_new: PPangoCoverage; cdecl; external LazPango1_library name 'pango_coverage_new'; +function pango_coverage_ref(coverage: PPangoCoverage): PPangoCoverage; cdecl; external LazPango1_library name 'pango_coverage_ref'; deprecated 'Use g_object_ref instead'; +function pango_find_base_dir(text: Pgchar; length: gint): TPangoDirection; cdecl; external LazPango1_library name 'pango_find_base_dir'; +function pango_font_describe(font: PPangoFont): PPangoFontDescription; cdecl; external LazPango1_library name 'pango_font_describe'; +function pango_font_describe_with_absolute_size(font: PPangoFont): PPangoFontDescription; cdecl; external LazPango1_library name 'pango_font_describe_with_absolute_size'; +function pango_font_description_better_match(desc: PPangoFontDescription; old_match: PPangoFontDescription; new_match: PPangoFontDescription): gboolean; cdecl; external LazPango1_library name 'pango_font_description_better_match'; +function pango_font_description_copy(desc: PPangoFontDescription): PPangoFontDescription; cdecl; external LazPango1_library name 'pango_font_description_copy'; +function pango_font_description_copy_static(desc: PPangoFontDescription): PPangoFontDescription; cdecl; external LazPango1_library name 'pango_font_description_copy_static'; +function pango_font_description_equal(desc1: PPangoFontDescription; desc2: PPangoFontDescription): gboolean; cdecl; external LazPango1_library name 'pango_font_description_equal'; +function pango_font_description_from_string(str: Pgchar): PPangoFontDescription; cdecl; external LazPango1_library name 'pango_font_description_from_string'; +function pango_font_description_get_family(desc: PPangoFontDescription): Pgchar; cdecl; external LazPango1_library name 'pango_font_description_get_family'; +function pango_font_description_get_gravity(desc: PPangoFontDescription): TPangoGravity; cdecl; external LazPango1_library name 'pango_font_description_get_gravity'; +function pango_font_description_get_set_fields(desc: PPangoFontDescription): TPangoFontMask; cdecl; external LazPango1_library name 'pango_font_description_get_set_fields'; +function pango_font_description_get_size(desc: PPangoFontDescription): gint; cdecl; external LazPango1_library name 'pango_font_description_get_size'; +function pango_font_description_get_size_is_absolute(desc: PPangoFontDescription): gboolean; cdecl; external LazPango1_library name 'pango_font_description_get_size_is_absolute'; +function pango_font_description_get_stretch(desc: PPangoFontDescription): TPangoStretch; cdecl; external LazPango1_library name 'pango_font_description_get_stretch'; +function pango_font_description_get_style(desc: PPangoFontDescription): TPangoStyle; cdecl; external LazPango1_library name 'pango_font_description_get_style'; +function pango_font_description_get_type: TGType; cdecl; external LazPango1_library name 'pango_font_description_get_type'; +function pango_font_description_get_variant(desc: PPangoFontDescription): TPangoVariant; cdecl; external LazPango1_library name 'pango_font_description_get_variant'; +function pango_font_description_get_weight(desc: PPangoFontDescription): TPangoWeight; cdecl; external LazPango1_library name 'pango_font_description_get_weight'; +function pango_font_description_hash(desc: PPangoFontDescription): guint; cdecl; external LazPango1_library name 'pango_font_description_hash'; +function pango_font_description_new: PPangoFontDescription; cdecl; external LazPango1_library name 'pango_font_description_new'; +function pango_font_description_to_filename(desc: PPangoFontDescription): Pgchar; cdecl; external LazPango1_library name 'pango_font_description_to_filename'; +function pango_font_description_to_string(desc: PPangoFontDescription): Pgchar; cdecl; external LazPango1_library name 'pango_font_description_to_string'; +function pango_font_face_describe(face: PPangoFontFace): PPangoFontDescription; cdecl; external LazPango1_library name 'pango_font_face_describe'; +function pango_font_face_get_face_name(face: PPangoFontFace): Pgchar; cdecl; external LazPango1_library name 'pango_font_face_get_face_name'; +function pango_font_face_get_type: TGType; cdecl; external LazPango1_library name 'pango_font_face_get_type'; +function pango_font_family_get_name(family: PPangoFontFamily): Pgchar; cdecl; external LazPango1_library name 'pango_font_family_get_name'; +function pango_font_family_get_type: TGType; cdecl; external LazPango1_library name 'pango_font_family_get_type'; +function pango_font_family_is_monospace(family: PPangoFontFamily): gboolean; cdecl; external LazPango1_library name 'pango_font_family_is_monospace'; +function pango_font_get_coverage(font: PPangoFont; language: PPangoLanguage): PPangoCoverage; cdecl; external LazPango1_library name 'pango_font_get_coverage'; +function pango_font_get_font_map(font: PPangoFont): PPangoFontMap; cdecl; external LazPango1_library name 'pango_font_get_font_map'; +function pango_font_get_metrics(font: PPangoFont; language: PPangoLanguage): PPangoFontMetrics; cdecl; external LazPango1_library name 'pango_font_get_metrics'; +function pango_font_get_type: TGType; cdecl; external LazPango1_library name 'pango_font_get_type'; +function pango_font_map_get_type: TGType; cdecl; external LazPango1_library name 'pango_font_map_get_type'; +function pango_font_map_load_font(fontmap: PPangoFontMap; context: PPangoContext; desc: PPangoFontDescription): PPangoFont; cdecl; external LazPango1_library name 'pango_font_map_load_font'; +function pango_font_map_load_fontset(fontmap: PPangoFontMap; context: PPangoContext; desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl; external LazPango1_library name 'pango_font_map_load_fontset'; +function pango_font_metrics_get_approximate_char_width(metrics: PPangoFontMetrics): gint; cdecl; external LazPango1_library name 'pango_font_metrics_get_approximate_char_width'; +function pango_font_metrics_get_approximate_digit_width(metrics: PPangoFontMetrics): gint; cdecl; external LazPango1_library name 'pango_font_metrics_get_approximate_digit_width'; +function pango_font_metrics_get_ascent(metrics: PPangoFontMetrics): gint; cdecl; external LazPango1_library name 'pango_font_metrics_get_ascent'; +function pango_font_metrics_get_descent(metrics: PPangoFontMetrics): gint; cdecl; external LazPango1_library name 'pango_font_metrics_get_descent'; +function pango_font_metrics_get_strikethrough_position(metrics: PPangoFontMetrics): gint; cdecl; external LazPango1_library name 'pango_font_metrics_get_strikethrough_position'; +function pango_font_metrics_get_strikethrough_thickness(metrics: PPangoFontMetrics): gint; cdecl; external LazPango1_library name 'pango_font_metrics_get_strikethrough_thickness'; +function pango_font_metrics_get_type: TGType; cdecl; external LazPango1_library name 'pango_font_metrics_get_type'; +function pango_font_metrics_get_underline_position(metrics: PPangoFontMetrics): gint; cdecl; external LazPango1_library name 'pango_font_metrics_get_underline_position'; +function pango_font_metrics_get_underline_thickness(metrics: PPangoFontMetrics): gint; cdecl; external LazPango1_library name 'pango_font_metrics_get_underline_thickness'; +function pango_font_metrics_ref(metrics: PPangoFontMetrics): PPangoFontMetrics; cdecl; external LazPango1_library name 'pango_font_metrics_ref'; +function pango_fontset_get_font(fontset: PPangoFontset; wc: guint): PPangoFont; cdecl; external LazPango1_library name 'pango_fontset_get_font'; +function pango_fontset_get_metrics(fontset: PPangoFontset): PPangoFontMetrics; cdecl; external LazPango1_library name 'pango_fontset_get_metrics'; +function pango_fontset_get_type: TGType; cdecl; external LazPango1_library name 'pango_fontset_get_type'; +function pango_fontset_simple_get_type: TGType; cdecl; external LazPango1_library name 'pango_fontset_simple_get_type'; +function pango_fontset_simple_new(language: PPangoLanguage): PPangoFontsetSimple; cdecl; external LazPango1_library name 'pango_fontset_simple_new'; +function pango_fontset_simple_size(fontset: PPangoFontsetSimple): gint; cdecl; external LazPango1_library name 'pango_fontset_simple_size'; +function pango_get_mirror_char(ch: gunichar; mirrored_ch: Pgunichar): gboolean; cdecl; external LazPango1_library name 'pango_get_mirror_char'; +function pango_glyph_item_apply_attrs(glyph_item: PPangoGlyphItem; text: Pgchar; list: PPangoAttrList): PGSList; cdecl; external LazPango1_library name 'pango_glyph_item_apply_attrs'; +function pango_glyph_item_get_type: TGType; cdecl; external LazPango1_library name 'pango_glyph_item_get_type'; +function pango_glyph_item_split(orig: PPangoGlyphItem; text: Pgchar; split_index: gint): PPangoGlyphItem; cdecl; external LazPango1_library name 'pango_glyph_item_split'; +function pango_glyph_string_copy(string_: PPangoGlyphString): PPangoGlyphString; cdecl; external LazPango1_library name 'pango_glyph_string_copy'; +function pango_glyph_string_get_type: TGType; cdecl; external LazPango1_library name 'pango_glyph_string_get_type'; +function pango_glyph_string_get_width(glyphs: PPangoGlyphString): gint; cdecl; external LazPango1_library name 'pango_glyph_string_get_width'; +function pango_glyph_string_new: PPangoGlyphString; cdecl; external LazPango1_library name 'pango_glyph_string_new'; +function pango_gravity_get_for_matrix(matrix: PPangoMatrix): TPangoGravity; cdecl; external LazPango1_library name 'pango_gravity_get_for_matrix'; +function pango_gravity_get_for_script(script: TPangoScript; base_gravity: TPangoGravity; hint: TPangoGravityHint): TPangoGravity; cdecl; external LazPango1_library name 'pango_gravity_get_for_script'; +function pango_gravity_to_rotation(gravity: TPangoGravity): gdouble; cdecl; external LazPango1_library name 'pango_gravity_to_rotation'; +function pango_is_zero_width(ch: gunichar): gboolean; cdecl; external LazPango1_library name 'pango_is_zero_width'; +function pango_item_copy(item: PPangoItem): PPangoItem; cdecl; external LazPango1_library name 'pango_item_copy'; +function pango_item_get_type: TGType; cdecl; external LazPango1_library name 'pango_item_get_type'; +function pango_item_new: PPangoItem; cdecl; external LazPango1_library name 'pango_item_new'; +function pango_item_split(orig: PPangoItem; split_index: gint; split_offset: gint): PPangoItem; cdecl; external LazPango1_library name 'pango_item_split'; +function pango_itemize(context: PPangoContext; text: Pgchar; start_index: gint; length: gint; attrs: PPangoAttrList; cached_iter: PPangoAttrIterator): PGList; cdecl; external LazPango1_library name 'pango_itemize'; +function pango_itemize_with_base_dir(context: PPangoContext; base_dir: TPangoDirection; text: Pgchar; start_index: gint; length: gint; attrs: PPangoAttrList; cached_iter: PPangoAttrIterator): PGList; cdecl; external LazPango1_library name 'pango_itemize_with_base_dir'; +function pango_language_from_string(language: Pgchar): PPangoLanguage; cdecl; external LazPango1_library name 'pango_language_from_string'; +function pango_language_get_default: PPangoLanguage; cdecl; external LazPango1_library name 'pango_language_get_default'; +function pango_language_get_sample_string(language: PPangoLanguage): Pgchar; cdecl; external LazPango1_library name 'pango_language_get_sample_string'; +function pango_language_get_type: TGType; cdecl; external LazPango1_library name 'pango_language_get_type'; +function pango_language_includes_script(language: PPangoLanguage; script: TPangoScript): gboolean; cdecl; external LazPango1_library name 'pango_language_includes_script'; +function pango_language_matches(language: PPangoLanguage; range_list: Pgchar): gboolean; cdecl; external LazPango1_library name 'pango_language_matches'; +function pango_language_to_string(language: PPangoLanguage): Pgchar; cdecl; external LazPango1_library name 'pango_language_to_string'; +function pango_layout_copy(src: PPangoLayout): PPangoLayout; cdecl; external LazPango1_library name 'pango_layout_copy'; +function pango_layout_deserialize_error_quark: TGQuark; cdecl; external LazPango1_library name 'pango_layout_deserialize_error_quark'; +function pango_layout_get_alignment(layout: PPangoLayout): TPangoAlignment; cdecl; external LazPango1_library name 'pango_layout_get_alignment'; +function pango_layout_get_attributes(layout: PPangoLayout): PPangoAttrList; cdecl; external LazPango1_library name 'pango_layout_get_attributes'; +function pango_layout_get_auto_dir(layout: PPangoLayout): gboolean; cdecl; external LazPango1_library name 'pango_layout_get_auto_dir'; +function pango_layout_get_context(layout: PPangoLayout): PPangoContext; cdecl; external LazPango1_library name 'pango_layout_get_context'; +function pango_layout_get_ellipsize(layout: PPangoLayout): TPangoEllipsizeMode; cdecl; external LazPango1_library name 'pango_layout_get_ellipsize'; +function pango_layout_get_font_description(layout: PPangoLayout): PPangoFontDescription; cdecl; external LazPango1_library name 'pango_layout_get_font_description'; +function pango_layout_get_indent(layout: PPangoLayout): gint; cdecl; external LazPango1_library name 'pango_layout_get_indent'; +function pango_layout_get_iter(layout: PPangoLayout): PPangoLayoutIter; cdecl; external LazPango1_library name 'pango_layout_get_iter'; +function pango_layout_get_justify(layout: PPangoLayout): gboolean; cdecl; external LazPango1_library name 'pango_layout_get_justify'; +function pango_layout_get_line(layout: PPangoLayout; line: gint): PPangoLayoutLine; cdecl; external LazPango1_library name 'pango_layout_get_line'; +function pango_layout_get_line_count(layout: PPangoLayout): gint; cdecl; external LazPango1_library name 'pango_layout_get_line_count'; +function pango_layout_get_line_readonly(layout: PPangoLayout; line: gint): PPangoLayoutLine; cdecl; external LazPango1_library name 'pango_layout_get_line_readonly'; +function pango_layout_get_lines(layout: PPangoLayout): PGSList; cdecl; external LazPango1_library name 'pango_layout_get_lines'; +function pango_layout_get_lines_readonly(layout: PPangoLayout): PGSList; cdecl; external LazPango1_library name 'pango_layout_get_lines_readonly'; +function pango_layout_get_single_paragraph_mode(layout: PPangoLayout): gboolean; cdecl; external LazPango1_library name 'pango_layout_get_single_paragraph_mode'; +function pango_layout_get_spacing(layout: PPangoLayout): gint; cdecl; external LazPango1_library name 'pango_layout_get_spacing'; +function pango_layout_get_tabs(layout: PPangoLayout): PPangoTabArray; cdecl; external LazPango1_library name 'pango_layout_get_tabs'; +function pango_layout_get_text(layout: PPangoLayout): Pgchar; cdecl; external LazPango1_library name 'pango_layout_get_text'; +function pango_layout_get_type: TGType; cdecl; external LazPango1_library name 'pango_layout_get_type'; +function pango_layout_get_unknown_glyphs_count(layout: PPangoLayout): gint; cdecl; external LazPango1_library name 'pango_layout_get_unknown_glyphs_count'; +function pango_layout_get_width(layout: PPangoLayout): gint; cdecl; external LazPango1_library name 'pango_layout_get_width'; +function pango_layout_get_wrap(layout: PPangoLayout): TPangoWrapMode; cdecl; external LazPango1_library name 'pango_layout_get_wrap'; +function pango_layout_is_ellipsized(layout: PPangoLayout): gboolean; cdecl; external LazPango1_library name 'pango_layout_is_ellipsized'; +function pango_layout_is_wrapped(layout: PPangoLayout): gboolean; cdecl; external LazPango1_library name 'pango_layout_is_wrapped'; +function pango_layout_iter_at_last_line(iter: PPangoLayoutIter): gboolean; cdecl; external LazPango1_library name 'pango_layout_iter_at_last_line'; +function pango_layout_iter_get_baseline(iter: PPangoLayoutIter): gint; cdecl; external LazPango1_library name 'pango_layout_iter_get_baseline'; +function pango_layout_iter_get_index(iter: PPangoLayoutIter): gint; cdecl; external LazPango1_library name 'pango_layout_iter_get_index'; +function pango_layout_iter_get_line(iter: PPangoLayoutIter): PPangoLayoutLine; cdecl; external LazPango1_library name 'pango_layout_iter_get_line'; +function pango_layout_iter_get_line_readonly(iter: PPangoLayoutIter): PPangoLayoutLine; cdecl; external LazPango1_library name 'pango_layout_iter_get_line_readonly'; +function pango_layout_iter_get_run(iter: PPangoLayoutIter): PPangoLayoutRun; cdecl; external LazPango1_library name 'pango_layout_iter_get_run'; +function pango_layout_iter_get_run_readonly(iter: PPangoLayoutIter): PPangoLayoutRun; cdecl; external LazPango1_library name 'pango_layout_iter_get_run_readonly'; +function pango_layout_iter_get_type: TGType; cdecl; external LazPango1_library name 'pango_layout_iter_get_type'; +function pango_layout_iter_next_char(iter: PPangoLayoutIter): gboolean; cdecl; external LazPango1_library name 'pango_layout_iter_next_char'; +function pango_layout_iter_next_cluster(iter: PPangoLayoutIter): gboolean; cdecl; external LazPango1_library name 'pango_layout_iter_next_cluster'; +function pango_layout_iter_next_line(iter: PPangoLayoutIter): gboolean; cdecl; external LazPango1_library name 'pango_layout_iter_next_line'; +function pango_layout_iter_next_run(iter: PPangoLayoutIter): gboolean; cdecl; external LazPango1_library name 'pango_layout_iter_next_run'; +function pango_layout_line_get_type: TGType; cdecl; external LazPango1_library name 'pango_layout_line_get_type'; +function pango_layout_line_ref(line: PPangoLayoutLine): PPangoLayoutLine; cdecl; external LazPango1_library name 'pango_layout_line_ref'; +function pango_layout_line_x_to_index(line: PPangoLayoutLine; x_pos: gint; index_: Pgint; trailing: Pgint): gboolean; cdecl; external LazPango1_library name 'pango_layout_line_x_to_index'; +function pango_layout_new(context: PPangoContext): PPangoLayout; cdecl; external LazPango1_library name 'pango_layout_new'; +function pango_layout_xy_to_index(layout: PPangoLayout; x: gint; y: gint; index_: Pgint; trailing: Pgint): gboolean; cdecl; external LazPango1_library name 'pango_layout_xy_to_index'; +function pango_log2vis_get_embedding_levels(text: Pgchar; length: gint; pbase_dir: PPangoDirection): Pguint8; cdecl; external LazPango1_library name 'pango_log2vis_get_embedding_levels'; +function pango_matrix_copy(matrix: PPangoMatrix): PPangoMatrix; cdecl; external LazPango1_library name 'pango_matrix_copy'; +function pango_matrix_get_font_scale_factor(matrix: PPangoMatrix): gdouble; cdecl; external LazPango1_library name 'pango_matrix_get_font_scale_factor'; +function pango_matrix_get_type: TGType; cdecl; external LazPango1_library name 'pango_matrix_get_type'; +function pango_parse_enum(type_: TGType; str: Pgchar; value: Pgint; warn: gboolean; possible_values: PPgchar): gboolean; cdecl; external LazPango1_library name 'pango_parse_enum'; +function pango_parse_markup(markup_text: Pgchar; length: gint; accel_marker: gunichar; attr_list: PPPangoAttrList; text: PPgchar; accel_char: Pgunichar; error: PPGError): gboolean; cdecl; external LazPango1_library name 'pango_parse_markup'; +function pango_parse_stretch(str: Pgchar; stretch: PPangoStretch; warn: gboolean): gboolean; cdecl; external LazPango1_library name 'pango_parse_stretch'; +function pango_parse_style(str: Pgchar; style: PPangoStyle; warn: gboolean): gboolean; cdecl; external LazPango1_library name 'pango_parse_style'; +function pango_parse_variant(str: Pgchar; variant: PPangoVariant; warn: gboolean): gboolean; cdecl; external LazPango1_library name 'pango_parse_variant'; +function pango_parse_weight(str: Pgchar; weight: PPangoWeight; warn: gboolean): gboolean; cdecl; external LazPango1_library name 'pango_parse_weight'; +function pango_read_line(stream: Pgpointer; str: PGString): gint; cdecl; external LazPango1_library name 'pango_read_line'; +function pango_renderer_get_color(renderer: PPangoRenderer; part: TPangoRenderPart): PPangoColor; cdecl; external LazPango1_library name 'pango_renderer_get_color'; +function pango_renderer_get_matrix(renderer: PPangoRenderer): PPangoMatrix; cdecl; external LazPango1_library name 'pango_renderer_get_matrix'; +function pango_renderer_get_type: TGType; cdecl; external LazPango1_library name 'pango_renderer_get_type'; +function pango_reorder_items(items: PGList): PGList; cdecl; external LazPango1_library name 'pango_reorder_items'; +function pango_scan_int(pos: PPgchar; out_: Pgint): gboolean; cdecl; external LazPango1_library name 'pango_scan_int'; +function pango_scan_string(pos: PPgchar; out_: PGString): gboolean; cdecl; external LazPango1_library name 'pango_scan_string'; +function pango_scan_word(pos: PPgchar; out_: PGString): gboolean; cdecl; external LazPango1_library name 'pango_scan_word'; +function pango_script_for_unichar(ch: gunichar): TPangoScript; cdecl; external LazPango1_library name 'pango_script_for_unichar'; +function pango_script_get_sample_language(script: TPangoScript): PPangoLanguage; cdecl; external LazPango1_library name 'pango_script_get_sample_language'; +function pango_script_iter_get_type: TGType; cdecl; external LazPango1_library name 'pango_script_iter_get_type'; +function pango_script_iter_new(text: Pgchar; length: gint): PPangoScriptIter; cdecl; external LazPango1_library name 'pango_script_iter_new'; +function pango_script_iter_next(iter: PPangoScriptIter): gboolean; cdecl; external LazPango1_library name 'pango_script_iter_next'; +function pango_skip_space(pos: PPgchar): gboolean; cdecl; external LazPango1_library name 'pango_skip_space'; +function pango_split_file_list(str: Pgchar): PPgchar; cdecl; external LazPango1_library name 'pango_split_file_list'; +function pango_tab_array_copy(src: PPangoTabArray): PPangoTabArray; cdecl; external LazPango1_library name 'pango_tab_array_copy'; +function pango_tab_array_get_positions_in_pixels(tab_array: PPangoTabArray): gboolean; cdecl; external LazPango1_library name 'pango_tab_array_get_positions_in_pixels'; +function pango_tab_array_get_size(tab_array: PPangoTabArray): gint; cdecl; external LazPango1_library name 'pango_tab_array_get_size'; +function pango_tab_array_get_type: TGType; cdecl; external LazPango1_library name 'pango_tab_array_get_type'; +function pango_tab_array_new(initial_size: gint; positions_in_pixels: gboolean): PPangoTabArray; cdecl; external LazPango1_library name 'pango_tab_array_new'; +function pango_tab_array_new_with_positions(size: gint; positions_in_pixels: gboolean; first_alignment: TPangoTabAlign; first_position: gint; args: array of const): PPangoTabArray; cdecl; external LazPango1_library name 'pango_tab_array_new_with_positions'; +function pango_trim_string(str: Pgchar): Pgchar; cdecl; external LazPango1_library name 'pango_trim_string'; +function pango_unichar_direction(ch: gunichar): TPangoDirection; cdecl; external LazPango1_library name 'pango_unichar_direction'; +function pango_units_from_double(d: gdouble): gint; cdecl; external LazPango1_library name 'pango_units_from_double'; +function pango_units_to_double(i: gint): gdouble; cdecl; external LazPango1_library name 'pango_units_to_double'; +function pango_version: gint; cdecl; external LazPango1_library name 'pango_version'; +function pango_version_check(required_major: gint; required_minor: gint; required_micro: gint): Pgchar; cdecl; external LazPango1_library name 'pango_version_check'; +function pango_version_string: Pgchar; cdecl; external LazPango1_library name 'pango_version_string'; +procedure pango_attr_iterator_destroy(iterator: PPangoAttrIterator); cdecl; external LazPango1_library name 'pango_attr_iterator_destroy'; +procedure pango_attr_iterator_get_font(iterator: PPangoAttrIterator; desc: PPangoFontDescription; language: PPPangoLanguage; extra_attrs: PPGSList); cdecl; external LazPango1_library name 'pango_attr_iterator_get_font'; +procedure pango_attr_iterator_range(iterator: PPangoAttrIterator; start: Pgint; end_: Pgint); cdecl; external LazPango1_library name 'pango_attr_iterator_range'; +procedure pango_attr_list_change(list: PPangoAttrList; attr: PPangoAttribute); cdecl; external LazPango1_library name 'pango_attr_list_change'; +procedure pango_attr_list_insert(list: PPangoAttrList; attr: PPangoAttribute); cdecl; external LazPango1_library name 'pango_attr_list_insert'; +procedure pango_attr_list_insert_before(list: PPangoAttrList; attr: PPangoAttribute); cdecl; external LazPango1_library name 'pango_attr_list_insert_before'; +procedure pango_attr_list_splice(list: PPangoAttrList; other: PPangoAttrList; pos: gint; len: gint); cdecl; external LazPango1_library name 'pango_attr_list_splice'; +procedure pango_attr_list_unref(list: PPangoAttrList); cdecl; external LazPango1_library name 'pango_attr_list_unref'; +procedure pango_attribute_destroy(attr: PPangoAttribute); cdecl; external LazPango1_library name 'pango_attribute_destroy'; +procedure pango_break(text: Pgchar; length: gint; analysis: PPangoAnalysis; attrs: PPangoLogAttr; attrs_len: gint); cdecl; external LazPango1_library name 'pango_break'; +procedure pango_color_free(color: PPangoColor); cdecl; external LazPango1_library name 'pango_color_free'; +procedure pango_context_list_families(context: PPangoContext; families: PPPPangoFontFamily; n_families: Pgint); cdecl; external LazPango1_library name 'pango_context_list_families'; +procedure pango_context_set_base_dir(context: PPangoContext; direction: TPangoDirection); cdecl; external LazPango1_library name 'pango_context_set_base_dir'; +procedure pango_context_set_base_gravity(context: PPangoContext; gravity: TPangoGravity); cdecl; external LazPango1_library name 'pango_context_set_base_gravity'; +procedure pango_context_set_font_description(context: PPangoContext; desc: PPangoFontDescription); cdecl; external LazPango1_library name 'pango_context_set_font_description'; +procedure pango_context_set_font_map(context: PPangoContext; font_map: PPangoFontMap); cdecl; external LazPango1_library name 'pango_context_set_font_map'; +procedure pango_context_set_gravity_hint(context: PPangoContext; hint: TPangoGravityHint); cdecl; external LazPango1_library name 'pango_context_set_gravity_hint'; +procedure pango_context_set_language(context: PPangoContext; language: PPangoLanguage); cdecl; external LazPango1_library name 'pango_context_set_language'; +procedure pango_context_set_matrix(context: PPangoContext; matrix: PPangoMatrix); cdecl; external LazPango1_library name 'pango_context_set_matrix'; +procedure pango_coverage_max(coverage: PPangoCoverage; other: PPangoCoverage); cdecl; external LazPango1_library name 'pango_coverage_max'; deprecated 'This function does nothing'; +procedure pango_coverage_set(coverage: PPangoCoverage; index_: gint; level: TPangoCoverageLevel); cdecl; external LazPango1_library name 'pango_coverage_set'; +procedure pango_coverage_to_bytes(coverage: PPangoCoverage; bytes: PPguint8; n_bytes: Pgint); cdecl; external LazPango1_library name 'pango_coverage_to_bytes'; deprecated 'This returns %NULL'; +procedure pango_coverage_unref(coverage: PPangoCoverage); cdecl; external LazPango1_library name 'pango_coverage_unref'; deprecated 'Use g_object_unref instead'; +procedure pango_default_break(text: Pgchar; length: gint; analysis: PPangoAnalysis; attrs: PPangoLogAttr; attrs_len: gint); cdecl; external LazPango1_library name 'pango_default_break'; +procedure pango_extents_to_pixels(inclusive: PPangoRectangle; nearest: PPangoRectangle); cdecl; external LazPango1_library name 'pango_extents_to_pixels'; +procedure pango_find_paragraph_boundary(text: Pgchar; length: gint; paragraph_delimiter_index: Pgint; next_paragraph_start: Pgint); cdecl; external LazPango1_library name 'pango_find_paragraph_boundary'; +procedure pango_font_description_free(desc: PPangoFontDescription); cdecl; external LazPango1_library name 'pango_font_description_free'; +procedure pango_font_description_merge(desc: PPangoFontDescription; desc_to_merge: PPangoFontDescription; replace_existing: gboolean); cdecl; external LazPango1_library name 'pango_font_description_merge'; +procedure pango_font_description_merge_static(desc: PPangoFontDescription; desc_to_merge: PPangoFontDescription; replace_existing: gboolean); cdecl; external LazPango1_library name 'pango_font_description_merge_static'; +procedure pango_font_description_set_absolute_size(desc: PPangoFontDescription; size: gdouble); cdecl; external LazPango1_library name 'pango_font_description_set_absolute_size'; +procedure pango_font_description_set_family(desc: PPangoFontDescription; family: Pgchar); cdecl; external LazPango1_library name 'pango_font_description_set_family'; +procedure pango_font_description_set_family_static(desc: PPangoFontDescription; family: Pgchar); cdecl; external LazPango1_library name 'pango_font_description_set_family_static'; +procedure pango_font_description_set_gravity(desc: PPangoFontDescription; gravity: TPangoGravity); cdecl; external LazPango1_library name 'pango_font_description_set_gravity'; +procedure pango_font_description_set_size(desc: PPangoFontDescription; size: gint); cdecl; external LazPango1_library name 'pango_font_description_set_size'; +procedure pango_font_description_set_stretch(desc: PPangoFontDescription; stretch: TPangoStretch); cdecl; external LazPango1_library name 'pango_font_description_set_stretch'; +procedure pango_font_description_set_style(desc: PPangoFontDescription; style: TPangoStyle); cdecl; external LazPango1_library name 'pango_font_description_set_style'; +procedure pango_font_description_set_variant(desc: PPangoFontDescription; variant: TPangoVariant); cdecl; external LazPango1_library name 'pango_font_description_set_variant'; +procedure pango_font_description_set_weight(desc: PPangoFontDescription; weight: TPangoWeight); cdecl; external LazPango1_library name 'pango_font_description_set_weight'; +procedure pango_font_description_unset_fields(desc: PPangoFontDescription; to_unset: TPangoFontMask); cdecl; external LazPango1_library name 'pango_font_description_unset_fields'; +procedure pango_font_descriptions_free(descs: PPPangoFontDescription; n_descs: gint); cdecl; external LazPango1_library name 'pango_font_descriptions_free'; +procedure pango_font_face_list_sizes(face: PPangoFontFace; sizes: PPgint; n_sizes: Pgint); cdecl; external LazPango1_library name 'pango_font_face_list_sizes'; +procedure pango_font_family_list_faces(family: PPangoFontFamily; faces: PPPPangoFontFace; n_faces: Pgint); cdecl; external LazPango1_library name 'pango_font_family_list_faces'; +procedure pango_font_get_glyph_extents(font: PPangoFont; glyph: TPangoGlyph; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_font_get_glyph_extents'; +procedure pango_font_map_list_families(fontmap: PPangoFontMap; families: PPPPangoFontFamily; n_families: Pgint); cdecl; external LazPango1_library name 'pango_font_map_list_families'; +procedure pango_font_metrics_unref(metrics: PPangoFontMetrics); cdecl; external LazPango1_library name 'pango_font_metrics_unref'; +procedure pango_fontset_foreach(fontset: PPangoFontset; func: TPangoFontsetForeachFunc; data: gpointer); cdecl; external LazPango1_library name 'pango_fontset_foreach'; +procedure pango_fontset_simple_append(fontset: PPangoFontsetSimple; font: PPangoFont); cdecl; external LazPango1_library name 'pango_fontset_simple_append'; +procedure pango_get_log_attrs(text: Pgchar; length: gint; level: gint; language: PPangoLanguage; attrs: PPangoLogAttr; attrs_len: gint); cdecl; external LazPango1_library name 'pango_get_log_attrs'; +procedure pango_glyph_item_free(glyph_item: PPangoGlyphItem); cdecl; external LazPango1_library name 'pango_glyph_item_free'; +procedure pango_glyph_item_letter_space(glyph_item: PPangoGlyphItem; text: Pgchar; log_attrs: PPangoLogAttr; letter_spacing: gint); cdecl; external LazPango1_library name 'pango_glyph_item_letter_space'; +procedure pango_glyph_string_extents(glyphs: PPangoGlyphString; font: PPangoFont; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_glyph_string_extents'; +procedure pango_glyph_string_extents_range(glyphs: PPangoGlyphString; start: gint; end_: gint; font: PPangoFont; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_glyph_string_extents_range'; +procedure pango_glyph_string_free(string_: PPangoGlyphString); cdecl; external LazPango1_library name 'pango_glyph_string_free'; +procedure pango_glyph_string_get_logical_widths(glyphs: PPangoGlyphString; text: Pgchar; length: gint; embedding_level: gint; logical_widths: Pgint); cdecl; external LazPango1_library name 'pango_glyph_string_get_logical_widths'; +procedure pango_glyph_string_index_to_x(glyphs: PPangoGlyphString; text: Pgchar; length: gint; analysis: PPangoAnalysis; index_: gint; trailing: gboolean; x_pos: Pgint); cdecl; external LazPango1_library name 'pango_glyph_string_index_to_x'; +procedure pango_glyph_string_set_size(string_: PPangoGlyphString; new_len: gint); cdecl; external LazPango1_library name 'pango_glyph_string_set_size'; +procedure pango_glyph_string_x_to_index(glyphs: PPangoGlyphString; text: Pgchar; length: gint; analysis: PPangoAnalysis; x_pos: gint; index_: Pgint; trailing: Pgint); cdecl; external LazPango1_library name 'pango_glyph_string_x_to_index'; +procedure pango_item_free(item: PPangoItem); cdecl; external LazPango1_library name 'pango_item_free'; +procedure pango_layout_context_changed(layout: PPangoLayout); cdecl; external LazPango1_library name 'pango_layout_context_changed'; +procedure pango_layout_get_cursor_pos(layout: PPangoLayout; index_: gint; strong_pos: PPangoRectangle; weak_pos: PPangoRectangle); cdecl; external LazPango1_library name 'pango_layout_get_cursor_pos'; +procedure pango_layout_get_extents(layout: PPangoLayout; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_layout_get_extents'; +procedure pango_layout_get_log_attrs(layout: PPangoLayout; attrs: PPPangoLogAttr; n_attrs: Pgint); cdecl; external LazPango1_library name 'pango_layout_get_log_attrs'; +procedure pango_layout_get_pixel_extents(layout: PPangoLayout; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_layout_get_pixel_extents'; +procedure pango_layout_get_pixel_size(layout: PPangoLayout; width: Pgint; height: Pgint); cdecl; external LazPango1_library name 'pango_layout_get_pixel_size'; +procedure pango_layout_get_size(layout: PPangoLayout; width: Pgint; height: Pgint); cdecl; external LazPango1_library name 'pango_layout_get_size'; +procedure pango_layout_index_to_line_x(layout: PPangoLayout; index_: gint; trailing: gboolean; line: Pgint; x_pos: Pgint); cdecl; external LazPango1_library name 'pango_layout_index_to_line_x'; +procedure pango_layout_index_to_pos(layout: PPangoLayout; index_: gint; pos: PPangoRectangle); cdecl; external LazPango1_library name 'pango_layout_index_to_pos'; +procedure pango_layout_iter_free(iter: PPangoLayoutIter); cdecl; external LazPango1_library name 'pango_layout_iter_free'; +procedure pango_layout_iter_get_char_extents(iter: PPangoLayoutIter; logical_rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_layout_iter_get_char_extents'; +procedure pango_layout_iter_get_cluster_extents(iter: PPangoLayoutIter; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_layout_iter_get_cluster_extents'; +procedure pango_layout_iter_get_layout_extents(iter: PPangoLayoutIter; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_layout_iter_get_layout_extents'; +procedure pango_layout_iter_get_line_extents(iter: PPangoLayoutIter; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_layout_iter_get_line_extents'; +procedure pango_layout_iter_get_line_yrange(iter: PPangoLayoutIter; y0_: Pgint; y1_: Pgint); cdecl; external LazPango1_library name 'pango_layout_iter_get_line_yrange'; +procedure pango_layout_iter_get_run_extents(iter: PPangoLayoutIter; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_layout_iter_get_run_extents'; +procedure pango_layout_line_get_extents(line: PPangoLayoutLine; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_layout_line_get_extents'; +procedure pango_layout_line_get_pixel_extents(layout_line: PPangoLayoutLine; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_layout_line_get_pixel_extents'; +procedure pango_layout_line_get_x_ranges(line: PPangoLayoutLine; start_index: gint; end_index: gint; ranges: PPgint; n_ranges: Pgint); cdecl; external LazPango1_library name 'pango_layout_line_get_x_ranges'; +procedure pango_layout_line_index_to_x(line: PPangoLayoutLine; index_: gint; trailing: gboolean; x_pos: Pgint); cdecl; external LazPango1_library name 'pango_layout_line_index_to_x'; +procedure pango_layout_line_unref(line: PPangoLayoutLine); cdecl; external LazPango1_library name 'pango_layout_line_unref'; +procedure pango_layout_move_cursor_visually(layout: PPangoLayout; strong: gboolean; old_index: gint; old_trailing: gint; direction: gint; new_index: Pgint; new_trailing: Pgint); cdecl; external LazPango1_library name 'pango_layout_move_cursor_visually'; +procedure pango_layout_set_alignment(layout: PPangoLayout; alignment: TPangoAlignment); cdecl; external LazPango1_library name 'pango_layout_set_alignment'; +procedure pango_layout_set_attributes(layout: PPangoLayout; attrs: PPangoAttrList); cdecl; external LazPango1_library name 'pango_layout_set_attributes'; +procedure pango_layout_set_auto_dir(layout: PPangoLayout; auto_dir: gboolean); cdecl; external LazPango1_library name 'pango_layout_set_auto_dir'; +procedure pango_layout_set_ellipsize(layout: PPangoLayout; ellipsize: TPangoEllipsizeMode); cdecl; external LazPango1_library name 'pango_layout_set_ellipsize'; +procedure pango_layout_set_font_description(layout: PPangoLayout; desc: PPangoFontDescription); cdecl; external LazPango1_library name 'pango_layout_set_font_description'; +procedure pango_layout_set_indent(layout: PPangoLayout; indent: gint); cdecl; external LazPango1_library name 'pango_layout_set_indent'; +procedure pango_layout_set_justify(layout: PPangoLayout; justify: gboolean); cdecl; external LazPango1_library name 'pango_layout_set_justify'; +procedure pango_layout_set_markup(layout: PPangoLayout; markup: Pgchar; length: gint); cdecl; external LazPango1_library name 'pango_layout_set_markup'; +procedure pango_layout_set_markup_with_accel(layout: PPangoLayout; markup: Pgchar; length: gint; accel_marker: gunichar; accel_char: Pgunichar); cdecl; external LazPango1_library name 'pango_layout_set_markup_with_accel'; +procedure pango_layout_set_single_paragraph_mode(layout: PPangoLayout; setting: gboolean); cdecl; external LazPango1_library name 'pango_layout_set_single_paragraph_mode'; +procedure pango_layout_set_spacing(layout: PPangoLayout; spacing: gint); cdecl; external LazPango1_library name 'pango_layout_set_spacing'; +procedure pango_layout_set_tabs(layout: PPangoLayout; tabs: PPangoTabArray); cdecl; external LazPango1_library name 'pango_layout_set_tabs'; +procedure pango_layout_set_text(layout: PPangoLayout; text: Pgchar; length: gint); cdecl; external LazPango1_library name 'pango_layout_set_text'; +procedure pango_layout_set_width(layout: PPangoLayout; width: gint); cdecl; external LazPango1_library name 'pango_layout_set_width'; +procedure pango_layout_set_wrap(layout: PPangoLayout; wrap: TPangoWrapMode); cdecl; external LazPango1_library name 'pango_layout_set_wrap'; +procedure pango_matrix_concat(matrix: PPangoMatrix; new_matrix: PPangoMatrix); cdecl; external LazPango1_library name 'pango_matrix_concat'; +procedure pango_matrix_free(matrix: PPangoMatrix); cdecl; external LazPango1_library name 'pango_matrix_free'; +procedure pango_matrix_rotate(matrix: PPangoMatrix; degrees: gdouble); cdecl; external LazPango1_library name 'pango_matrix_rotate'; +procedure pango_matrix_scale(matrix: PPangoMatrix; scale_x: gdouble; scale_y: gdouble); cdecl; external LazPango1_library name 'pango_matrix_scale'; +procedure pango_matrix_transform_distance(matrix: PPangoMatrix; dx: Pgdouble; dy: Pgdouble); cdecl; external LazPango1_library name 'pango_matrix_transform_distance'; +procedure pango_matrix_transform_pixel_rectangle(matrix: PPangoMatrix; rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_matrix_transform_pixel_rectangle'; +procedure pango_matrix_transform_point(matrix: PPangoMatrix; x: Pgdouble; y: Pgdouble); cdecl; external LazPango1_library name 'pango_matrix_transform_point'; +procedure pango_matrix_transform_rectangle(matrix: PPangoMatrix; rect: PPangoRectangle); cdecl; external LazPango1_library name 'pango_matrix_transform_rectangle'; +procedure pango_matrix_translate(matrix: PPangoMatrix; tx: gdouble; ty: gdouble); cdecl; external LazPango1_library name 'pango_matrix_translate'; +procedure pango_quantize_line_geometry(thickness: Pgint; position: Pgint); cdecl; external LazPango1_library name 'pango_quantize_line_geometry'; +procedure pango_renderer_activate(renderer: PPangoRenderer); cdecl; external LazPango1_library name 'pango_renderer_activate'; +procedure pango_renderer_deactivate(renderer: PPangoRenderer); cdecl; external LazPango1_library name 'pango_renderer_deactivate'; +procedure pango_renderer_draw_error_underline(renderer: PPangoRenderer; x: gint; y: gint; width: gint; height: gint); cdecl; external LazPango1_library name 'pango_renderer_draw_error_underline'; +procedure pango_renderer_draw_glyph(renderer: PPangoRenderer; font: PPangoFont; glyph: TPangoGlyph; x: gdouble; y: gdouble); cdecl; external LazPango1_library name 'pango_renderer_draw_glyph'; +procedure pango_renderer_draw_glyphs(renderer: PPangoRenderer; font: PPangoFont; glyphs: PPangoGlyphString; x: gint; y: gint); cdecl; external LazPango1_library name 'pango_renderer_draw_glyphs'; +procedure pango_renderer_draw_layout(renderer: PPangoRenderer; layout: PPangoLayout; x: gint; y: gint); cdecl; external LazPango1_library name 'pango_renderer_draw_layout'; +procedure pango_renderer_draw_layout_line(renderer: PPangoRenderer; line: PPangoLayoutLine; x: gint; y: gint); cdecl; external LazPango1_library name 'pango_renderer_draw_layout_line'; +procedure pango_renderer_draw_rectangle(renderer: PPangoRenderer; part: TPangoRenderPart; x: gint; y: gint; width: gint; height: gint); cdecl; external LazPango1_library name 'pango_renderer_draw_rectangle'; +procedure pango_renderer_draw_trapezoid(renderer: PPangoRenderer; part: TPangoRenderPart; y1_: gdouble; x11: gdouble; x21: gdouble; y2: gdouble; x12: gdouble; x22: gdouble); cdecl; external LazPango1_library name 'pango_renderer_draw_trapezoid'; +procedure pango_renderer_part_changed(renderer: PPangoRenderer; part: TPangoRenderPart); cdecl; external LazPango1_library name 'pango_renderer_part_changed'; +procedure pango_renderer_set_color(renderer: PPangoRenderer; part: TPangoRenderPart; color: PPangoColor); cdecl; external LazPango1_library name 'pango_renderer_set_color'; +procedure pango_renderer_set_matrix(renderer: PPangoRenderer; matrix: PPangoMatrix); cdecl; external LazPango1_library name 'pango_renderer_set_matrix'; +procedure pango_script_iter_free(iter: PPangoScriptIter); cdecl; external LazPango1_library name 'pango_script_iter_free'; +procedure pango_script_iter_get_range(iter: PPangoScriptIter; start: PPgchar; end_: PPgchar; script: PPangoScript); cdecl; external LazPango1_library name 'pango_script_iter_get_range'; +procedure pango_shape(text: Pgchar; length: gint; analysis: PPangoAnalysis; glyphs: PPangoGlyphString); cdecl; external LazPango1_library name 'pango_shape'; +procedure pango_tab_array_free(tab_array: PPangoTabArray); cdecl; external LazPango1_library name 'pango_tab_array_free'; +procedure pango_tab_array_get_tab(tab_array: PPangoTabArray; tab_index: gint; alignment: PPangoTabAlign; location: Pgint); cdecl; external LazPango1_library name 'pango_tab_array_get_tab'; +procedure pango_tab_array_get_tabs(tab_array: PPangoTabArray; alignments: PPPangoTabAlign; locations: PPgint); cdecl; external LazPango1_library name 'pango_tab_array_get_tabs'; +procedure pango_tab_array_resize(tab_array: PPangoTabArray; new_size: gint); cdecl; external LazPango1_library name 'pango_tab_array_resize'; +procedure pango_tab_array_set_tab(tab_array: PPangoTabArray; tab_index: gint; alignment: TPangoTabAlign; location: gint); cdecl; external LazPango1_library name 'pango_tab_array_set_tab'; +implementation +function TPangoGlyphItem.apply_attrs(text: Pgchar; list: PPangoAttrList): PGSList; cdecl; +begin + Result := LazPango1.pango_glyph_item_apply_attrs(@self, text, list); +end; + +procedure TPangoGlyphItem.free; cdecl; +begin + LazPango1.pango_glyph_item_free(@self); +end; + +procedure TPangoGlyphItem.letter_space(text: Pgchar; log_attrs: PPangoLogAttr; letter_spacing: gint); cdecl; +begin + LazPango1.pango_glyph_item_letter_space(@self, text, log_attrs, letter_spacing); +end; + +function TPangoGlyphItem.split(text: Pgchar; split_index: gint): PPangoGlyphItem; cdecl; +begin + Result := LazPango1.pango_glyph_item_split(@self, text, split_index); +end; + +procedure TPangoFont.descriptions_free(descs: PPPangoFontDescription; n_descs: gint); cdecl; +begin + LazPango1.pango_font_descriptions_free(descs, n_descs); +end; + +function TPangoFont.describe: PPangoFontDescription; cdecl; +begin + Result := LazPango1.pango_font_describe(@self); +end; + +function TPangoFont.describe_with_absolute_size: PPangoFontDescription; cdecl; +begin + Result := LazPango1.pango_font_describe_with_absolute_size(@self); +end; + +function TPangoFont.get_coverage(language: PPangoLanguage): PPangoCoverage; cdecl; +begin + Result := LazPango1.pango_font_get_coverage(@self, language); +end; + +function TPangoFont.get_font_map: PPangoFontMap; cdecl; +begin + Result := LazPango1.pango_font_get_font_map(@self); +end; + +procedure TPangoFont.get_glyph_extents(glyph: TPangoGlyph; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_font_get_glyph_extents(@self, glyph, ink_rect, logical_rect); +end; + +function TPangoFont.get_metrics(language: PPangoLanguage): PPangoFontMetrics; cdecl; +begin + Result := LazPango1.pango_font_get_metrics(@self, language); +end; + +function TPangoLanguage.get_sample_string: Pgchar; cdecl; +begin + Result := LazPango1.pango_language_get_sample_string(@self); +end; + +function TPangoLanguage.includes_script(script: TPangoScript): gboolean; cdecl; +begin + Result := LazPango1.pango_language_includes_script(@self, script); +end; + +function TPangoLanguage.matches(range_list: Pgchar): gboolean; cdecl; +begin + Result := LazPango1.pango_language_matches(@self, range_list); +end; + +function TPangoLanguage.to_string: Pgchar; cdecl; +begin + Result := LazPango1.pango_language_to_string(@self); +end; + +function TPangoLanguage.from_string(language: Pgchar): PPangoLanguage; cdecl; +begin + Result := LazPango1.pango_language_from_string(language); +end; + +function TPangoLanguage.get_default: PPangoLanguage; cdecl; +begin + Result := LazPango1.pango_language_get_default(); +end; + +function TPangoAttribute.copy: PPangoAttribute; cdecl; +begin + Result := LazPango1.pango_attribute_copy(@self); +end; + +procedure TPangoAttribute.destroy_; cdecl; +begin + LazPango1.pango_attribute_destroy(@self); +end; + +function TPangoAttribute.equal(attr2: PPangoAttribute): gboolean; cdecl; +begin + Result := LazPango1.pango_attribute_equal(@self, attr2); +end; + +function TPangoColor.copy: PPangoColor; cdecl; +begin + Result := LazPango1.pango_color_copy(@self); +end; + +procedure TPangoColor.free; cdecl; +begin + LazPango1.pango_color_free(@self); +end; + +function TPangoColor.parse(spec: Pgchar): gboolean; cdecl; +begin + Result := LazPango1.pango_color_parse(@self, spec); +end; + +function TPangoColor.to_string: Pgchar; cdecl; +begin + Result := LazPango1.pango_color_to_string(@self); +end; + +function TPangoFontDescription.new: PPangoFontDescription; cdecl; +begin + Result := LazPango1.pango_font_description_new(); +end; + +function TPangoFontDescription.better_match(old_match: PPangoFontDescription; new_match: PPangoFontDescription): gboolean; cdecl; +begin + Result := LazPango1.pango_font_description_better_match(@self, old_match, new_match); +end; + +function TPangoFontDescription.copy: PPangoFontDescription; cdecl; +begin + Result := LazPango1.pango_font_description_copy(@self); +end; + +function TPangoFontDescription.copy_static: PPangoFontDescription; cdecl; +begin + Result := LazPango1.pango_font_description_copy_static(@self); +end; + +function TPangoFontDescription.equal(desc2: PPangoFontDescription): gboolean; cdecl; +begin + Result := LazPango1.pango_font_description_equal(@self, desc2); +end; + +procedure TPangoFontDescription.free; cdecl; +begin + LazPango1.pango_font_description_free(@self); +end; + +function TPangoFontDescription.get_family: Pgchar; cdecl; +begin + Result := LazPango1.pango_font_description_get_family(@self); +end; + +function TPangoFontDescription.get_gravity: TPangoGravity; cdecl; +begin + Result := LazPango1.pango_font_description_get_gravity(@self); +end; + +function TPangoFontDescription.get_set_fields: TPangoFontMask; cdecl; +begin + Result := LazPango1.pango_font_description_get_set_fields(@self); +end; + +function TPangoFontDescription.get_size: gint; cdecl; +begin + Result := LazPango1.pango_font_description_get_size(@self); +end; + +function TPangoFontDescription.get_size_is_absolute: gboolean; cdecl; +begin + Result := LazPango1.pango_font_description_get_size_is_absolute(@self); +end; + +function TPangoFontDescription.get_stretch: TPangoStretch; cdecl; +begin + Result := LazPango1.pango_font_description_get_stretch(@self); +end; + +function TPangoFontDescription.get_style: TPangoStyle; cdecl; +begin + Result := LazPango1.pango_font_description_get_style(@self); +end; + +function TPangoFontDescription.get_variant: TPangoVariant; cdecl; +begin + Result := LazPango1.pango_font_description_get_variant(@self); +end; + +function TPangoFontDescription.get_weight: TPangoWeight; cdecl; +begin + Result := LazPango1.pango_font_description_get_weight(@self); +end; + +function TPangoFontDescription.hash: guint; cdecl; +begin + Result := LazPango1.pango_font_description_hash(@self); +end; + +procedure TPangoFontDescription.merge(desc_to_merge: PPangoFontDescription; replace_existing: gboolean); cdecl; +begin + LazPango1.pango_font_description_merge(@self, desc_to_merge, replace_existing); +end; + +procedure TPangoFontDescription.merge_static(desc_to_merge: PPangoFontDescription; replace_existing: gboolean); cdecl; +begin + LazPango1.pango_font_description_merge_static(@self, desc_to_merge, replace_existing); +end; + +procedure TPangoFontDescription.set_absolute_size(size: gdouble); cdecl; +begin + LazPango1.pango_font_description_set_absolute_size(@self, size); +end; + +procedure TPangoFontDescription.set_family(family: Pgchar); cdecl; +begin + LazPango1.pango_font_description_set_family(@self, family); +end; + +procedure TPangoFontDescription.set_family_static(family: Pgchar); cdecl; +begin + LazPango1.pango_font_description_set_family_static(@self, family); +end; + +procedure TPangoFontDescription.set_gravity(gravity: TPangoGravity); cdecl; +begin + LazPango1.pango_font_description_set_gravity(@self, gravity); +end; + +procedure TPangoFontDescription.set_size(size: gint); cdecl; +begin + LazPango1.pango_font_description_set_size(@self, size); +end; + +procedure TPangoFontDescription.set_stretch(stretch: TPangoStretch); cdecl; +begin + LazPango1.pango_font_description_set_stretch(@self, stretch); +end; + +procedure TPangoFontDescription.set_style(style: TPangoStyle); cdecl; +begin + LazPango1.pango_font_description_set_style(@self, style); +end; + +procedure TPangoFontDescription.set_variant(variant: TPangoVariant); cdecl; +begin + LazPango1.pango_font_description_set_variant(@self, variant); +end; + +procedure TPangoFontDescription.set_weight(weight: TPangoWeight); cdecl; +begin + LazPango1.pango_font_description_set_weight(@self, weight); +end; + +function TPangoFontDescription.to_filename: Pgchar; cdecl; +begin + Result := LazPango1.pango_font_description_to_filename(@self); +end; + +function TPangoFontDescription.to_string: Pgchar; cdecl; +begin + Result := LazPango1.pango_font_description_to_string(@self); +end; + +procedure TPangoFontDescription.unset_fields(to_unset: TPangoFontMask); cdecl; +begin + LazPango1.pango_font_description_unset_fields(@self, to_unset); +end; + +function TPangoFontDescription.from_string(str: Pgchar): PPangoFontDescription; cdecl; +begin + Result := LazPango1.pango_font_description_from_string(str); +end; + +function TPangoAttrFontDesc.new(desc: PPangoFontDescription): PPangoAttribute; cdecl; +begin + Result := LazPango1.pango_attr_font_desc_new(desc); +end; + +function TPangoAttrIterator.copy: PPangoAttrIterator; cdecl; +begin + Result := LazPango1.pango_attr_iterator_copy(@self); +end; + +procedure TPangoAttrIterator.destroy_; cdecl; +begin + LazPango1.pango_attr_iterator_destroy(@self); +end; + +function TPangoAttrIterator.get(type_: TPangoAttrType): PPangoAttribute; cdecl; +begin + Result := LazPango1.pango_attr_iterator_get(@self, type_); +end; + +function TPangoAttrIterator.get_attrs: PGSList; cdecl; +begin + Result := LazPango1.pango_attr_iterator_get_attrs(@self); +end; + +procedure TPangoAttrIterator.get_font(desc: PPangoFontDescription; language: PPPangoLanguage; extra_attrs: PPGSList); cdecl; +begin + LazPango1.pango_attr_iterator_get_font(@self, desc, language, extra_attrs); +end; + +function TPangoAttrIterator.next: gboolean; cdecl; +begin + Result := LazPango1.pango_attr_iterator_next(@self); +end; + +procedure TPangoAttrIterator.range(start: Pgint; end_: Pgint); cdecl; +begin + LazPango1.pango_attr_iterator_range(@self, start, end_); +end; + +function TPangoAttrLanguage.new(language: PPangoLanguage): PPangoAttribute; cdecl; +begin + Result := LazPango1.pango_attr_language_new(language); +end; + +function TPangoAttrList.new: PPangoAttrList; cdecl; +begin + Result := LazPango1.pango_attr_list_new(); +end; + +procedure TPangoAttrList.change(attr: PPangoAttribute); cdecl; +begin + LazPango1.pango_attr_list_change(@self, attr); +end; + +function TPangoAttrList.copy: PPangoAttrList; cdecl; +begin + Result := LazPango1.pango_attr_list_copy(@self); +end; + +function TPangoAttrList.filter(func: TPangoAttrFilterFunc; data: gpointer): PPangoAttrList; cdecl; +begin + Result := LazPango1.pango_attr_list_filter(@self, func, data); +end; + +function TPangoAttrList.get_iterator: PPangoAttrIterator; cdecl; +begin + Result := LazPango1.pango_attr_list_get_iterator(@self); +end; + +procedure TPangoAttrList.insert(attr: PPangoAttribute); cdecl; +begin + LazPango1.pango_attr_list_insert(@self, attr); +end; + +procedure TPangoAttrList.insert_before(attr: PPangoAttribute); cdecl; +begin + LazPango1.pango_attr_list_insert_before(@self, attr); +end; + +function TPangoAttrList.ref: PPangoAttrList; cdecl; +begin + Result := LazPango1.pango_attr_list_ref(@self); +end; + +procedure TPangoAttrList.splice(other: PPangoAttrList; pos: gint; len: gint); cdecl; +begin + LazPango1.pango_attr_list_splice(@self, other, pos, len); +end; + +procedure TPangoAttrList.unref; cdecl; +begin + LazPango1.pango_attr_list_unref(@self); +end; + +function TPangoAttrShape.new(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle): PPangoAttribute; cdecl; +begin + Result := LazPango1.pango_attr_shape_new(ink_rect, logical_rect); +end; + +function TPangoAttrShape.new_with_data(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle; data: gpointer; copy_func: TPangoAttrDataCopyFunc; destroy_func: TGDestroyNotify): PPangoAttribute; cdecl; +begin + Result := LazPango1.pango_attr_shape_new_with_data(ink_rect, logical_rect, data, copy_func, destroy_func); +end; + +function TPangoAttrSize.new(size: gint): PPangoAttribute; cdecl; +begin + Result := LazPango1.pango_attr_size_new(size); +end; + +function TPangoAttrSize.new_absolute(size: gint): PPangoAttribute; cdecl; +begin + Result := LazPango1.pango_attr_size_new_absolute(size); +end; + +function TPangoContext.new: PPangoContext; cdecl; +begin + Result := LazPango1.pango_context_new(); +end; + +function TPangoContext.get_base_dir: TPangoDirection; cdecl; +begin + Result := LazPango1.pango_context_get_base_dir(@self); +end; + +function TPangoContext.get_base_gravity: TPangoGravity; cdecl; +begin + Result := LazPango1.pango_context_get_base_gravity(@self); +end; + +function TPangoContext.get_font_description: PPangoFontDescription; cdecl; +begin + Result := LazPango1.pango_context_get_font_description(@self); +end; + +function TPangoContext.get_font_map: PPangoFontMap; cdecl; +begin + Result := LazPango1.pango_context_get_font_map(@self); +end; + +function TPangoContext.get_gravity: TPangoGravity; cdecl; +begin + Result := LazPango1.pango_context_get_gravity(@self); +end; + +function TPangoContext.get_gravity_hint: TPangoGravityHint; cdecl; +begin + Result := LazPango1.pango_context_get_gravity_hint(@self); +end; + +function TPangoContext.get_language: PPangoLanguage; cdecl; +begin + Result := LazPango1.pango_context_get_language(@self); +end; + +function TPangoContext.get_matrix: PPangoMatrix; cdecl; +begin + Result := LazPango1.pango_context_get_matrix(@self); +end; + +function TPangoContext.get_metrics(desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontMetrics; cdecl; +begin + Result := LazPango1.pango_context_get_metrics(@self, desc, language); +end; + +procedure TPangoContext.list_families(families: PPPPangoFontFamily; n_families: Pgint); cdecl; +begin + LazPango1.pango_context_list_families(@self, families, n_families); +end; + +function TPangoContext.load_font(desc: PPangoFontDescription): PPangoFont; cdecl; +begin + Result := LazPango1.pango_context_load_font(@self, desc); +end; + +function TPangoContext.load_fontset(desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl; +begin + Result := LazPango1.pango_context_load_fontset(@self, desc, language); +end; + +procedure TPangoContext.set_base_dir(direction: TPangoDirection); cdecl; +begin + LazPango1.pango_context_set_base_dir(@self, direction); +end; + +procedure TPangoContext.set_base_gravity(gravity: TPangoGravity); cdecl; +begin + LazPango1.pango_context_set_base_gravity(@self, gravity); +end; + +procedure TPangoContext.set_font_description(desc: PPangoFontDescription); cdecl; +begin + LazPango1.pango_context_set_font_description(@self, desc); +end; + +procedure TPangoContext.set_font_map(font_map: PPangoFontMap); cdecl; +begin + LazPango1.pango_context_set_font_map(@self, font_map); +end; + +procedure TPangoContext.set_gravity_hint(hint: TPangoGravityHint); cdecl; +begin + LazPango1.pango_context_set_gravity_hint(@self, hint); +end; + +procedure TPangoContext.set_language(language: PPangoLanguage); cdecl; +begin + LazPango1.pango_context_set_language(@self, language); +end; + +procedure TPangoContext.set_matrix(matrix: PPangoMatrix); cdecl; +begin + LazPango1.pango_context_set_matrix(@self, matrix); +end; + +procedure TPangoFontMap.list_families(families: PPPPangoFontFamily; n_families: Pgint); cdecl; +begin + LazPango1.pango_font_map_list_families(@self, families, n_families); +end; + +function TPangoFontMap.load_font(context: PPangoContext; desc: PPangoFontDescription): PPangoFont; cdecl; +begin + Result := LazPango1.pango_font_map_load_font(@self, context, desc); +end; + +function TPangoFontMap.load_fontset(context: PPangoContext; desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl; +begin + Result := LazPango1.pango_font_map_load_fontset(@self, context, desc, language); +end; + +procedure TPangoMatrix.concat(new_matrix: PPangoMatrix); cdecl; +begin + LazPango1.pango_matrix_concat(@self, new_matrix); +end; + +function TPangoMatrix.copy: PPangoMatrix; cdecl; +begin + Result := LazPango1.pango_matrix_copy(@self); +end; + +procedure TPangoMatrix.free; cdecl; +begin + LazPango1.pango_matrix_free(@self); +end; + +function TPangoMatrix.get_font_scale_factor: gdouble; cdecl; +begin + Result := LazPango1.pango_matrix_get_font_scale_factor(@self); +end; + +procedure TPangoMatrix.rotate(degrees: gdouble); cdecl; +begin + LazPango1.pango_matrix_rotate(@self, degrees); +end; + +procedure TPangoMatrix.scale(scale_x: gdouble; scale_y: gdouble); cdecl; +begin + LazPango1.pango_matrix_scale(@self, scale_x, scale_y); +end; + +procedure TPangoMatrix.transform_distance(dx: Pgdouble; dy: Pgdouble); cdecl; +begin + LazPango1.pango_matrix_transform_distance(@self, dx, dy); +end; + +procedure TPangoMatrix.transform_pixel_rectangle(rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_matrix_transform_pixel_rectangle(@self, rect); +end; + +procedure TPangoMatrix.transform_point(x: Pgdouble; y: Pgdouble); cdecl; +begin + LazPango1.pango_matrix_transform_point(@self, x, y); +end; + +procedure TPangoMatrix.transform_rectangle(rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_matrix_transform_rectangle(@self, rect); +end; + +procedure TPangoMatrix.translate(tx: gdouble; ty: gdouble); cdecl; +begin + LazPango1.pango_matrix_translate(@self, tx, ty); +end; + +function TPangoFontMetrics.get_approximate_char_width: gint; cdecl; +begin + Result := LazPango1.pango_font_metrics_get_approximate_char_width(@self); +end; + +function TPangoFontMetrics.get_approximate_digit_width: gint; cdecl; +begin + Result := LazPango1.pango_font_metrics_get_approximate_digit_width(@self); +end; + +function TPangoFontMetrics.get_ascent: gint; cdecl; +begin + Result := LazPango1.pango_font_metrics_get_ascent(@self); +end; + +function TPangoFontMetrics.get_descent: gint; cdecl; +begin + Result := LazPango1.pango_font_metrics_get_descent(@self); +end; + +function TPangoFontMetrics.get_strikethrough_position: gint; cdecl; +begin + Result := LazPango1.pango_font_metrics_get_strikethrough_position(@self); +end; + +function TPangoFontMetrics.get_strikethrough_thickness: gint; cdecl; +begin + Result := LazPango1.pango_font_metrics_get_strikethrough_thickness(@self); +end; + +function TPangoFontMetrics.get_underline_position: gint; cdecl; +begin + Result := LazPango1.pango_font_metrics_get_underline_position(@self); +end; + +function TPangoFontMetrics.get_underline_thickness: gint; cdecl; +begin + Result := LazPango1.pango_font_metrics_get_underline_thickness(@self); +end; + +function TPangoFontMetrics.ref: PPangoFontMetrics; cdecl; +begin + Result := LazPango1.pango_font_metrics_ref(@self); +end; + +procedure TPangoFontMetrics.unref; cdecl; +begin + LazPango1.pango_font_metrics_unref(@self); +end; + +function TPangoFontFamily.get_name: Pgchar; cdecl; +begin + Result := LazPango1.pango_font_family_get_name(@self); +end; + +function TPangoFontFamily.is_monospace: gboolean; cdecl; +begin + Result := LazPango1.pango_font_family_is_monospace(@self); +end; + +procedure TPangoFontFamily.list_faces(faces: PPPPangoFontFace; n_faces: Pgint); cdecl; +begin + LazPango1.pango_font_family_list_faces(@self, faces, n_faces); +end; + +procedure TPangoFontset.foreach(func: TPangoFontsetForeachFunc; data: gpointer); cdecl; +begin + LazPango1.pango_fontset_foreach(@self, func, data); +end; + +function TPangoFontset.get_font(wc: guint): PPangoFont; cdecl; +begin + Result := LazPango1.pango_fontset_get_font(@self, wc); +end; + +function TPangoFontset.get_metrics: PPangoFontMetrics; cdecl; +begin + Result := LazPango1.pango_fontset_get_metrics(@self); +end; + +function TPangoCoverage.new: PPangoCoverage; cdecl; +begin + Result := LazPango1.pango_coverage_new(); +end; + +function TPangoCoverage.from_bytes(bytes: Pguint8; n_bytes: gint): PPangoCoverage; cdecl; +begin + Result := LazPango1.pango_coverage_from_bytes(bytes, n_bytes); +end; + +function TPangoCoverage.copy: PPangoCoverage; cdecl; +begin + Result := LazPango1.pango_coverage_copy(@self); +end; + +function TPangoCoverage.get(index_: gint): TPangoCoverageLevel; cdecl; +begin + Result := LazPango1.pango_coverage_get(@self, index_); +end; + +procedure TPangoCoverage.max(other: PPangoCoverage); cdecl; +begin + LazPango1.pango_coverage_max(@self, other); +end; + +function TPangoCoverage.ref: PPangoCoverage; cdecl; +begin + Result := LazPango1.pango_coverage_ref(@self); +end; + +procedure TPangoCoverage.set_(index_: gint; level: TPangoCoverageLevel); cdecl; +begin + LazPango1.pango_coverage_set(@self, index_, level); +end; + +procedure TPangoCoverage.to_bytes(bytes: PPguint8; n_bytes: Pgint); cdecl; +begin + LazPango1.pango_coverage_to_bytes(@self, bytes, n_bytes); +end; + +procedure TPangoCoverage.unref; cdecl; +begin + LazPango1.pango_coverage_unref(@self); +end; + +function TPangoFontFace.describe: PPangoFontDescription; cdecl; +begin + Result := LazPango1.pango_font_face_describe(@self); +end; + +function TPangoFontFace.get_face_name: Pgchar; cdecl; +begin + Result := LazPango1.pango_font_face_get_face_name(@self); +end; + +procedure TPangoFontFace.list_sizes(sizes: PPgint; n_sizes: Pgint); cdecl; +begin + LazPango1.pango_font_face_list_sizes(@self, sizes, n_sizes); +end; + +function TPangoFontsetSimple.new(language: PPangoLanguage): PPangoFontsetSimple; cdecl; +begin + Result := LazPango1.pango_fontset_simple_new(language); +end; + +procedure TPangoFontsetSimple.append(font: PPangoFont); cdecl; +begin + LazPango1.pango_fontset_simple_append(@self, font); +end; + +function TPangoFontsetSimple.size: gint; cdecl; +begin + Result := LazPango1.pango_fontset_simple_size(@self); +end; + +function TPangoItem.new: PPangoItem; cdecl; +begin + Result := LazPango1.pango_item_new(); +end; + +function TPangoItem.copy: PPangoItem; cdecl; +begin + Result := LazPango1.pango_item_copy(@self); +end; + +procedure TPangoItem.free; cdecl; +begin + LazPango1.pango_item_free(@self); +end; + +function TPangoItem.split(split_index: gint; split_offset: gint): PPangoItem; cdecl; +begin + Result := LazPango1.pango_item_split(@self, split_index, split_offset); +end; + +function TPangoGlyphString.new: PPangoGlyphString; cdecl; +begin + Result := LazPango1.pango_glyph_string_new(); +end; + +function TPangoGlyphString.copy: PPangoGlyphString; cdecl; +begin + Result := LazPango1.pango_glyph_string_copy(@self); +end; + +procedure TPangoGlyphString.extents(font: PPangoFont; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_glyph_string_extents(@self, font, ink_rect, logical_rect); +end; + +procedure TPangoGlyphString.extents_range(start: gint; end_: gint; font: PPangoFont; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_glyph_string_extents_range(@self, start, end_, font, ink_rect, logical_rect); +end; + +procedure TPangoGlyphString.free; cdecl; +begin + LazPango1.pango_glyph_string_free(@self); +end; + +procedure TPangoGlyphString.get_logical_widths(text: Pgchar; length: gint; embedding_level: gint; logical_widths: Pgint); cdecl; +begin + LazPango1.pango_glyph_string_get_logical_widths(@self, text, length, embedding_level, logical_widths); +end; + +function TPangoGlyphString.get_width: gint; cdecl; +begin + Result := LazPango1.pango_glyph_string_get_width(@self); +end; + +procedure TPangoGlyphString.index_to_x(text: Pgchar; length: gint; analysis: PPangoAnalysis; index_: gint; trailing: gboolean; x_pos: Pgint); cdecl; +begin + LazPango1.pango_glyph_string_index_to_x(@self, text, length, analysis, index_, trailing, x_pos); +end; + +procedure TPangoGlyphString.set_size(new_len: gint); cdecl; +begin + LazPango1.pango_glyph_string_set_size(@self, new_len); +end; + +procedure TPangoGlyphString.x_to_index(text: Pgchar; length: gint; analysis: PPangoAnalysis; x_pos: gint; index_: Pgint; trailing: Pgint); cdecl; +begin + LazPango1.pango_glyph_string_x_to_index(@self, text, length, analysis, x_pos, index_, trailing); +end; + +function TPangoLayout.new(context: PPangoContext): PPangoLayout; cdecl; +begin + Result := LazPango1.pango_layout_new(context); +end; + +procedure TPangoLayout.context_changed; cdecl; +begin + LazPango1.pango_layout_context_changed(@self); +end; + +function TPangoLayout.copy: PPangoLayout; cdecl; +begin + Result := LazPango1.pango_layout_copy(@self); +end; + +function TPangoLayout.get_alignment: TPangoAlignment; cdecl; +begin + Result := LazPango1.pango_layout_get_alignment(@self); +end; + +function TPangoLayout.get_attributes: PPangoAttrList; cdecl; +begin + Result := LazPango1.pango_layout_get_attributes(@self); +end; + +function TPangoLayout.get_auto_dir: gboolean; cdecl; +begin + Result := LazPango1.pango_layout_get_auto_dir(@self); +end; + +function TPangoLayout.get_context: PPangoContext; cdecl; +begin + Result := LazPango1.pango_layout_get_context(@self); +end; + +procedure TPangoLayout.get_cursor_pos(index_: gint; strong_pos: PPangoRectangle; weak_pos: PPangoRectangle); cdecl; +begin + LazPango1.pango_layout_get_cursor_pos(@self, index_, strong_pos, weak_pos); +end; + +function TPangoLayout.get_ellipsize: TPangoEllipsizeMode; cdecl; +begin + Result := LazPango1.pango_layout_get_ellipsize(@self); +end; + +procedure TPangoLayout.get_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_layout_get_extents(@self, ink_rect, logical_rect); +end; + +function TPangoLayout.get_font_description: PPangoFontDescription; cdecl; +begin + Result := LazPango1.pango_layout_get_font_description(@self); +end; + +function TPangoLayout.get_indent: gint; cdecl; +begin + Result := LazPango1.pango_layout_get_indent(@self); +end; + +function TPangoLayout.get_iter: PPangoLayoutIter; cdecl; +begin + Result := LazPango1.pango_layout_get_iter(@self); +end; + +function TPangoLayout.get_justify: gboolean; cdecl; +begin + Result := LazPango1.pango_layout_get_justify(@self); +end; + +function TPangoLayout.get_line(line: gint): PPangoLayoutLine; cdecl; +begin + Result := LazPango1.pango_layout_get_line(@self, line); +end; + +function TPangoLayout.get_line_count: gint; cdecl; +begin + Result := LazPango1.pango_layout_get_line_count(@self); +end; + +function TPangoLayout.get_line_readonly(line: gint): PPangoLayoutLine; cdecl; +begin + Result := LazPango1.pango_layout_get_line_readonly(@self, line); +end; + +function TPangoLayout.get_lines: PGSList; cdecl; +begin + Result := LazPango1.pango_layout_get_lines(@self); +end; + +function TPangoLayout.get_lines_readonly: PGSList; cdecl; +begin + Result := LazPango1.pango_layout_get_lines_readonly(@self); +end; + +procedure TPangoLayout.get_log_attrs(attrs: PPPangoLogAttr; n_attrs: Pgint); cdecl; +begin + LazPango1.pango_layout_get_log_attrs(@self, attrs, n_attrs); +end; + +procedure TPangoLayout.get_pixel_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_layout_get_pixel_extents(@self, ink_rect, logical_rect); +end; + +procedure TPangoLayout.get_pixel_size(width: Pgint; height: Pgint); cdecl; +begin + LazPango1.pango_layout_get_pixel_size(@self, width, height); +end; + +function TPangoLayout.get_single_paragraph_mode: gboolean; cdecl; +begin + Result := LazPango1.pango_layout_get_single_paragraph_mode(@self); +end; + +procedure TPangoLayout.get_size(width: Pgint; height: Pgint); cdecl; +begin + LazPango1.pango_layout_get_size(@self, width, height); +end; + +function TPangoLayout.get_spacing: gint; cdecl; +begin + Result := LazPango1.pango_layout_get_spacing(@self); +end; + +function TPangoLayout.get_tabs: PPangoTabArray; cdecl; +begin + Result := LazPango1.pango_layout_get_tabs(@self); +end; + +function TPangoLayout.get_text: Pgchar; cdecl; +begin + Result := LazPango1.pango_layout_get_text(@self); +end; + +function TPangoLayout.get_unknown_glyphs_count: gint; cdecl; +begin + Result := LazPango1.pango_layout_get_unknown_glyphs_count(@self); +end; + +function TPangoLayout.get_width: gint; cdecl; +begin + Result := LazPango1.pango_layout_get_width(@self); +end; + +function TPangoLayout.get_wrap: TPangoWrapMode; cdecl; +begin + Result := LazPango1.pango_layout_get_wrap(@self); +end; + +procedure TPangoLayout.index_to_line_x(index_: gint; trailing: gboolean; line: Pgint; x_pos: Pgint); cdecl; +begin + LazPango1.pango_layout_index_to_line_x(@self, index_, trailing, line, x_pos); +end; + +procedure TPangoLayout.index_to_pos(index_: gint; pos: PPangoRectangle); cdecl; +begin + LazPango1.pango_layout_index_to_pos(@self, index_, pos); +end; + +function TPangoLayout.is_ellipsized: gboolean; cdecl; +begin + Result := LazPango1.pango_layout_is_ellipsized(@self); +end; + +function TPangoLayout.is_wrapped: gboolean; cdecl; +begin + Result := LazPango1.pango_layout_is_wrapped(@self); +end; + +procedure TPangoLayout.move_cursor_visually(strong: gboolean; old_index: gint; old_trailing: gint; direction: gint; new_index: Pgint; new_trailing: Pgint); cdecl; +begin + LazPango1.pango_layout_move_cursor_visually(@self, strong, old_index, old_trailing, direction, new_index, new_trailing); +end; + +procedure TPangoLayout.set_alignment(alignment: TPangoAlignment); cdecl; +begin + LazPango1.pango_layout_set_alignment(@self, alignment); +end; + +procedure TPangoLayout.set_attributes(attrs: PPangoAttrList); cdecl; +begin + LazPango1.pango_layout_set_attributes(@self, attrs); +end; + +procedure TPangoLayout.set_auto_dir(auto_dir: gboolean); cdecl; +begin + LazPango1.pango_layout_set_auto_dir(@self, auto_dir); +end; + +procedure TPangoLayout.set_ellipsize(ellipsize: TPangoEllipsizeMode); cdecl; +begin + LazPango1.pango_layout_set_ellipsize(@self, ellipsize); +end; + +procedure TPangoLayout.set_font_description(desc: PPangoFontDescription); cdecl; +begin + LazPango1.pango_layout_set_font_description(@self, desc); +end; + +procedure TPangoLayout.set_indent(indent: gint); cdecl; +begin + LazPango1.pango_layout_set_indent(@self, indent); +end; + +procedure TPangoLayout.set_justify(justify: gboolean); cdecl; +begin + LazPango1.pango_layout_set_justify(@self, justify); +end; + +procedure TPangoLayout.set_markup(markup: Pgchar; length: gint); cdecl; +begin + LazPango1.pango_layout_set_markup(@self, markup, length); +end; + +procedure TPangoLayout.set_markup_with_accel(markup: Pgchar; length: gint; accel_marker: gunichar; accel_char: Pgunichar); cdecl; +begin + LazPango1.pango_layout_set_markup_with_accel(@self, markup, length, accel_marker, accel_char); +end; + +procedure TPangoLayout.set_single_paragraph_mode(setting: gboolean); cdecl; +begin + LazPango1.pango_layout_set_single_paragraph_mode(@self, setting); +end; + +procedure TPangoLayout.set_spacing(spacing: gint); cdecl; +begin + LazPango1.pango_layout_set_spacing(@self, spacing); +end; + +procedure TPangoLayout.set_tabs(tabs: PPangoTabArray); cdecl; +begin + LazPango1.pango_layout_set_tabs(@self, tabs); +end; + +procedure TPangoLayout.set_text(text: Pgchar; length: gint); cdecl; +begin + LazPango1.pango_layout_set_text(@self, text, length); +end; + +procedure TPangoLayout.set_width(width: gint); cdecl; +begin + LazPango1.pango_layout_set_width(@self, width); +end; + +procedure TPangoLayout.set_wrap(wrap: TPangoWrapMode); cdecl; +begin + LazPango1.pango_layout_set_wrap(@self, wrap); +end; + +function TPangoLayout.xy_to_index(x: gint; y: gint; index_: Pgint; trailing: Pgint): gboolean; cdecl; +begin + Result := LazPango1.pango_layout_xy_to_index(@self, x, y, index_, trailing); +end; + +function TPangoLayoutIter.at_last_line: gboolean; cdecl; +begin + Result := LazPango1.pango_layout_iter_at_last_line(@self); +end; + +procedure TPangoLayoutIter.free; cdecl; +begin + LazPango1.pango_layout_iter_free(@self); +end; + +function TPangoLayoutIter.get_baseline: gint; cdecl; +begin + Result := LazPango1.pango_layout_iter_get_baseline(@self); +end; + +procedure TPangoLayoutIter.get_char_extents(logical_rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_layout_iter_get_char_extents(@self, logical_rect); +end; + +procedure TPangoLayoutIter.get_cluster_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_layout_iter_get_cluster_extents(@self, ink_rect, logical_rect); +end; + +function TPangoLayoutIter.get_index: gint; cdecl; +begin + Result := LazPango1.pango_layout_iter_get_index(@self); +end; + +procedure TPangoLayoutIter.get_layout_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_layout_iter_get_layout_extents(@self, ink_rect, logical_rect); +end; + +function TPangoLayoutIter.get_line: PPangoLayoutLine; cdecl; +begin + Result := LazPango1.pango_layout_iter_get_line(@self); +end; + +procedure TPangoLayoutIter.get_line_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_layout_iter_get_line_extents(@self, ink_rect, logical_rect); +end; + +function TPangoLayoutIter.get_line_readonly: PPangoLayoutLine; cdecl; +begin + Result := LazPango1.pango_layout_iter_get_line_readonly(@self); +end; + +procedure TPangoLayoutIter.get_line_yrange(y0_: Pgint; y1_: Pgint); cdecl; +begin + LazPango1.pango_layout_iter_get_line_yrange(@self, y0_, y1_); +end; + +function TPangoLayoutIter.get_run: PPangoLayoutRun; cdecl; +begin + Result := LazPango1.pango_layout_iter_get_run(@self); +end; + +procedure TPangoLayoutIter.get_run_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_layout_iter_get_run_extents(@self, ink_rect, logical_rect); +end; + +function TPangoLayoutIter.get_run_readonly: PPangoLayoutRun; cdecl; +begin + Result := LazPango1.pango_layout_iter_get_run_readonly(@self); +end; + +function TPangoLayoutIter.next_char: gboolean; cdecl; +begin + Result := LazPango1.pango_layout_iter_next_char(@self); +end; + +function TPangoLayoutIter.next_cluster: gboolean; cdecl; +begin + Result := LazPango1.pango_layout_iter_next_cluster(@self); +end; + +function TPangoLayoutIter.next_line: gboolean; cdecl; +begin + Result := LazPango1.pango_layout_iter_next_line(@self); +end; + +function TPangoLayoutIter.next_run: gboolean; cdecl; +begin + Result := LazPango1.pango_layout_iter_next_run(@self); +end; + +procedure TPangoLayoutLine.get_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_layout_line_get_extents(@self, ink_rect, logical_rect); +end; + +procedure TPangoLayoutLine.get_pixel_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; +begin + LazPango1.pango_layout_line_get_pixel_extents(@self, ink_rect, logical_rect); +end; + +procedure TPangoLayoutLine.get_x_ranges(start_index: gint; end_index: gint; ranges: PPgint; n_ranges: Pgint); cdecl; +begin + LazPango1.pango_layout_line_get_x_ranges(@self, start_index, end_index, ranges, n_ranges); +end; + +procedure TPangoLayoutLine.index_to_x(index_: gint; trailing: gboolean; x_pos: Pgint); cdecl; +begin + LazPango1.pango_layout_line_index_to_x(@self, index_, trailing, x_pos); +end; + +function TPangoLayoutLine.ref: PPangoLayoutLine; cdecl; +begin + Result := LazPango1.pango_layout_line_ref(@self); +end; + +procedure TPangoLayoutLine.unref; cdecl; +begin + LazPango1.pango_layout_line_unref(@self); +end; + +function TPangoLayoutLine.x_to_index(x_pos: gint; index_: Pgint; trailing: Pgint): gboolean; cdecl; +begin + Result := LazPango1.pango_layout_line_x_to_index(@self, x_pos, index_, trailing); +end; + +function TPangoTabArray.new(initial_size: gint; positions_in_pixels: gboolean): PPangoTabArray; cdecl; +begin + Result := LazPango1.pango_tab_array_new(initial_size, positions_in_pixels); +end; + +function TPangoTabArray.copy: PPangoTabArray; cdecl; +begin + Result := LazPango1.pango_tab_array_copy(@self); +end; + +procedure TPangoTabArray.free; cdecl; +begin + LazPango1.pango_tab_array_free(@self); +end; + +function TPangoTabArray.get_positions_in_pixels: gboolean; cdecl; +begin + Result := LazPango1.pango_tab_array_get_positions_in_pixels(@self); +end; + +function TPangoTabArray.get_size: gint; cdecl; +begin + Result := LazPango1.pango_tab_array_get_size(@self); +end; + +procedure TPangoTabArray.get_tab(tab_index: gint; alignment: PPangoTabAlign; location: Pgint); cdecl; +begin + LazPango1.pango_tab_array_get_tab(@self, tab_index, alignment, location); +end; + +procedure TPangoTabArray.get_tabs(alignments: PPPangoTabAlign; locations: PPgint); cdecl; +begin + LazPango1.pango_tab_array_get_tabs(@self, alignments, locations); +end; + +procedure TPangoTabArray.resize(new_size: gint); cdecl; +begin + LazPango1.pango_tab_array_resize(@self, new_size); +end; + +procedure TPangoTabArray.set_tab(tab_index: gint; alignment: TPangoTabAlign; location: gint); cdecl; +begin + LazPango1.pango_tab_array_set_tab(@self, tab_index, alignment, location); +end; + +procedure TPangoRenderer.activate; cdecl; +begin + LazPango1.pango_renderer_activate(@self); +end; + +procedure TPangoRenderer.deactivate; cdecl; +begin + LazPango1.pango_renderer_deactivate(@self); +end; + +procedure TPangoRenderer.draw_error_underline(x: gint; y: gint; width: gint; height: gint); cdecl; +begin + LazPango1.pango_renderer_draw_error_underline(@self, x, y, width, height); +end; + +procedure TPangoRenderer.draw_glyph(font: PPangoFont; glyph: TPangoGlyph; x: gdouble; y: gdouble); cdecl; +begin + LazPango1.pango_renderer_draw_glyph(@self, font, glyph, x, y); +end; + +procedure TPangoRenderer.draw_glyphs(font: PPangoFont; glyphs: PPangoGlyphString; x: gint; y: gint); cdecl; +begin + LazPango1.pango_renderer_draw_glyphs(@self, font, glyphs, x, y); +end; + +procedure TPangoRenderer.draw_layout(layout: PPangoLayout; x: gint; y: gint); cdecl; +begin + LazPango1.pango_renderer_draw_layout(@self, layout, x, y); +end; + +procedure TPangoRenderer.draw_layout_line(line: PPangoLayoutLine; x: gint; y: gint); cdecl; +begin + LazPango1.pango_renderer_draw_layout_line(@self, line, x, y); +end; + +procedure TPangoRenderer.draw_rectangle(part: TPangoRenderPart; x: gint; y: gint; width: gint; height: gint); cdecl; +begin + LazPango1.pango_renderer_draw_rectangle(@self, part, x, y, width, height); +end; + +procedure TPangoRenderer.draw_trapezoid(part: TPangoRenderPart; y1_: gdouble; x11: gdouble; x21: gdouble; y2: gdouble; x12: gdouble; x22: gdouble); cdecl; +begin + LazPango1.pango_renderer_draw_trapezoid(@self, part, y1_, x11, x21, y2, x12, x22); +end; + +function TPangoRenderer.get_color(part: TPangoRenderPart): PPangoColor; cdecl; +begin + Result := LazPango1.pango_renderer_get_color(@self, part); +end; + +function TPangoRenderer.get_matrix: PPangoMatrix; cdecl; +begin + Result := LazPango1.pango_renderer_get_matrix(@self); +end; + +procedure TPangoRenderer.part_changed(part: TPangoRenderPart); cdecl; +begin + LazPango1.pango_renderer_part_changed(@self, part); +end; + +procedure TPangoRenderer.set_color(part: TPangoRenderPart; color: PPangoColor); cdecl; +begin + LazPango1.pango_renderer_set_color(@self, part, color); +end; + +procedure TPangoRenderer.set_matrix(matrix: PPangoMatrix); cdecl; +begin + LazPango1.pango_renderer_set_matrix(@self, matrix); +end; + +function TPangoScriptIter.new(text: Pgchar; length: gint): PPangoScriptIter; cdecl; +begin + Result := LazPango1.pango_script_iter_new(text, length); +end; + +procedure TPangoScriptIter.free; cdecl; +begin + LazPango1.pango_script_iter_free(@self); +end; + +procedure TPangoScriptIter.get_range(start: PPgchar; end_: PPgchar; script: PPangoScript); cdecl; +begin + LazPango1.pango_script_iter_get_range(@self, start, end_, script); +end; + +function TPangoScriptIter.next: gboolean; cdecl; +begin + Result := LazPango1.pango_script_iter_next(@self); +end; + +end. -- cgit v1.2.3