[gtk/matthiasc/for-master] Initial support for new Pango attributes
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master] Initial support for new Pango attributes
- Date: Wed, 1 Sep 2021 14:48:57 +0000 (UTC)
commit ad3dad1965b4aec226614a76a69cf52e3d60be76
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Sep 1 10:32:45 2021 -0400
Initial support for new Pango attributes
This is still missing the GtkTextTag hookup,
but it fixes the build.
demos/gtk-demo/fontify.c | 8 ++++++++
gtk/gtkpango.c | 15 +++++++++++++++
gtk/gtktextbuffer.c | 8 ++++++++
3 files changed, 31 insertions(+)
---
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:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]