[gtk/css-line-height2: 10/17] Handle the new line height pango attribute
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/css-line-height2: 10/17] Handle the new line height pango attribute
- Date: Mon, 9 Aug 2021 15:20:05 +0000 (UTC)
commit 23cd5c73d0743cfe88d5ba91b1af577848e660c8
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Aug 7 12:11:29 2021 -0400
Handle the new line height pango attribute
Update all the places where we switch over
PangoAttributeType to handle the new line
height attribute.
demos/gtk-demo/fontify.c | 5 +++++
gtk/gtkpango.c | 8 ++++++++
gtk/gtktextbuffer.c | 8 ++++++++
testsuite/gtk/label.c | 2 ++
4 files changed, 23 insertions(+)
---
diff --git a/demos/gtk-demo/fontify.c b/demos/gtk-demo/fontify.c
index 62bc34b803..f66ab17484 100644
--- a/demos/gtk-demo/fontify.c
+++ b/demos/gtk-demo/fontify.c
@@ -255,6 +255,11 @@ insert_tags_for_attributes (GtkTextBuffer *buffer,
INT_ATTR (insert_hyphens);
break;
+ case PANGO_ATTR_LINE_HEIGHT:
+ FLOAT_ATTR (line_height);
+ break;
+
+ case PANGO_ATTR_ABSOLUTE_LINE_HEIGHT:
case PANGO_ATTR_SHAPE:
case PANGO_ATTR_ABSOLUTE_SIZE:
case PANGO_ATTR_GRAVITY:
diff --git a/gtk/gtkpango.c b/gtk/gtkpango.c
index 8a176b56aa..1a87d2c165 100644
--- a/gtk/gtkpango.c
+++ b/gtk/gtkpango.c
@@ -249,6 +249,14 @@ attribute_from_text (GtkBuilder *builder,
color->blue * 65535);
}
break;
+ case PANGO_ATTR_LINE_HEIGHT:
+ if (gtk_builder_value_from_string_type (builder, G_TYPE_DOUBLE, value, &val, error))
+ attribute = pango_attr_line_height_new (g_value_get_double (&val));
+ break;
+ case PANGO_ATTR_ABSOLUTE_LINE_HEIGHT:
+ if (gtk_builder_value_from_string_type (builder, G_TYPE_INT, value, &val, error))
+ attribute = pango_attr_line_height_new_absolute (g_value_get_int (&val) * PANGO_SCALE);
+ break;
case PANGO_ATTR_INVALID:
default:
break;
diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c
index 5d550e5372..13b8a403a3 100644
--- a/gtk/gtktextbuffer.c
+++ b/gtk/gtktextbuffer.c
@@ -4689,6 +4689,14 @@ insert_tags_for_attributes (GtkTextBuffer *buffer,
INT_ATTR (letter_spacing);
break;
+ case PANGO_ATTR_LINE_HEIGHT:
+ FLOAT_ATTR (line_height);
+ break;
+
+ case PANGO_ATTR_ABSOLUTE_LINE_HEIGHT:
+ INT_ATTR (line_height);
+ break;
+
case PANGO_ATTR_FONT_FEATURES:
STRING_ATTR (font_features);
break;
diff --git a/testsuite/gtk/label.c b/testsuite/gtk/label.c
index e220432aac..ba1dc5df19 100644
--- a/testsuite/gtk/label.c
+++ b/testsuite/gtk/label.c
@@ -41,6 +41,7 @@ print_attribute (PangoAttribute *attr, GString *string)
case PANGO_ATTR_ALLOW_BREAKS:
case PANGO_ATTR_INSERT_HYPHENS:
case PANGO_ATTR_SHOW:
+ case PANGO_ATTR_ABSOLUTE_LINE_HEIGHT:
g_string_append_printf (string, "%d", ((PangoAttrInt *)attr)->value);
break;
case PANGO_ATTR_FONT_DESC:
@@ -65,6 +66,7 @@ print_attribute (PangoAttribute *attr, GString *string)
g_string_append_printf (string, "shape");
break;
case PANGO_ATTR_SCALE:
+ case PANGO_ATTR_LINE_HEIGHT:
{
char val[20];
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]