Handle the new line height pango attribute
authorMatthias Clasen <mclasen@redhat.com>
Sat, 7 Aug 2021 16:11:29 +0000 (12:11 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 10 Aug 2021 12:22:52 +0000 (08:22 -0400)
Update all the places where we switch over PangoAttributeType
to handle (and ignore, for now) the new line height attribute.

demos/gtk-demo/fontify.c
gtk/gtkpango.c
gtk/gtktextbuffer.c
testsuite/gtk/label.c

index 62bc34b803913fcd0b81a1182c5c95ba16838d28..a0a7e95428e2ee0a3d1cf0b4ab1493140c379b32 100644 (file)
@@ -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:
index 8a176b56aa459903abd7ca0499e8e137e992ebcf..3c458417dd8b7db43d249bf9f6a9d2b551899051 100644 (file)
@@ -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;
index 5d550e537289e52b4cbce0ecaeab14dffe587e35..556ac385f86ba92bfadf6e314de3d94ba77615a3 100644 (file)
@@ -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;
index e220432aac4721be7a3d1cb364db1df2ab73cd48..a08481c83f6594ffba527f6118f9506c45f4c8e5 100644 (file)
@@ -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];