label: Handle new pango attributes
authorMatthias Clasen <mclasen@redhat.com>
Fri, 1 Nov 2019 13:15:24 +0000 (09:15 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 1 Nov 2019 17:01:54 +0000 (13:01 -0400)
overline and overline-color were introduced in Pango 1.45.

gtk/gtklabel.c

index 7ff59dc50583cf588d1b5589b993780d9c1e8c72..def048a7db0ad5eb85cae1d3841e7329812e0789 100644 (file)
@@ -1550,12 +1550,25 @@ attribute_from_text (GtkBuilder   *builder,
       if (gtk_builder_value_from_string_type (builder, PANGO_TYPE_SHOW_FLAGS, value, &val, error))
        attribute = pango_attr_show_new (g_value_get_flags (&val));
       break;
-#endif
-#if PANGO_VERSION_CHECK(1,44,4)
     case PANGO_ATTR_INSERT_HYPHENS:
       if (gtk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, value, &val, error))
        attribute = pango_attr_insert_hyphens_new (g_value_get_boolean (&val));
       break;
+#endif
+#if PANGO_VERSION_CHECK(1,45,0)
+    case PANGO_ATTR_OVERLINE:
+      if (gtk_builder_value_from_string_type (builder, PANGO_TYPE_OVERLINE, value, &val, NULL))
+       attribute = pango_attr_overline_new (g_value_get_enum (&val));
+      break;
+    case PANGO_ATTR_OVERLINE_COLOR:
+      if (gtk_builder_value_from_string_type (builder, GDK_TYPE_RGBA, value, &val, error))
+       {
+         color = g_value_get_boxed (&val);
+          attribute = pango_attr_overline_color_new (color->red * 65535,
+                                                     color->green * 65535,
+                                                     color->blue * 65535);
+       }
+      break;
 #endif
     case PANGO_ATTR_INVALID:
     default: