diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-09-01 15:06:26 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-09-01 15:06:26 +0000 |
commit | 76a8eb4960fd878d5c10920f04f34c7317c5d1d3 (patch) | |
tree | 06c41f10918572e3912e56e9fa66b5bdd54c7559 | |
parent | 172d97de05943c0b9786f473b66ab5b59fe1e5c2 (diff) | |
parent | ad3dad1965b4aec226614a76a69cf52e3d60be76 (diff) | |
download | gtk+-76a8eb4960fd878d5c10920f04f34c7317c5d1d3.tar.gz |
Merge branch 'matthiasc/for-master' into 'master'
Initial support for new Pango attributes
See merge request GNOME/gtk!3911
-rw-r--r-- | demos/gtk-demo/fontify.c | 8 | ||||
-rw-r--r-- | gtk/gtkpango.c | 15 | ||||
-rw-r--r-- | gtk/gtktextbuffer.c | 8 |
3 files changed, 31 insertions, 0 deletions
diff --git a/demos/gtk-demo/fontify.c b/demos/gtk-demo/fontify.c index 34b5063b46..cdbdf654d3 100644 --- a/demos/gtk-demo/fontify.c +++ b/demos/gtk-demo/fontify.c @@ -283,6 +283,14 @@ insert_tags_for_attributes (GtkTextBuffer *buffer, VOID_ATTR (sentence); break; + case PANGO_ATTR_BASELINE_SHIFT: + INT_ATTR (baseline_shift); + break; + + case PANGO_ATTR_FONT_SCALE: + INT_ATTR (font_scale); + break; + case PANGO_ATTR_SHAPE: case PANGO_ATTR_ABSOLUTE_SIZE: case PANGO_ATTR_GRAVITY: diff --git a/gtk/gtkpango.c b/gtk/gtkpango.c index 94207eb5cc..58ee7a3bf2 100644 --- a/gtk/gtkpango.c +++ b/gtk/gtkpango.c @@ -267,6 +267,21 @@ attribute_from_text (GtkBuilder *builder, case PANGO_ATTR_SENTENCE: attribute = pango_attr_sentence_new (); break; + case PANGO_ATTR_BASELINE_SHIFT: + if (gtk_builder_value_from_string_type (builder, PANGO_TYPE_BASELINE_SHIFT, value, &val, NULL)) + attribute = pango_attr_baseline_shift_new (g_value_get_enum (&val)); + else if (gtk_builder_value_from_string_type (builder, G_TYPE_INT, value, &val, NULL)) + attribute = pango_attr_baseline_shift_new (g_value_get_enum (&val)); + else + g_set_error (error, + GTK_BUILDER_ERROR, + GTK_BUILDER_ERROR_INVALID_VALUE, + "Could not parse '%s' as baseline shift value", value); + break; + case PANGO_ATTR_FONT_SCALE: + if (gtk_builder_value_from_string_type (builder, PANGO_TYPE_FONT_SCALE, value, &val, error)) + attribute = pango_attr_font_scale_new (g_value_get_enum (&val)); + break; case PANGO_ATTR_INVALID: default: break; diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c index 67d1e47056..4ec5fe6077 100644 --- a/gtk/gtktextbuffer.c +++ b/gtk/gtktextbuffer.c @@ -4736,6 +4736,14 @@ insert_tags_for_attributes (GtkTextBuffer *buffer, VOID_ATTR (sentence); break; + case PANGO_ATTR_BASELINE_SHIFT: + INT_ATTR (baseline_shift); + break; + + case PANGO_ATTR_FONT_SCALE: + INT_ATTR (font_scale); + break; + case PANGO_ATTR_SHAPE: case PANGO_ATTR_ABSOLUTE_SIZE: case PANGO_ATTR_GRAVITY: |