fpc/packages/extra/gtk2/pango/pango-font.inc

399 lines
16 KiB
PHP

// 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;
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;
{$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}