summaryrefslogtreecommitdiff
path: root/pango/pango-font.h
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 /pango/pango-font.h
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
Diffstat (limited to 'pango/pango-font.h')
-rw-r--r--pango/pango-font.h128
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