[gtk/css-line-height2: 12/17] css: Translate line-height to a pango attribute
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/css-line-height2: 12/17] css: Translate line-height to a pango attribute
- Date: Mon, 9 Aug 2021 15:20:05 +0000 (UTC)
commit f291dfdd43fb5228dedb9343f274586c303724c5
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Aug 7 11:17:54 2021 -0400
css: Translate line-height to a pango attribute
Pango 1.50 introduces a line-height attribute. Use it.
This is enough to make line-height work for labels.
gtk/gtkcssstyle.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
---
diff --git a/gtk/gtkcssstyle.c b/gtk/gtkcssstyle.c
index 54aa0e7d23..433e58e4c4 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"
@@ -439,6 +440,7 @@ gtk_css_style_get_pango_attributes (GtkCssStyle *style)
const GdkRGBA *color;
const GdkRGBA *decoration_color;
int letter_spacing;
+ double height;
GtkCssFontVariantLigature ligatures;
GtkCssFontVariantNumeric numeric;
GtkCssFontVariantEastAsian east_asian;
@@ -485,6 +487,16 @@ gtk_css_style_get_pango_attributes (GtkCssStyle *style)
attrs = add_pango_attr (attrs, pango_attr_letter_spacing_new (letter_spacing * PANGO_SCALE));
}
+ /* line-height */
+ 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));
+ }
+
/* OpenType features */
s = NULL;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]