diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-08-21 23:12:14 +0200 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2019-08-21 23:12:14 +0200 |
commit | db1e5dae6e355db792e75cdcca0b7845c89ac4a4 (patch) | |
tree | 0d831499390bc60c15643556397aed4e4d5f974e /pango | |
parent | 71e865208d059a73aba09ec6a9d0650b40f87d3f (diff) | |
download | pango-db1e5dae6e355db792e75cdcca0b7845c89ac4a4.tar.gz |
Make some class structs public again
It turns out that the R GTK2 binding poke directly
at many class structs. Bring the class structs back
for now (deprecated), to avoid breaking their build.
Closes: https://gitlab.gnome.org/GNOME/pango/issues/412
Diffstat (limited to 'pango')
-rw-r--r-- | pango/pango-font-private.h | 126 | ||||
-rw-r--r-- | pango/pango-font.h | 128 | ||||
-rw-r--r-- | pango/pango-fontset-private.h | 59 | ||||
-rw-r--r-- | pango/pango-fontset.h | 63 |
4 files changed, 190 insertions, 186 deletions
diff --git a/pango/pango-font-private.h b/pango/pango-font-private.h index d43440b4..befa1b94 100644 --- a/pango/pango-font-private.h +++ b/pango/pango-font-private.h @@ -33,132 +33,6 @@ G_BEGIN_DECLS PANGO_AVAILABLE_IN_ALL PangoFontMetrics *pango_font_metrics_new (void); -struct _PangoFontMetrics -{ - /* <private> */ - guint ref_count; - - int ascent; - int descent; - int height; - int approximate_char_width; - int approximate_digit_width; - int underline_position; - int underline_thickness; - int strikethrough_position; - int strikethrough_thickness; -}; - - -#define PANGO_FONT_FAMILY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT_FAMILY, PangoFontFamilyClass)) -#define PANGO_IS_FONT_FAMILY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONT_FAMILY)) -#define PANGO_FONT_FAMILY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONT_FAMILY, PangoFontFamilyClass)) - -typedef struct _PangoFontFamilyClass PangoFontFamilyClass; - - -/** - * PangoFontFamily: - * - * The #PangoFontFamily structure is used to represent a family of related - * font faces. The faces in a family share a common design, but differ in - * slant, weight, width and other aspects. - */ -struct _PangoFontFamily -{ - GObject parent_instance; -}; - -struct _PangoFontFamilyClass -{ - GObjectClass parent_class; - - /*< public >*/ - - void (*list_faces) (PangoFontFamily *family, - PangoFontFace ***faces, - int *n_faces); - const char * (*get_name) (PangoFontFamily *family); - gboolean (*is_monospace) (PangoFontFamily *family); - gboolean (*is_variable) (PangoFontFamily *family); - - /*< private >*/ - - /* Padding for future expansion */ - void (*_pango_reserved2) (void); - void (*_pango_reserved3) (void); -}; - - -#define PANGO_FONT_FACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT_FACE, PangoFontFaceClass)) -#define PANGO_IS_FONT_FACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONT_FACE)) -#define PANGO_FONT_FACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONT_FACE, PangoFontFaceClass)) - -typedef struct _PangoFontFaceClass PangoFontFaceClass; - -/** - * PangoFontFace: - * - * The #PangoFontFace structure is used to represent a group of fonts with - * the same family, slant, weight, width, but varying sizes. - */ -struct _PangoFontFace -{ - GObject parent_instance; -}; - -struct _PangoFontFaceClass -{ - GObjectClass parent_class; - - /*< public >*/ - - const char * (*get_face_name) (PangoFontFace *face); - PangoFontDescription * (*describe) (PangoFontFace *face); - void (*list_sizes) (PangoFontFace *face, - int **sizes, - int *n_sizes); - gboolean (*is_synthesized) (PangoFontFace *face); - - /*< private >*/ - - /* Padding for future expansion */ - void (*_pango_reserved3) (void); - void (*_pango_reserved4) (void); -}; - - -#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 _PangoFontClass PangoFontClass; - -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); -}; - - G_END_DECLS #endif /* __PANGO_FONT_PRIVATE_H__ */ diff --git a/pango/pango-font.h b/pango/pango-font.h index 18d16b37..70c24d20 100644 --- a/pango/pango-font.h +++ b/pango/pango-font.h @@ -326,6 +326,23 @@ char * pango_font_description_to_filename (const PangoFontDescrip * The #GObject type for #PangoFontMetrics. */ #define PANGO_TYPE_FONT_METRICS (pango_font_metrics_get_type ()) + +struct _PangoFontMetrics +{ + /* <private> */ + guint ref_count; + + int ascent; + int descent; + int height; + int approximate_char_width; + int approximate_digit_width; + int underline_position; + int underline_thickness; + int strikethrough_position; + int strikethrough_thickness; +}; + PANGO_AVAILABLE_IN_ALL GType pango_font_metrics_get_type (void) G_GNUC_CONST; PANGO_AVAILABLE_IN_ALL @@ -376,9 +393,49 @@ int pango_font_metrics_get_strikethrough_thickness (PangoFontMetri #define PANGO_TYPE_FONT_FAMILY (pango_font_family_get_type ()) #define PANGO_FONT_FAMILY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FAMILY, PangoFontFamily)) #define PANGO_IS_FONT_FAMILY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FAMILY)) +#define PANGO_FONT_FAMILY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT_FAMILY, PangoFontFamilyClass)) +#define PANGO_IS_FONT_FAMILY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONT_FAMILY)) +#define PANGO_FONT_FAMILY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONT_FAMILY, PangoFontFamilyClass)) -typedef struct _PangoFontFamily PangoFontFamily; typedef struct _PangoFontFace PangoFontFace; +typedef struct _PangoFontFamily PangoFontFamily; +typedef struct _PangoFontFamilyClass PangoFontFamilyClass; + +#ifndef PANGO_DISABLE_DEPRECATED + +/** + * PangoFontFamily: + * + * The #PangoFontFamily structure is used to represent a family of related + * font faces. The faces in a family share a common design, but differ in + * slant, weight, width and other aspects. + */ +struct _PangoFontFamily +{ + GObject parent_instance; +}; + +struct _PangoFontFamilyClass +{ + GObjectClass parent_class; + + /*< public >*/ + + void (*list_faces) (PangoFontFamily *family, + PangoFontFace ***faces, + int *n_faces); + const char * (*get_name) (PangoFontFamily *family); + gboolean (*is_monospace) (PangoFontFamily *family); + gboolean (*is_variable) (PangoFontFamily *family); + + /*< private >*/ + + /* Padding for future expansion */ + void (*_pango_reserved2) (void); + void (*_pango_reserved3) (void); +}; + +#endif /* PANGO_DISABLE_DEPRECATED */ PANGO_AVAILABLE_IN_ALL GType pango_font_family_get_type (void) G_GNUC_CONST; @@ -419,6 +476,46 @@ gboolean pango_font_family_is_variable (PangoFontFamily *family) G_G #define PANGO_TYPE_FONT_FACE (pango_font_face_get_type ()) #define PANGO_FONT_FACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FACE, PangoFontFace)) #define PANGO_IS_FONT_FACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FACE)) +#define PANGO_FONT_FACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT_FACE, PangoFontFaceClass)) +#define PANGO_IS_FONT_FACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONT_FACE)) +#define PANGO_FONT_FACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONT_FACE, PangoFontFaceClass)) + +typedef struct _PangoFontFaceClass PangoFontFaceClass; + +#ifndef PANGO_DISABLE_DEPRECATED + +/** + * PangoFontFace: + * + * The #PangoFontFace structure is used to represent a group of fonts with + * the same family, slant, weight, width, but varying sizes. + */ +struct _PangoFontFace +{ + GObject parent_instance; +}; + +struct _PangoFontFaceClass +{ + GObjectClass parent_class; + + /*< public >*/ + + const char * (*get_face_name) (PangoFontFace *face); + PangoFontDescription * (*describe) (PangoFontFace *face); + void (*list_sizes) (PangoFontFace *face, + int **sizes, + int *n_sizes); + gboolean (*is_synthesized) (PangoFontFace *face); + + /*< private >*/ + + /* Padding for future expansion */ + void (*_pango_reserved3) (void); + void (*_pango_reserved4) (void); +}; + +#endif /* PANGO_DISABLE_DEPRECATED */ PANGO_AVAILABLE_IN_ALL GType pango_font_face_get_type (void) G_GNUC_CONST; @@ -459,6 +556,10 @@ gboolean pango_font_face_is_synthesized (PangoFontFace *face) G_GN #define PANGO_TYPE_FONT (pango_font_get_type ()) #define PANGO_FONT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT, PangoFont)) #define PANGO_IS_FONT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_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)) + #ifndef PANGO_DISABLE_DEPRECATED @@ -483,6 +584,31 @@ struct _PangoFont GObject parent_instance; }; +typedef struct _PangoFontClass PangoFontClass; +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); +}; + #endif /* PANGO_DISABLE_DEPRECATED */ PANGO_AVAILABLE_IN_ALL diff --git a/pango/pango-fontset-private.h b/pango/pango-fontset-private.h index a0829cc9..a7d71564 100644 --- a/pango/pango-fontset-private.h +++ b/pango/pango-fontset-private.h @@ -31,65 +31,6 @@ G_BEGIN_DECLS -typedef struct _PangoFontsetClass PangoFontsetClass; - -#define PANGO_FONTSET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONTSET, PangoFontsetClass)) -#define PANGO_IS_FONTSET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONTSET)) -#define PANGO_FONTSET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONTSET, PangoFontsetClass)) - -/** - * PangoFontset: - * - * A #PangoFontset represents a set of #PangoFont to use - * when rendering text. It is the result of resolving a - * #PangoFontDescription against a particular #PangoContext. - * It has operations for finding the component font for - * a particular Unicode character, and for finding a composite - * set of metrics for the entire fontset. - */ -struct _PangoFontset -{ - GObject parent_instance; -}; - -/** - * PangoFontsetClass: - * @parent_class: parent #GObjectClass. - * @get_font: a function to get the font in the fontset that contains the - * best glyph for the given Unicode character; see pango_fontset_get_font(). - * @get_metrics: a function to get overall metric information for the fonts - * in the fontset; see pango_fontset_get_metrics(). - * @get_language: a function to get the language of the fontset. - * @foreach: a function to loop over the fonts in the fontset. See - * pango_fontset_foreach(). - * - * The #PangoFontsetClass structure holds the virtual functions for - * a particular #PangoFontset implementation. - */ -struct _PangoFontsetClass -{ - GObjectClass parent_class; - - /*< public >*/ - - PangoFont * (*get_font) (PangoFontset *fontset, - guint wc); - - PangoFontMetrics *(*get_metrics) (PangoFontset *fontset); - PangoLanguage * (*get_language) (PangoFontset *fontset); - void (*foreach) (PangoFontset *fontset, - PangoFontsetForeachFunc func, - gpointer data); - - /*< private >*/ - - /* Padding for future expansion */ - void (*_pango_reserved1) (void); - void (*_pango_reserved2) (void); - void (*_pango_reserved3) (void); - void (*_pango_reserved4) (void); -}; - /* * PangoFontsetSimple */ diff --git a/pango/pango-fontset.h b/pango/pango-fontset.h index da3cef46..fed3e744 100644 --- a/pango/pango-fontset.h +++ b/pango/pango-fontset.h @@ -41,11 +41,16 @@ G_BEGIN_DECLS #define PANGO_TYPE_FONTSET (pango_fontset_get_type ()) #define PANGO_FONTSET(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONTSET, PangoFontset)) #define PANGO_IS_FONTSET(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONTSET)) +#define PANGO_FONTSET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONTSET, PangoFontsetClass)) +#define PANGO_IS_FONTSET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONTSET)) +#define PANGO_FONTSET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONTSET, PangoFontsetClass)) + PANGO_AVAILABLE_IN_ALL GType pango_fontset_get_type (void) G_GNUC_CONST; typedef struct _PangoFontset PangoFontset; +typedef struct _PangoFontsetClass PangoFontsetClass; /** * PangoFontsetForeachFunc: @@ -64,6 +69,64 @@ typedef gboolean (*PangoFontsetForeachFunc) (PangoFontset *fontset, PangoFont *font, gpointer user_data); +#ifndef PANGO_DISABLE_DEPRECATED + +/** + * PangoFontset: + * + * A #PangoFontset represents a set of #PangoFont to use + * when rendering text. It is the result of resolving a + * #PangoFontDescription against a particular #PangoContext. + * It has operations for finding the component font for + * a particular Unicode character, and for finding a composite + * set of metrics for the entire fontset. + */ +struct _PangoFontset +{ + GObject parent_instance; +}; + +/** + * PangoFontsetClass: + * @parent_class: parent #GObjectClass. + * @get_font: a function to get the font in the fontset that contains the + * best glyph for the given Unicode character; see pango_fontset_get_font(). + * @get_metrics: a function to get overall metric information for the fonts + * in the fontset; see pango_fontset_get_metrics(). + * @get_language: a function to get the language of the fontset. + * @foreach: a function to loop over the fonts in the fontset. See + * pango_fontset_foreach(). + * + * The #PangoFontsetClass structure holds the virtual functions for + * a particular #PangoFontset implementation. + */ +struct _PangoFontsetClass +{ + GObjectClass parent_class; + + /*< public >*/ + + PangoFont * (*get_font) (PangoFontset *fontset, + guint wc); + + PangoFontMetrics *(*get_metrics) (PangoFontset *fontset); + PangoLanguage * (*get_language) (PangoFontset *fontset); + void (*foreach) (PangoFontset *fontset, + PangoFontsetForeachFunc func, + gpointer data); + + /*< private >*/ + + /* Padding for future expansion */ + void (*_pango_reserved1) (void); + void (*_pango_reserved2) (void); + void (*_pango_reserved3) (void); + void (*_pango_reserved4) (void); +}; + +#endif /* PANGO_DISABLE_DEPRECATED */ + + PANGO_AVAILABLE_IN_ALL PangoFont * pango_fontset_get_font (PangoFontset *fontset, guint wc); |