/packages/gtk2/src/pango/pango-font.inc
https://github.com/slibre/freepascal · Pascal · 401 lines · 281 code · 67 blank · 53 comment · 0 complexity · 68a52888f63140a2a07f9e27d54c5c7d MD5 · raw file
- // included by pango.pp
- {$IFDEF read_forward_definitions}
- {$ifdef PANGO_ENABLE_BACKEND}
- PPangoFont = ^TPangoFont;
- PPangoFontMetrics = ^TPangoFontMetrics;
- {$ENDIF}
- {$ENDIF read_forward_definitions}
- //------------------------------------------------------------------------------
- {$IFDEF read_interface_types}
- PPangoStyle = ^TPangoStyle;
- TPangoStyle = gint;
- PPangoVariant = ^TPangoVariant;
- TPangoVariant = gint;
- PPangoWeight = ^TPangoWeight;
- TPangoWeight = gint;
- PPangoStretch = ^TPangoStretch;
- TPangoStretch = gint;
- PPangoFontMask = ^TPangoFontMask;
- TPangoFontMask = longint; // see below for possible values
- {$ifdef PANGO_ENABLE_BACKEND}
- TPangoFontMetrics = record
- ref_count : guint;
- ascent : longint;
- descent : longint;
- approximate_char_width : longint;
- approximate_digit_width : longint;
- end;
- PPangoFontFamily = ^TPangoFontFamily;
- PPPangoFontFamily = ^PPangoFontFamily;
- PPPPangoFontFamily = ^PPPangoFontFamily;
- TPangoFontFamily = record
- parent_instance : TGObject;
- end;
- { Padding for future expansion }
- {}
- PPangoFontFace = ^TPangoFontFace;
- PPPangoFontFace = ^PPangoFontFace;
- PPPPangoFontFace = ^PPPangoFontFace;
- TPangoFontFace = record
- parent_instance : TGObject;
- end;
- TPangoFontFamilyClassListFaces =
- procedure (family:PPangoFontFamily; faces:PPPPangoFontFace;
- n_faces:Plongint); cdecl;
- TPangoFontFamilyClassGetName =
- function (family:PPangoFontFamily):Pchar; cdecl;
- PPangoFontFamilyClass = ^TPangoFontFamilyClass;
- TPangoFontFamilyClass = record
- parent_class : TGObjectClass;
- list_faces : TPangoFontFamilyClassListFaces;
- get_name : TPangoFontFamilyClassGetName;
- _pango_reserved1 : procedure; cdecl;
- _pango_reserved2 : procedure; cdecl;
- _pango_reserved3 : procedure; cdecl;
- _pango_reserved4 : procedure; cdecl;
- end;
- { Padding for future expansion }
- PPangoFontFaceClass = ^TPangoFontFaceClass;
- TPangoFontFaceClass = record
- parent_class : TGObjectClass;
- get_face_name : function (face:PPangoFontFace):Pchar; cdecl;
- describe : function (face:PPangoFontFace):PPangoFontDescription; cdecl;
- _pango_reserved1 : procedure ; cdecl;
- _pango_reserved2 : procedure ; cdecl;
- _pango_reserved3 : procedure ; cdecl;
- _pango_reserved4 : procedure ; cdecl;
- end;
- TPangoFont = record
- parent_instance : TGObject;
- end;
- TPangoFontClassDescribe =
- function (font:PPangoFont):PPangoFontDescription; cdecl;
- TPangoFontClassGetCoverage =
- function (font:PPangoFont; lang:PPangoLanguage):PPangoCoverage;
- TPangoFontClassFindShaper =
- function (font:PPangoFont; lang:PPangoLanguage;
- ch:guint32):PPangoEngineShape;
- TPangoFontClassGetGlyphExtents =
- procedure (font:PPangoFont; glyph:TPangoGlyph; ink_rect:PPangoRectangle;
- logical_rect:PPangoRectangle);
- TPangoFontClassGetMetrics =
- function (font:PPangoFont; language:PPangoLanguage):PPangoFontMetrics;
- { Padding for future expansion }
- PPangoFontClass = ^TPangoFontClass;
- TPangoFontClass = record
- parent_class : TGObjectClass;
- describe : TPangoFontClassDescribe;
- get_coverage : TPangoFontClassGetCoverage;
- find_shaper : TPangoFontClassFindShaper;
- get_glyph_extents : TPangoFontClassGetGlyphExtents;
- get_metrics : TPangoFontClassGetMetrics;
- _pango_reserved1 : procedure ; cdecl;
- _pango_reserved2 : procedure ; cdecl;
- _pango_reserved3 : procedure ; cdecl;
- _pango_reserved4 : procedure ; cdecl;
- end;
- {$ENDIF PANGO_ENABLE_BACKEND}
- {$ENDIF read_interface_types}
- //-----------------------------------------------------------------------------
- {$IFDEF read_interface_functions}
- const
- // values for TPangoStyle
- PANGO_STYLE_NORMAL = 0; // the font is upright
- PANGO_STYLE_OBLIQUE = 1; // the font is slanted, but in a roman style
- PANGO_STYLE_ITALIC = 2; // the font is slanted in an italic style
- //values for TPangoVariant
- PANGO_VARIANT_NORMAL = 0;
- PANGO_VARIANT_SMALL_CAPS = 1;
- // values for TPangoWeight
- PANGO_WEIGHT_ULTRALIGHT = 200;
- PANGO_WEIGHT_LIGHT = 300;
- PANGO_WEIGHT_NORMAL = 400;
- PANGO_WEIGHT_BOLD = 700;
- PANGO_WEIGHT_ULTRABOLD = 800;
- PANGO_WEIGHT_HEAVY = 900;
- //values for TPangoStretch
- 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;
- // values for TPangoFontMask
- PANGO_FONT_MASK_FAMILY = 1 shl 0;
- PANGO_FONT_MASK_STYLE = 1 shl 1;
- PANGO_FONT_MASK_VARIANT = 1 shl 2;
- PANGO_FONT_MASK_WEIGHT = 1 shl 3;
- PANGO_FONT_MASK_STRETCH = 1 shl 4;
- PANGO_FONT_MASK_SIZE = 1 shl 5;
- { CSS scale factors (1.2 factor between each size) }
- PANGO_SCALE_XX_SMALL = 0.5787037037037;
- PANGO_SCALE_X_SMALL = 0.6444444444444;
- PANGO_SCALE_SMALL = 0.8333333333333;
- PANGO_SCALE_MEDIUM = 1.0;
- PANGO_SCALE_LARGE = 1.2;
- PANGO_SCALE_X_LARGE = 1.4399999999999;
- PANGO_SCALE_XX_LARGE = 1.728;
- {
- PangoFontDescription
- }
- function PANGO_TYPE_FONT_DESCRIPTION : GType;
- function pango_font_description_get_type:GType; cdecl; external pangolib;
- function pango_font_description_new:PPangoFontDescription; cdecl; external pangolib;
- function pango_font_description_copy(desc:PPangoFontDescription):PPangoFontDescription; cdecl; external pangolib;
- function pango_font_description_copy_static(desc:PPangoFontDescription):PPangoFontDescription; cdecl; external pangolib;
- function pango_font_description_hash(desc:PPangoFontDescription):guint; cdecl; external pangolib;
- function pango_font_description_equal(desc1:PPangoFontDescription; desc2:PPangoFontDescription):gboolean; cdecl; external pangolib;
- procedure pango_font_description_free(desc:PPangoFontDescription); cdecl; external pangolib;
- procedure pango_font_descriptions_free(var descs:PPangoFontDescription; n_descs:longint); cdecl; external pangolib;
- procedure pango_font_description_set_family(desc:PPangoFontDescription; family:Pchar); cdecl; external pangolib;
- procedure pango_font_description_set_family_static(desc:PPangoFontDescription; family:Pchar); cdecl; external pangolib;
- function pango_font_description_get_family(desc:PPangoFontDescription):Pchar; cdecl; external pangolib;
- procedure pango_font_description_set_style(desc:PPangoFontDescription; style:TPangoStyle); cdecl; external pangolib;
- function pango_font_description_get_style(desc:PPangoFontDescription):TPangoStyle; cdecl; external pangolib;
- procedure pango_font_description_set_variant(desc:PPangoFontDescription; variant:TPangoVariant); cdecl; external pangolib;
- function pango_font_description_get_variant(desc:PPangoFontDescription):TPangoVariant; cdecl; external pangolib;
- procedure pango_font_description_set_weight(desc:PPangoFontDescription; weight:TPangoWeight); cdecl; external pangolib;
- function pango_font_description_get_weight(desc:PPangoFontDescription):TPangoWeight; cdecl; external pangolib;
- procedure pango_font_description_set_stretch(desc:PPangoFontDescription; stretch:TPangoStretch); cdecl; external pangolib;
- function pango_font_description_get_stretch(desc:PPangoFontDescription):TPangoStretch; cdecl; external pangolib;
- procedure pango_font_description_set_size(desc:PPangoFontDescription; size:gint); cdecl; external pangolib;
- function pango_font_description_get_size(desc:PPangoFontDescription):gint; cdecl; external pangolib;
- procedure pango_font_description_set_absolute_size(desc:PPangoFontDescription;size:double); cdecl; external pangolib;
- function pango_font_description_get_size_is_absolute (desc:PPangoFontDescription):gboolean; cdecl; external pangolib;
- function pango_font_description_get_set_fields(desc:PPangoFontDescription):TPangoFontMask; cdecl; external pangolib;
- procedure pango_font_description_unset_fields(desc:PPangoFontDescription; to_unset:TPangoFontMask); cdecl; external pangolib;
- procedure pango_font_description_merge(desc:PPangoFontDescription; desc_to_merge:PPangoFontDescription; replace_existing:gboolean); cdecl; external pangolib;
- procedure pango_font_description_merge_static(desc:PPangoFontDescription; desc_to_merge:PPangoFontDescription; replace_existing:gboolean); cdecl; external pangolib;
- function pango_font_description_better_match(desc:PPangoFontDescription; old_match:PPangoFontDescription; new_match:PPangoFontDescription):gboolean; cdecl; external pangolib;
- function pango_font_description_from_string(str:Pchar):PPangoFontDescription; cdecl; external pangolib;
- function pango_font_description_to_string(desc:PPangoFontDescription):Pchar; cdecl; external pangolib;
- function pango_font_description_to_filename(desc:PPangoFontDescription):Pchar; cdecl; external pangolib;
- {
- PangoFontMetrics
- }
- function PANGO_TYPE_FONT_METRICS:GType;
- function pango_font_metrics_get_type:GType; cdecl; external pangolib;
- function pango_font_metrics_ref(metrics:PPangoFontMetrics):PPangoFontMetrics; cdecl; external pangolib;
- procedure pango_font_metrics_unref(metrics:PPangoFontMetrics); cdecl; external pangolib;
- function pango_font_metrics_get_ascent(metrics:PPangoFontMetrics):longint; cdecl; external pangolib;
- function pango_font_metrics_get_descent(metrics:PPangoFontMetrics):longint; cdecl; external pangolib;
- function pango_font_metrics_get_approximate_char_width(metrics:PPangoFontMetrics):longint; cdecl; external pangolib;
- function pango_font_metrics_get_approximate_digit_width(metrics:PPangoFontMetrics):longint; cdecl; external pangolib;
- {$ifdef PANGO_ENABLE_BACKEND}
- function pango_font_metrics_new:PPangoFontMetrics; cdecl; external pangolib;
- {$endif PANGO_ENABLE_BACKEND}
- { PANGO_ENABLE_BACKEND }
- {
- PangoFontFamily
- }
- function PANGO_TYPE_FONT_FAMILY: GType;
- function PANGO_FONT_FAMILY(anObject: Pointer): PPangoFontFamily;
- function PANGO_IS_FONT_FAMILY(anObject : Pointer) : boolean;
- function pango_font_family_get_type:GType; cdecl; external pangolib;
- procedure pango_font_family_list_faces(family:PPangoFontFamily;
- faces:PPPPangoFontFace; n_faces:Plongint); cdecl; external pangolib;
- function pango_font_family_get_name(family:PPangoFontFamily):Pchar; cdecl; external pangolib;
- function pango_font_family_is_monospace(family:PPangoFontFamily):gboolean; cdecl; external pangolib;
- {$ifdef PANGO_ENABLE_BACKEND}
- function PANGO_FONT_FAMILY_CLASS(klass : pointer) : PPangoFontFamilyClass;
- function PANGO_IS_FONT_FAMILY_CLASS(klass : pointer) : boolean;
- function PANGO_FONT_FAMILY_GET_CLASS(obj : PPangoFontFamily) : PPangoFontFamilyClass;
- {$endif}
- { PANGO_ENABLE_BACKEND }
- {
- PangoFontFace
- }
- function PANGO_TYPE_FONT_FACE : GType;
- function PANGO_FONT_FACE(anObject : pointer) : PPangoFontFace;
- function PANGO_IS_FONT_FACE(anObject : pointer) : boolean;
- function pango_font_face_get_type:GType; cdecl; external pangolib;
- function pango_font_face_describe(face:PPangoFontFace):PPangoFontDescription; cdecl; external pangolib;
- function pango_font_face_get_face_name(face:PPangoFontFace):Pchar; cdecl; external pangolib;
- {$ifdef PANGO_ENABLE_BACKEND}
- function PANGO_FONT_FACE_CLASS(klass : pointer) : PPangoFontFaceClass;
- function PANGO_IS_FONT_FACE_CLASS(klass : pointer) : boolean;
- function PANGO_FONT_FACE_GET_CLASS(obj : pointer) : PPangoFontFaceClass;
- {$endif}
- { PANGO_ENABLE_BACKEND }
- {
- PangoFont
- }
- function PANGO_TYPE_FONT : GType;
- function PANGO_FONT(anObject : pointer) : PPangoFont;
- function PANGO_IS_FONT(anObject : pointer) : boolean;
- function pango_font_get_type:GType; cdecl; external pangolib;
- function pango_font_describe(font:PPangoFont):PPangoFontDescription; cdecl; external pangolib;
- function pango_font_get_coverage(font:PPangoFont; language:PPangoLanguage):PPangoCoverage; cdecl; external pangolib;
- function pango_font_find_shaper(font:PPangoFont; language:PPangoLanguage; ch:guint32):PPangoEngineShape; cdecl; external pangolib;
- function pango_font_get_metrics(font:PPangoFont; language:PPangoLanguage):PPangoFontMetrics; cdecl; external pangolib;
- procedure pango_font_get_glyph_extents(font:PPangoFont; glyph:TPangoGlyph; ink_rect:PPangoRectangle; logical_rect:PPangoRectangle); cdecl; external pangolib;
- {$ifdef PANGO_ENABLE_BACKEND}
- function PANGO_FONT_CLASS(klass : pointer) : PPangoFontClass;
- function PANGO_IS_FONT_CLASS(klass : pointer) : boolean;
- function PANGO_FONT_GET_CLASS(obj : PPangoFont) : PPangoFontClass;
- {$endif}
- { PANGO_ENABLE_BACKEND }
- {$ENDIF read_interface_functions}
- //------------------------------------------------------------------------------
- {$IFDEF read_implementation}
- function PANGO_TYPE_FONT_DESCRIPTION : GType;
- begin
- PANGO_TYPE_FONT_DESCRIPTION:=pango_font_description_get_type;
- end;
- function PANGO_TYPE_FONT_METRICS : GType;
- begin
- PANGO_TYPE_FONT_METRICS:=pango_font_metrics_get_type;
- end;
- function PANGO_TYPE_FONT_FAMILY : GType;
- begin
- PANGO_TYPE_FONT_FAMILY:=pango_font_family_get_type;
- end;
- function PANGO_FONT_FAMILY(anObject : pointer) : PPangoFontFamily;
- begin
- PANGO_FONT_FAMILY:=PPangoFontFamily(G_TYPE_CHECK_INSTANCE_CAST(anObject,
- PANGO_TYPE_FONT_FAMILY));
- end;
- function PANGO_IS_FONT_FAMILY(anObject : Pointer) : boolean;
- begin
- PANGO_IS_FONT_FAMILY:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,
- PANGO_TYPE_FONT_FAMILY);
- end;
- function PANGO_FONT_FAMILY_CLASS(klass : Pointer) : PPangoFontFamilyClass;
- begin
- PANGO_FONT_FAMILY_CLASS:=PPangoFontFamilyClass(G_TYPE_CHECK_CLASS_CAST(klass,
- PANGO_TYPE_FONT_FAMILY));
- end;
- function PANGO_IS_FONT_FAMILY_CLASS(klass : Pointer) : boolean;
- begin
- PANGO_IS_FONT_FAMILY_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,
- PANGO_TYPE_FONT_FAMILY);
- end;
- function PANGO_FONT_FAMILY_GET_CLASS(obj : PPangoFontFamily) : PPangoFontFamilyClass;
- begin
- PANGO_FONT_FAMILY_GET_CLASS:=PPangoFontFamilyClass(G_TYPE_INSTANCE_GET_CLASS(
- obj,PANGO_TYPE_FONT_FAMILY));
- end;
- function PANGO_TYPE_FONT_FACE : GType;
- begin
- PANGO_TYPE_FONT_FACE:=pango_font_face_get_type;
- end;
- function PANGO_FONT_FACE(anObject : Pointer) : PPangoFontFace;
- begin
- PANGO_FONT_FACE:=PPangoFontFace(G_TYPE_CHECK_INSTANCE_CAST(anObject,
- PANGO_TYPE_FONT_FACE));
- end;
- function PANGO_IS_FONT_FACE(anObject : Pointer) : boolean;
- begin
- PANGO_IS_FONT_FACE:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,PANGO_TYPE_FONT_FACE);
- end;
- function PANGO_FONT_FACE_CLASS(klass : Pointer) : PPangoFontFaceClass;
- begin
- PANGO_FONT_FACE_CLASS:=PPangoFontFaceClass(G_TYPE_CHECK_CLASS_CAST(klass,
- PANGO_TYPE_FONT_FACE));
- end;
- function PANGO_IS_FONT_FACE_CLASS(klass : Pointer) : boolean;
- begin
- PANGO_IS_FONT_FACE_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,PANGO_TYPE_FONT_FACE);
- end;
- function PANGO_FONT_FACE_GET_CLASS(obj : Pointer) : PPangoFontFaceClass;
- begin
- PANGO_FONT_FACE_GET_CLASS:=PPangoFontFaceClass(G_TYPE_INSTANCE_GET_CLASS(obj,
- PANGO_TYPE_FONT_FACE));
- end;
- function PANGO_TYPE_FONT : GType;
- begin
- PANGO_TYPE_FONT:=pango_font_get_type;
- end;
- function PANGO_FONT(anObject : Pointer) : PPangoFont;
- begin
- PANGO_FONT:=PPangoFont(G_TYPE_CHECK_INSTANCE_CAST(anObject,PANGO_TYPE_FONT));
- end;
- function PANGO_IS_FONT(anObject : Pointer) : boolean;
- begin
- PANGO_IS_FONT:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,PANGO_TYPE_FONT);
- end;
- function PANGO_FONT_CLASS(klass : Pointer) : PPangoFontClass;
- begin
- PANGO_FONT_CLASS:=PPangoFontClass(G_TYPE_CHECK_CLASS_CAST(klass,
- PANGO_TYPE_FONT));
- end;
- function PANGO_IS_FONT_CLASS(klass : Pointer) : boolean;
- begin
- PANGO_IS_FONT_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,PANGO_TYPE_FONT);
- end;
- function PANGO_FONT_GET_CLASS(obj : PPangoFont) : PPangoFontClass;
- begin
- PANGO_FONT_GET_CLASS:=PPangoFontClass(G_TYPE_INSTANCE_GET_CLASS(obj,
- PANGO_TYPE_FONT));
- end;
- {$ENDIF read_implementation}