/* * Copyright (c) 2003-2005, 2014 by the gtk2-perl team (see the AUTHORS * file for a full list of authors) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * See the LICENSE file in the top-level directory of this distribution for * the full license terms. * */ #include "pango-perl.h" MODULE = Pango::Font PACKAGE = Pango =for object Pango::FontDescription =cut ### some constants... double scale (class) ALIAS: Pango::scale_xx_small = 1 Pango::scale_x_small = 2 Pango::scale_small = 3 Pango::scale_medium = 4 Pango::scale_large = 5 Pango::scale_x_large = 6 Pango::scale_xx_large = 7 CODE: switch (ix) { case 0: RETVAL = (double)PANGO_SCALE; break; case 1: RETVAL = PANGO_SCALE_XX_SMALL; break; case 2: RETVAL = PANGO_SCALE_X_SMALL; break; case 3: RETVAL = PANGO_SCALE_SMALL; break; case 4: RETVAL = PANGO_SCALE_MEDIUM; break; case 5: RETVAL = PANGO_SCALE_LARGE; break; case 6: RETVAL = PANGO_SCALE_X_LARGE; break; case 7: RETVAL = PANGO_SCALE_XX_LARGE; break; default: RETVAL = 0.0; g_assert_not_reached (); } OUTPUT: RETVAL double PANGO_PIXELS (class, d) double d ALIAS: Pango::pixels = 1 C_ARGS: d CLEANUP: PERL_UNUSED_VAR (ix); MODULE = Pango::Font PACKAGE = Pango::FontDescription PREFIX = pango_font_description_ ##PangoFontDescription* pango_font_description_new (void) PangoFontDescription_own * pango_font_description_new (class) C_ARGS: /* void */ ## guint pango_font_description_hash (const PangoFontDescription *desc) guint pango_font_description_hash (desc) PangoFontDescription *desc ## gboolean pango_font_description_equal (const PangoFontDescription *desc1, const PangoFontDescription *desc2) gboolean pango_font_description_equal (desc1, desc2) PangoFontDescription *desc1 PangoFontDescription *desc2 # should be taken care of automagically ## void pango_font_description_free (PangoFontDescription *desc) ## void pango_font_descriptions_free (PangoFontDescription **descs, int n_descs) ## void pango_font_description_set_family (PangoFontDescription *desc, const char *family) void pango_font_description_set_family (desc, family) PangoFontDescription *desc const char *family ## void pango_font_description_set_family_static (PangoFontDescription *desc, const char *family) void pango_font_description_set_family_static (desc, family) PangoFontDescription *desc const char *family ## void pango_font_description_get_family (PangoFontDescription *desc, ) const char * pango_font_description_get_family (desc) PangoFontDescription *desc ## void pango_font_description_set_style (PangoFontDescription *desc, PangoStyle style) void pango_font_description_set_style (desc, style) PangoFontDescription *desc PangoStyle style ## PangoStyle pango_font_description_get_style (const PangoFontDescription *desc) PangoStyle pango_font_description_get_style (desc) PangoFontDescription *desc ## void pango_font_description_set_variant (PangoFontDescription *desc, PangoVariant variant) void pango_font_description_set_variant (desc, variant) PangoFontDescription *desc PangoVariant variant ## PangoVariant pango_font_description_get_variant (const PangoFontDescription *desc) PangoVariant pango_font_description_get_variant (desc) PangoFontDescription *desc ## void pango_font_description_set_weight (PangoFontDescription *desc, PangoWeight weight) void pango_font_description_set_weight (desc, weight) PangoFontDescription *desc PangoWeight weight ## PangoWeight pango_font_description_get_weight (const PangoFontDescription *desc) PangoWeight pango_font_description_get_weight (desc) PangoFontDescription *desc ## void pango_font_description_set_stretch (PangoFontDescription *desc, PangoStretch stretch) void pango_font_description_set_stretch (desc, stretch) PangoFontDescription *desc PangoStretch stretch ## PangoStretch pango_font_description_get_stretch (const PangoFontDescription *desc) PangoStretch pango_font_description_get_stretch (desc) PangoFontDescription *desc ## void pango_font_description_set_size (PangoFontDescription *desc, gint size) void pango_font_description_set_size (desc, size) PangoFontDescription *desc gint size ## gint pango_font_description_get_size (const PangoFontDescription *desc) gint pango_font_description_get_size (desc) PangoFontDescription *desc ## PangoFontMask pango_font_description_get_set_fields (const PangoFontDescription *desc) PangoFontMask pango_font_description_get_set_fields (desc) PangoFontDescription *desc ## void pango_font_description_unset_fields (PangoFontDescription *desc, PangoFontMask to_unset) void pango_font_description_unset_fields (desc, to_unset) PangoFontDescription *desc PangoFontMask to_unset ## void pango_font_description_merge (PangoFontDescription *desc, const PangoFontDescription *desc_to_merge, gboolean replace_existing) void pango_font_description_merge (desc, desc_to_merge, replace_existing) PangoFontDescription *desc PangoFontDescription *desc_to_merge gboolean replace_existing ## void pango_font_description_merge_static (PangoFontDescription *desc, const PangoFontDescription *desc_to_merge, gboolean replace_existing) void pango_font_description_merge_static (desc, desc_to_merge, replace_existing) PangoFontDescription *desc PangoFontDescription *desc_to_merge gboolean replace_existing ## gboolean pango_font_description_better_match (const PangoFontDescription *desc, const PangoFontDescription *old_match, const PangoFontDescription *new_match) gboolean pango_font_description_better_match (desc, old_match, new_match) PangoFontDescription *desc PangoFontDescription_ornull *old_match PangoFontDescription *new_match ##PangoFontDescription *pango_font_description_from_string (const char *str) PangoFontDescription_own * pango_font_description_from_string (class, str) const char * str C_ARGS: str ## char * pango_font_description_to_string (const PangoFontDescription *desc) char * pango_font_description_to_string (desc) PangoFontDescription *desc CLEANUP: g_free (RETVAL); ## char * pango_font_description_to_filename (const PangoFontDescription *desc) char * pango_font_description_to_filename (desc) PangoFontDescription *desc CLEANUP: g_free (RETVAL); #if PANGO_CHECK_VERSION (1, 8, 0) void pango_font_description_set_absolute_size (PangoFontDescription *desc, double size); gboolean pango_font_description_get_size_is_absolute (const PangoFontDescription *desc); #endif #if PANGO_CHECK_VERSION (1, 16, 0) void pango_font_description_set_gravity (PangoFontDescription *desc, PangoGravity gravity); PangoGravity pango_font_description_get_gravity (const PangoFontDescription *desc); #endif MODULE = Pango::Font PACKAGE = Pango::FontMetrics PREFIX = pango_font_metrics_ # should happen automagicly ## void pango_font_metrics_unref (PangoFontMetrics *metrics) ## int pango_font_metrics_get_ascent (PangoFontMetrics *metrics) int pango_font_metrics_get_ascent (metrics) PangoFontMetrics *metrics ## int pango_font_metrics_get_descent (PangoFontMetrics *metrics) int pango_font_metrics_get_descent (metrics) PangoFontMetrics *metrics ## int pango_font_metrics_get_approximate_char_width (PangoFontMetrics *metrics) int pango_font_metrics_get_approximate_char_width (metrics) PangoFontMetrics *metrics ## int pango_font_metrics_get_approximate_digit_width (PangoFontMetrics *metrics) int pango_font_metrics_get_approximate_digit_width (metrics) PangoFontMetrics *metrics #if PANGO_CHECK_VERSION (1, 6, 0) ## int pango_font_metrics_get_underline_position (PangoFontMetrics *metrics) int pango_font_metrics_get_underline_position (metrics) PangoFontMetrics *metrics ## int pango_font_metrics_get_underline_thickness (PangoFontMetrics *metrics) int pango_font_metrics_get_underline_thickness (metrics) PangoFontMetrics *metrics ## int pango_font_metrics_get_strikethrough_position (PangoFontMetrics *metrics) int pango_font_metrics_get_strikethrough_position (metrics) PangoFontMetrics *metrics ## int pango_font_metrics_get_strikethrough_thickness (PangoFontMetrics *metrics) int pango_font_metrics_get_strikethrough_thickness (metrics) PangoFontMetrics *metrics #endif MODULE = Pango::Font PACKAGE = Pango::FontFamily PREFIX = pango_font_family_ BOOT: gperl_object_set_no_warn_unreg_subclass (PANGO_TYPE_FONT_FAMILY, TRUE); ## void pango_font_family_list_faces (PangoFontFamily *family, PangoFontFace ***faces, int *n_faces) =for apidoc =for apidoc @faces = $family->list_faces Lists the different font faces that make up family. The faces in a family share a common design, but differ in slant, weight, width and other aspects. =cut void pango_font_family_list_faces (family) PangoFontFamily *family PREINIT: PangoFontFace ** faces = NULL; int n_faces; PPCODE: pango_font_family_list_faces(family, &faces, &n_faces); if (n_faces > 0) { int i; EXTEND(SP,n_faces); for (i = 0 ; i < n_faces ; i++) PUSHs(sv_2mortal(newSVPangoFontFace(faces[i]))); g_free (faces); } const char * pango_font_family_get_name (PangoFontFamily * family) #if PANGO_CHECK_VERSION(1, 4, 0) gboolean pango_font_family_is_monospace (PangoFontFamily * family) #endif MODULE = Pango::Font PACKAGE = Pango::FontFace PREFIX = pango_font_face_ # # PangoFontFace # BOOT: gperl_object_set_no_warn_unreg_subclass (PANGO_TYPE_FONT_FACE, TRUE); ## PangoFontDescription *pango_font_face_describe (PangoFontFace *face); PangoFontDescription_own * pango_font_face_describe (PangoFontFace *face); ## G_CONST_RETURN char *pango_font_face_get_face_name (PangoFontFace *face); const char *pango_font_face_get_face_name (PangoFontFace *face); #if PANGO_CHECK_VERSION(1, 4, 0) ## void pango_font_face_list_sizes (PangoFontFace *face, int **sizes, int *n_sizes); =for apidoc =for signature @sizes = $face->list_sizes List the sizes available for a bitmapped font. For scalable fonts, this will return an empty list. =cut void pango_font_face_list_sizes (PangoFontFace *face) PREINIT: int *sizes=NULL, n_sizes, i; PPCODE: pango_font_face_list_sizes (face, &sizes, &n_sizes); if (n_sizes > 0) { EXTEND (SP, n_sizes); for (i = 0 ; i < n_sizes ; i++) PUSHs (sv_2mortal (newSViv (sizes[i]))); g_free (sizes); } #endif #if PANGO_CHECK_VERSION(1, 18, 0) gboolean pango_font_face_is_synthesized (PangoFontFace *face); #endif MODULE = Pango::Font PACKAGE = Pango::Font PREFIX = pango_font_ ## PangoFontMetrics * pango_font_get_metrics (PangoFont *font, PangoLanguage *language) PangoFontMetrics * pango_font_get_metrics (font, language) PangoFont *font PangoLanguage *language ## PangoFontDescription* pango_font_describe (PangoFont *font) PangoFontDescription_own * pango_font_describe (font) PangoFont *font #if PANGO_CHECK_VERSION(1, 14, 0) ## PangoFontDescription *pango_font_describe_with_absolute_size (PangoFont *font); PangoFontDescription_own *pango_font_describe_with_absolute_size (PangoFont *font); #endif ## void pango_font_get_glyph_extents (PangoFont *font, PangoGlyph glyph, PangoRectangle *ink_rect, PangoRectangle *logical_rect) void pango_font_get_glyph_extents (font, glyph) PangoFont *font PangoGlyph glyph PREINIT: PangoRectangle ink_rect; PangoRectangle logical_rect; PPCODE: pango_font_get_glyph_extents (font, glyph, &ink_rect, &logical_rect); EXTEND (sp, 2); PUSHs (sv_2mortal (newSVPangoRectangle (&ink_rect))); PUSHs (sv_2mortal (newSVPangoRectangle (&logical_rect))); #if PANGO_CHECK_VERSION(1, 10, 0) PangoFontMap * pango_font_get_font_map (PangoFont *font); #endif ### no typemaps for this stuff. ### it looks like it would only be useful from C, though. ### PangoCoverage * pango_font_get_coverage (PangoFont *font, PangoLanguage *language) ### PangoEngineShape * pango_font_find_shaper (PangoFont *font, PangoLanguage *language, guint32 ch)