Provide access to PangoLayout.n_chars
authorMatthias Clasen <mclasen@redhat.com>
Mon, 16 May 2011 13:32:59 +0000 (09:32 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 16 May 2011 13:32:59 +0000 (09:32 -0400)
This lets us avoid a bunch of g_utf8_strlen() calls, when
Pango is already maintaining this information anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=650208

docs/pango-sections.txt
pango/pango-layout.c
pango/pango-layout.h
pango/pango.def

index d0236a2..d8f2c05 100644 (file)
@@ -442,6 +442,7 @@ pango_layout_context_changed
 
 pango_layout_set_text
 pango_layout_get_text
+pango_layout_get_character_count
 pango_layout_set_markup
 pango_layout_set_markup_with_accel
 pango_layout_set_attributes
index 0b17ea8..5952fa8 100644 (file)
@@ -1096,6 +1096,26 @@ pango_layout_get_text (PangoLayout *layout)
 }
 
 /**
+ * pango_layout_get_character_count:
+ * @layout: a #PangoLayout
+ *
+ * Returns the number of Unicode characters in the
+ * the text of @layout.
+ *
+ * Return value: the number of Unicode characters
+ *     in the text of @layout
+ *
+ * Since: 1.30
+ */
+gint
+pango_layout_get_character_count (PangoLayout *layout)
+{
+  g_return_val_if_fail (PANGO_IS_LAYOUT (layout), NULL);
+
+  return layout->n_chars;
+}
+
+/**
  * pango_layout_set_markup:
  * @layout: a #PangoLayout
  * @markup: marked-up text
index 52dc36a..39d2e70 100644 (file)
@@ -103,6 +103,8 @@ void           pango_layout_set_text       (PangoLayout    *layout,
                                            int             length);
 const char    *pango_layout_get_text       (PangoLayout    *layout);
 
+gint           pango_layout_get_character_count (PangoLayout *layout);
+
 void           pango_layout_set_markup     (PangoLayout    *layout,
                                            const char     *markup,
                                            int             length);
index 70e1a50..3e6a428 100644 (file)
@@ -233,6 +233,7 @@ EXPORTS
        pango_layout_get_attributes
        pango_layout_get_auto_dir
        pango_layout_get_baseline
+       pango_layout_get_character_count
        pango_layout_get_context
        pango_layout_get_cursor_pos
        pango_layout_get_ellipsize