summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-08-21 23:12:14 +0200
committerMatthias Clasen <mclasen@redhat.com>2019-08-21 23:12:14 +0200
commitdb1e5dae6e355db792e75cdcca0b7845c89ac4a4 (patch)
tree0d831499390bc60c15643556397aed4e4d5f974e
parent71e865208d059a73aba09ec6a9d0650b40f87d3f (diff)
downloadpango-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
-rw-r--r--pango/pango-font-private.h126
-rw-r--r--pango/pango-font.h128
-rw-r--r--pango/pango-fontset-private.h59
-rw-r--r--pango/pango-fontset.h63
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);