summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2022-02-12 14:41:18 -0500
committerMatthias Clasen <mclasen@redhat.com>2022-02-17 14:01:45 -0600
commit47133fbb6e2a4136b5cd4e09b755cddbd6d83c14 (patch)
treedd8d5e5d72e96ca71612747b3c8025f49811dfad
parentce2581fb39ebf5c1897681595dec12676fe4a36f (diff)
downloadpango-47133fbb6e2a4136b5cd4e09b755cddbd6d83c14.tar.gz
Clean up font classes
Do away with class privates.
-rw-r--r--pango/fonts.c44
-rw-r--r--pango/pango-font-face-private.h16
-rw-r--r--pango/pango-font-family-private.h17
-rw-r--r--pango/pango-font-private.h67
-rw-r--r--pango/pango-fontmap-private.h5
-rw-r--r--pango/pangofc-font.c13
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: