summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-08-07 12:11:29 -0400
committerMatthias Clasen <mclasen@redhat.com>2021-08-10 08:22:52 -0400
commit528ebfabf09f57e3afc8948e5c5b84957f7ef421 (patch)
tree4076cd5e9494ed3070227776583dbb12f0ef7177
parent04f3c8054bbb186f40141b4481e98fe77e80a920 (diff)
downloadgtk+-528ebfabf09f57e3afc8948e5c5b84957f7ef421.tar.gz
Handle the new line height pango attribute
Update all the places where we switch over PangoAttributeType to handle (and ignore, for now) the new line height attribute.
-rw-r--r--demos/gtk-demo/fontify.c6
-rw-r--r--gtk/gtkpango.c10
-rw-r--r--gtk/gtktextbuffer.c6
-rw-r--r--testsuite/gtk/label.c6
4 files changed, 28 insertions, 0 deletions
diff --git a/demos/gtk-demo/fontify.c b/demos/gtk-demo/fontify.c
index 62bc34b803..a0a7e95428 100644
--- a/demos/gtk-demo/fontify.c
+++ b/demos/gtk-demo/fontify.c
@@ -255,6 +255,12 @@ insert_tags_for_attributes (GtkTextBuffer *buffer,
INT_ATTR (insert_hyphens);
break;
+#if PANGO_VERSION_CHECK(1,49,0)
+ case PANGO_ATTR_LINE_HEIGHT:
+ case PANGO_ATTR_ABSOLUTE_LINE_HEIGHT:
+ break;
+#endif
+
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..3c458417dd 100644
--- a/gtk/gtkpango.c
+++ b/gtk/gtkpango.c
@@ -249,6 +249,16 @@ attribute_from_text (GtkBuilder *builder,
color->blue * 65535);
}
break;
+#if PANGO_VERSION_CHECK(1, 49, 0)
+ 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;
+#endif
case PANGO_ATTR_INVALID:
default:
break;
diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c
index 5d550e5372..556ac385f8 100644
--- a/gtk/gtktextbuffer.c
+++ b/gtk/gtktextbuffer.c
@@ -4689,6 +4689,12 @@ insert_tags_for_attributes (GtkTextBuffer *buffer,
INT_ATTR (letter_spacing);
break;
+#if PANGO_VERSION_CHECK(1, 49, 0)
+ case PANGO_ATTR_LINE_HEIGHT:
+ case PANGO_ATTR_ABSOLUTE_LINE_HEIGHT:
+ break;
+#endif
+
case PANGO_ATTR_FONT_FEATURES:
STRING_ATTR (font_features);
break;
diff --git a/testsuite/gtk/label.c b/testsuite/gtk/label.c
index e220432aac..a08481c83f 100644
--- a/testsuite/gtk/label.c
+++ b/testsuite/gtk/label.c
@@ -41,6 +41,9 @@ print_attribute (PangoAttribute *attr, GString *string)
case PANGO_ATTR_ALLOW_BREAKS:
case PANGO_ATTR_INSERT_HYPHENS:
case PANGO_ATTR_SHOW:
+#if PANGO_VERSION_CHECK(1, 49, 0)
+ case PANGO_ATTR_ABSOLUTE_LINE_HEIGHT:
+#endif
g_string_append_printf (string, "%d", ((PangoAttrInt *)attr)->value);
break;
case PANGO_ATTR_FONT_DESC:
@@ -65,6 +68,9 @@ print_attribute (PangoAttribute *attr, GString *string)
g_string_append_printf (string, "shape");
break;
case PANGO_ATTR_SCALE:
+#if PANGO_VERSION_CHECK(1, 49, 0)
+ case PANGO_ATTR_LINE_HEIGHT:
+#endif
{
char val[20];