diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-08-31 18:48:54 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-08-31 18:48:54 +0000 |
commit | 923284062075fd2fe1b061d256f91aec2912b1ab (patch) | |
tree | 0b3b5d777d81fe2be77241afb7e0154970179ce3 | |
parent | 2555d464361e96542ec9d9b2383e7ec0fe42dad3 (diff) | |
parent | 7137a522094154281b4b328d4fa22df05b84aba5 (diff) | |
download | pango-923284062075fd2fe1b061d256f91aec2912b1ab.tar.gz |
Merge branch 'matthiasc/for-main' into 'main'
fonts: Redo the get_face implementation
See merge request GNOME/pango!465
-rw-r--r-- | pango/fonts.c | 13 | ||||
-rw-r--r-- | pango/pango-font-private.h | 1 | ||||
-rw-r--r-- | pango/pango-font.h | 2 |
3 files changed, 14 insertions, 2 deletions
diff --git a/pango/fonts.c b/pango/fonts.c index f144097d..d2fd4308 100644 --- a/pango/fonts.c +++ b/pango/fonts.c @@ -1737,6 +1737,14 @@ pango_font_default_has_char (PangoFont *font, return result != PANGO_COVERAGE_NONE; } +static PangoFontFace * +pango_font_default_get_face (PangoFont *font) +{ + PangoFontMap *map = pango_font_get_font_map (font); + + return PANGO_FONT_MAP_GET_CLASS (map)->get_face (map,font); +} + static void pango_font_class_init (PangoFontClass *class G_GNUC_UNUSED) { @@ -1751,6 +1759,7 @@ pango_font_class_init (PangoFontClass *class G_GNUC_UNUSED) pclass->is_hinted = pango_font_default_is_hinted; pclass->get_scale_factors = pango_font_default_get_scale_factors; pclass->has_char = pango_font_default_has_char; + pclass->get_face = pango_font_default_get_face; } static void @@ -1979,9 +1988,9 @@ pango_font_get_font_map (PangoFont *font) PangoFontFace * pango_font_get_face (PangoFont *font) { - PangoFontMap *map = pango_font_get_font_map (font); + PangoFontClassPrivate *pclass = PANGO_FONT_GET_CLASS_PRIVATE (font); - return PANGO_FONT_MAP_GET_CLASS (map)->get_face (map,font); + return pclass->get_face (font); } /** diff --git a/pango/pango-font-private.h b/pango/pango-font-private.h index 1f31f559..93ce27aa 100644 --- a/pango/pango-font-private.h +++ b/pango/pango-font-private.h @@ -44,6 +44,7 @@ typedef struct { gboolean (* has_char) (PangoFont *font, gunichar wc); + PangoFontFace * (* get_face) (PangoFont *font); } PangoFontClassPrivate; gboolean pango_font_is_hinted (PangoFont *font); diff --git a/pango/pango-font.h b/pango/pango-font.h index 6b78c2ed..d4bded86 100644 --- a/pango/pango-font.h +++ b/pango/pango-font.h @@ -664,6 +664,8 @@ PangoLanguage ** pango_font_get_languages (PangoFont *font); #endif #endif +G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoFontFamily, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoFontFace, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoFont, g_object_unref) G_END_DECLS |