[gtk/matthiasc/for-master: 1/2] Handle the new line height pango attribute




commit 528ebfabf09f57e3afc8948e5c5b84957f7ef421
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 (and ignore, for now) the new line height attribute.

 demos/gtk-demo/fontify.c |  6 ++++++
 gtk/gtkpango.c           | 10 ++++++++++
 gtk/gtktextbuffer.c      |  6 ++++++
 testsuite/gtk/label.c    |  6 ++++++
 4 files changed, 28 insertions(+)
---
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];
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]