diff options
author | Matthias Clasen <mclasen@redhat.com> | 2022-02-12 14:41:18 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2022-02-17 14:01:45 -0600 |
commit | 47133fbb6e2a4136b5cd4e09b755cddbd6d83c14 (patch) | |
tree | dd8d5e5d72e96ca71612747b3c8025f49811dfad | |
parent | ce2581fb39ebf5c1897681595dec12676fe4a36f (diff) | |
download | pango-47133fbb6e2a4136b5cd4e09b755cddbd6d83c14.tar.gz |
Clean up font classes
Do away with class privates.
-rw-r--r-- | pango/fonts.c | 44 | ||||
-rw-r--r-- | pango/pango-font-face-private.h | 16 | ||||
-rw-r--r-- | pango/pango-font-family-private.h | 17 | ||||
-rw-r--r-- | pango/pango-font-private.h | 67 | ||||
-rw-r--r-- | pango/pango-fontmap-private.h | 5 | ||||
-rw-r--r-- | pango/pangofc-font.c | 13 |
6 files changed, 56 insertions, 106 deletions
diff --git a/pango/fonts.c b/pango/fonts.c index bb5b3626..9154355e 100644 --- a/pango/fonts.c +++ b/pango/fonts.c @@ -41,13 +41,8 @@ typedef struct { hb_font_t *hb_font; } PangoFontPrivate; -#define PANGO_FONT_GET_CLASS_PRIVATE(font) ((PangoFontClassPrivate *) \ - g_type_class_get_private ((GTypeClass *) PANGO_FONT_GET_CLASS (font), \ - PANGO_TYPE_FONT)) - G_DEFINE_ABSTRACT_TYPE_WITH_CODE (PangoFont, pango_font, G_TYPE_OBJECT, - G_ADD_PRIVATE (PangoFont) - g_type_add_class_private (g_define_type_id, sizeof (PangoFontClassPrivate))) + G_ADD_PRIVATE (PangoFont)) static void pango_font_finalize (GObject *object) @@ -122,19 +117,16 @@ static void pango_font_class_init (PangoFontClass *class G_GNUC_UNUSED) { GObjectClass *object_class = G_OBJECT_CLASS (class); - PangoFontClassPrivate *pclass; object_class->finalize = pango_font_finalize; - pclass = g_type_class_get_private ((GTypeClass *) class, PANGO_TYPE_FONT); - - pclass->get_languages = pango_font_default_get_languages; - 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; - pclass->get_matrix = pango_font_default_get_matrix; - pclass->get_absolute_size = pango_font_default_get_absolute_size; + class->get_languages = pango_font_default_get_languages; + class->is_hinted = pango_font_default_is_hinted; + class->get_scale_factors = pango_font_default_get_scale_factors; + class->has_char = pango_font_default_has_char; + class->get_face = pango_font_default_get_face; + class->get_matrix = pango_font_default_get_matrix; + class->get_absolute_size = pango_font_default_get_absolute_size; } static void @@ -343,9 +335,7 @@ pango_font_get_font_map (PangoFont *font) PangoFontFace * pango_font_get_face (PangoFont *font) { - PangoFontClassPrivate *pclass = PANGO_FONT_GET_CLASS_PRIVATE (font); - - return pclass->get_face (font); + return PANGO_FONT_GET_CLASS (font)->get_face (font); } /** @@ -395,9 +385,7 @@ gboolean pango_font_has_char (PangoFont *font, gunichar wc) { - PangoFontClassPrivate *pclass = PANGO_FONT_GET_CLASS_PRIVATE (font); - - return pclass->has_char (font, wc); + return PANGO_FONT_GET_CLASS (font)->has_char (font, wc); } /** @@ -447,9 +435,7 @@ pango_font_get_features (PangoFont *font, PangoLanguage ** pango_font_get_languages (PangoFont *font) { - PangoFontClassPrivate *pclass = PANGO_FONT_GET_CLASS_PRIVATE (font); - - return pclass->get_languages (font); + return PANGO_FONT_GET_CLASS (font)->get_languages (font); } /*< private > @@ -462,9 +448,7 @@ void pango_font_get_matrix (PangoFont *font, PangoMatrix *matrix) { - PangoFontClassPrivate *pclass = PANGO_FONT_GET_CLASS_PRIVATE (font); - - pclass->get_matrix (font, matrix); + PANGO_FONT_GET_CLASS (font)->get_matrix (font, matrix); } /*< private > @@ -478,7 +462,7 @@ pango_font_get_matrix (PangoFont *font, gboolean pango_font_is_hinted (PangoFont *font) { - return PANGO_FONT_GET_CLASS_PRIVATE (font)->is_hinted (font); + return PANGO_FONT_GET_CLASS (font)->is_hinted (font); } /*< private > @@ -497,5 +481,5 @@ pango_font_get_scale_factors (PangoFont *font, double *x_scale, double *y_scale) { - PANGO_FONT_GET_CLASS_PRIVATE (font)->get_scale_factors (font, x_scale, y_scale); + PANGO_FONT_GET_CLASS (font)->get_scale_factors (font, x_scale, y_scale); } diff --git a/pango/pango-font-face-private.h b/pango/pango-font-face-private.h index 299632e9..bf5a8519 100644 --- a/pango/pango-font-face-private.h +++ b/pango/pango-font-face-private.h @@ -35,18 +35,10 @@ struct _PangoFontFaceClass { GObjectClass parent_class; - /*< public >*/ - - const char * (*get_face_name) (PangoFontFace *face); - PangoFontDescription * (*describe) (PangoFontFace *face); - gboolean (*is_synthesized) (PangoFontFace *face); - PangoFontFamily * (*get_family) (PangoFontFace *face); - - /*< private >*/ - - /* Padding for future expansion */ - void (*_pango_reserved3) (void); - void (*_pango_reserved4) (void); + const char * (* get_face_name) (PangoFontFace *face); + PangoFontDescription * (* describe) (PangoFontFace *face); + gboolean (* is_synthesized) (PangoFontFace *face); + PangoFontFamily * (* get_family) (PangoFontFace *face); }; #define PANGO_FONT_FACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT_FACE, PangoFontFaceClass)) diff --git a/pango/pango-font-family-private.h b/pango/pango-font-family-private.h index b6ceacfe..ac7b7cc2 100644 --- a/pango/pango-font-family-private.h +++ b/pango/pango-font-family-private.h @@ -35,20 +35,13 @@ struct _PangoFontFamilyClass { GObjectClass parent_class; - /*< public >*/ + const char * (* get_name) (PangoFontFamily *family); + gboolean (* is_monospace) (PangoFontFamily *family); + gboolean (* is_variable) (PangoFontFamily *family); - const char * (*get_name) (PangoFontFamily *family); - gboolean (*is_monospace) (PangoFontFamily *family); - gboolean (*is_variable) (PangoFontFamily *family); + PangoFontFace * (* get_face) (PangoFontFamily *family, + const char *name); - PangoFontFace * (*get_face) (PangoFontFamily *family, - const char *name); - - - /*< private >*/ - - /* Padding for future expansion */ - void (*_pango_reserved2) (void); }; #define PANGO_FONT_FAMILY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT_FAMILY, PangoFontFamilyClass)) diff --git a/pango/pango-font-private.h b/pango/pango-font-private.h index 6fcbb7aa..79250a03 100644 --- a/pango/pango-font-private.h +++ b/pango/pango-font-private.h @@ -41,48 +41,39 @@ struct _PangoFontClass { GObjectClass parent_class; - /*< public >*/ - - PangoFontDescription *(*describe) (PangoFont *font); - PangoCoverage * (*get_coverage) (PangoFont *font, - PangoLanguage *language); - void (*get_glyph_extents) (PangoFont *font, - PangoGlyph glyph, - PangoRectangle *ink_rect, - PangoRectangle *logical_rect); - PangoFontMetrics * (*get_metrics) (PangoFont *font, - PangoLanguage *language); - PangoFontMap * (*get_font_map) (PangoFont *font); - PangoFontDescription *(*describe_absolute) (PangoFont *font); - void (*get_features) (PangoFont *font, - hb_feature_t *features, - guint len, - guint *num_features); - hb_font_t * (*create_hb_font) (PangoFont *font); + PangoFontDescription * (* describe) (PangoFont *font); + PangoCoverage * (* get_coverage) (PangoFont *font, + PangoLanguage *language); + void (* get_glyph_extents) (PangoFont *font, + PangoGlyph glyph, + PangoRectangle *ink_rect, + PangoRectangle *logical_rect); + PangoFontMetrics * (* get_metrics) (PangoFont *font, + PangoLanguage *language); + PangoFontMap * (* get_font_map) (PangoFont *font); + PangoFontDescription * (* describe_absolute) (PangoFont *font); + void (* get_features) (PangoFont *font, + hb_feature_t *features, + guint len, + guint *num_features); + hb_font_t * (* create_hb_font) (PangoFont *font); + PangoLanguage ** (* get_languages) (PangoFont *font); + gboolean (* is_hinted) (PangoFont *font); + void (* get_scale_factors) (PangoFont *font, + double *x_scale, + double *y_scale); + gboolean (* has_char) (PangoFont *font, + gunichar wc); + PangoFontFace * (* get_face) (PangoFont *font); + void (* get_matrix) (PangoFont *font, + PangoMatrix *matrix); + int (* get_absolute_size) (PangoFont *font); }; #define PANGO_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT, PangoFontClass)) #define PANGO_IS_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONT)) #define PANGO_FONT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONT, PangoFontClass)) - -typedef struct { - PangoLanguage ** (* get_languages) (PangoFont *font); - - gboolean (* is_hinted) (PangoFont *font); - - void (* get_scale_factors) (PangoFont *font, - double *x_scale, - double *y_scale); - - gboolean (* has_char) (PangoFont *font, - gunichar wc); - PangoFontFace * (* get_face) (PangoFont *font); - void (* get_matrix) (PangoFont *font, - PangoMatrix *matrix); - int (* get_absolute_size) (PangoFont *font); -} PangoFontClassPrivate; - gboolean pango_font_is_hinted (PangoFont *font); void pango_font_get_scale_factors (PangoFont *font, double *x_scale, @@ -92,9 +83,7 @@ void pango_font_get_matrix (PangoFont *font, static inline int pango_font_get_absolute_size (PangoFont *font) { - GTypeClass *klass = (GTypeClass *) PANGO_FONT_GET_CLASS (font); - PangoFontClassPrivate *priv = g_type_class_get_private (klass, PANGO_TYPE_FONT); - return priv->get_absolute_size (font); + return PANGO_FONT_GET_CLASS (font)->get_absolute_size (font); } G_END_DECLS diff --git a/pango/pango-fontmap-private.h b/pango/pango-fontmap-private.h index 34e997e3..3c14c656 100644 --- a/pango/pango-fontmap-private.h +++ b/pango/pango-fontmap-private.h @@ -43,14 +43,9 @@ struct _PangoFontMapClass { GObjectClass parent_class; - /*< public >*/ - PangoFont * (*load_font) (PangoFontMap *fontmap, PangoContext *context, const PangoFontDescription *desc); - void (*list_families) (PangoFontMap *fontmap, - PangoFontFamily ***families, - int *n_families); PangoFontset *(*load_fontset) (PangoFontMap *fontmap, PangoContext *context, const PangoFontDescription *desc, diff --git a/pango/pangofc-font.c b/pango/pangofc-font.c index 9dc5e98d..a5b20968 100644 --- a/pango/pangofc-font.c +++ b/pango/pangofc-font.c @@ -91,7 +91,6 @@ pango_fc_font_class_init (PangoFcFontClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); PangoFontClass *font_class = PANGO_FONT_CLASS (class); - PangoFontClassPrivate *pclass; class->has_char = pango_fc_font_real_has_char; class->get_glyph = pango_fc_font_real_get_glyph; @@ -108,13 +107,11 @@ pango_fc_font_class_init (PangoFcFontClass *class) font_class->get_features = pango_fc_font_get_features; font_class->create_hb_font = pango_fc_font_create_hb_font; - pclass = g_type_class_get_private ((GTypeClass *) class, PANGO_TYPE_FONT); - - pclass->get_languages = _pango_fc_font_get_languages; - pclass->is_hinted = _pango_fc_font_is_hinted; - pclass->get_scale_factors = _pango_fc_font_get_scale_factors; - pclass->get_matrix = pango_fc_font_get_matrix; - pclass->get_absolute_size = pango_fc_font_get_absolute_size; + font_class->get_languages = _pango_fc_font_get_languages; + font_class->is_hinted = _pango_fc_font_is_hinted; + font_class->get_scale_factors = _pango_fc_font_get_scale_factors; + font_class->get_matrix = pango_fc_font_get_matrix; + font_class->get_absolute_size = pango_fc_font_get_absolute_size; /** * PangoFcFont:pattern: |