[gtk/css-line-height2: 4/12] css: Translate line-height to a Pango
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/css-line-height2: 4/12] css: Translate line-height to a Pango
- Date: Sun, 22 Aug 2021 19:16:05 +0000 (UTC)
commit ae767dc5bf19894cbd3392b98d5b6dc4d3e62b3e
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Aug 7 11:17:54 2021 -0400
css: Translate line-height to a Pango
Pango 1.50 introduces a line-height attribute. Use it.
This is enough to make line-height work for labels
and entries.
gtk/gtkcssstyle.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
---
diff --git a/gtk/gtkcssstyle.c b/gtk/gtkcssstyle.c
index 54aa0e7d23..01e7467a10 100644
--- a/gtk/gtkcssstyle.c
+++ b/gtk/gtkcssstyle.c
@@ -33,6 +33,7 @@
#include "gtkcssstringvalueprivate.h"
#include "gtkcssfontvariationsvalueprivate.h"
#include "gtkcssfontfeaturesvalueprivate.h"
+#include "gtkcsslineheightvalueprivate.h"
#include "gtkcssstylepropertyprivate.h"
#include "gtkcsstransitionprivate.h"
#include "gtkstyleanimationprivate.h"
@@ -485,6 +486,20 @@ gtk_css_style_get_pango_attributes (GtkCssStyle *style)
attrs = add_pango_attr (attrs, pango_attr_letter_spacing_new (letter_spacing * PANGO_SCALE));
}
+#if PANGO_VERSION_CHECK(1, 49, 0)
+ /* line-height */
+ {
+ double height = gtk_css_line_height_value_get (style->font->line_height);
+ if (height != 0.0)
+ {
+ if (gtk_css_number_value_get_dimension (style->font->line_height) == GTK_CSS_DIMENSION_LENGTH)
+ attrs = add_pango_attr (attrs, pango_attr_line_height_new_absolute (height * PANGO_SCALE));
+ else
+ attrs = add_pango_attr (attrs, pango_attr_line_height_new (height));
+ }
+ }
+#endif
+
/* OpenType features */
s = NULL;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]