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.
This commit is contained in:
Matthias Clasen 2021-08-07 11:17:54 -04:00
parent d923402934
commit ae767dc5bf

View File

@ -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;