summaryrefslogtreecommitdiff
path: root/pango/pango-item.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-12-19 10:39:37 -0500
committerMatthias Clasen <mclasen@redhat.com>2021-12-19 10:40:34 -0500
commit6770050e74cf83830e255f1d1e9b574feb5a60fc (patch)
tree3aca4500a31b6cde94e44e2f3b3ac9a2a1d410a8 /pango/pango-item.c
parentc0c70393f798be29e3835fa0abd04b15a6235562 (diff)
downloadpango-6770050e74cf83830e255f1d1e9b574feb5a60fc.tar.gz
Add some private api
Add some api to let us store another font in a PangoAnalysis. This will be used in the following commits.
Diffstat (limited to 'pango/pango-item.c')
-rw-r--r--pango/pango-item.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/pango/pango-item.c b/pango/pango-item.c
index 2b2664c5..d7291a08 100644
--- a/pango/pango-item.c
+++ b/pango/pango-item.c
@@ -324,3 +324,44 @@ pango_analysis_collect_features (const PangoAnalysis *analysis,
}
}
}
+
+/*< private >
+ * pango_analysis_set_size_font:
+ * @analysis: a `PangoAnalysis`
+ * @font: a `PangoFont`
+ *
+ * Sets the font to use for determining the line height.
+ *
+ * This is used when scaling fonts for emulated Small Caps,
+ * to preserve the original line height.
+ */
+void
+pango_analysis_set_size_font (PangoAnalysis *analysis,
+ PangoFont *font)
+{
+ PangoAnalysisPrivate *priv = (PangoAnalysisPrivate *)analysis;
+
+ if (priv->size_font)
+ g_object_unref (priv->size_font);
+ priv->size_font = font;
+ if (priv->size_font)
+ g_object_ref (priv->size_font);
+}
+
+/*< private >
+ * pango_analysis_get_size_font:
+ * @analysis: a `PangoAnalysis`
+ *
+ * Gets the font to use for determining line height.
+ *
+ * If this returns `NULL`, use analysis->font.
+ *
+ * Returns: (nullable) (transfer none): the font
+ */
+PangoFont *
+pango_analysis_get_size_font (const PangoAnalysis *analysis)
+{
+ PangoAnalysisPrivate *priv = (PangoAnalysisPrivate *)analysis;
+
+ return priv->size_font;
+}