diff options
Diffstat (limited to 'pango/pango-font-private.h')
-rw-r--r-- | pango/pango-font-private.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/pango/pango-font-private.h b/pango/pango-font-private.h index 885e38c1..e95abc7a 100644 --- a/pango/pango-font-private.h +++ b/pango/pango-font-private.h @@ -48,6 +48,7 @@ typedef struct { void (* get_matrix) (PangoFont *font, PangoMatrix *matrix); int (* get_absolute_size) (PangoFont *font); + PangoVariant (* get_variant) (PangoFont *font); } PangoFontClassPrivate; gboolean pango_font_is_hinted (PangoFont *font); @@ -56,6 +57,7 @@ void pango_font_get_scale_factors (PangoFont *font, double *y_scale); void pango_font_get_matrix (PangoFont *font, PangoMatrix *matrix); + static inline int pango_font_get_absolute_size (PangoFont *font) { GTypeClass *klass = (GTypeClass *) PANGO_FONT_GET_CLASS (font); @@ -63,6 +65,26 @@ static inline int pango_font_get_absolute_size (PangoFont *font) return priv->get_absolute_size (font); } +static inline PangoVariant +pango_font_get_variant (PangoFont *font) +{ + GTypeClass *klass = (GTypeClass *) PANGO_FONT_GET_CLASS (font); + PangoFontClassPrivate *priv = g_type_class_get_private (klass, PANGO_TYPE_FONT); + if (priv->get_variant) + return priv->get_variant (font); + else + { + PangoFontDescription *desc; + PangoVariant variant; + + desc = pango_font_describe (font); + variant = pango_font_description_get_variant (desc); + pango_font_description_free (desc); + + return variant; + } +} + G_END_DECLS #endif /* __PANGO_FONT_PRIVATE_H__ */ |