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/pango-font.h | |
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/pango-font.h')
-rw-r--r-- | pango/pango-font.h | 128 |
1 files changed, 127 insertions, 1 deletions
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 |