diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2006-07-08 17:29:54 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2006-07-08 17:29:54 +0000 |
commit | b935a4bd82366ca770be6ce6f64f2aefce8e1a65 (patch) | |
tree | af9e23f1c1652478e1f4c63185d63175febad7ed /pango/glyphstring.c | |
parent | 35a7c23baabda073fea6da3a593fb718c9ac8c89 (diff) | |
download | pango-b935a4bd82366ca770be6ce6f64f2aefce8e1a65.tar.gz |
Part of Bug 135683 – Cache glyphstring extents
2006-07-08 Behdad Esfahbod <behdad@gnome.org>
Part of Bug 135683 – Cache glyphstring extents
* docs/pango-sections.txt:
* docs/tmpl/glyphs.sgml:
* pango/pango.def:
* pango/pango-glyph.h:
* pango/glyphstring.c (pango_glyph_string_get_width): New function.
Much faster than calling pango_glyph_string_extents and using
logical_rect.width.
* pango/pango-renderer.c (add_underline), (add_strikethrough),
(pango_renderer_draw_layout_line): Use the new function for
optimization.
Diffstat (limited to 'pango/glyphstring.c')
-rw-r--r-- | pango/glyphstring.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/pango/glyphstring.c b/pango/glyphstring.c index c4c5c8cd..82770349 100644 --- a/pango/glyphstring.c +++ b/pango/glyphstring.c @@ -264,6 +264,33 @@ pango_glyph_string_extents (PangoGlyphString *glyphs, } /** + * pango_glyph_string_get_width: + * @glyphs: a #PangoGlyphString + * @font: a #PangoFont + * + * Computes the logical width of the glyph string as can also be computed + * using pango_glyph_string_extents(). However, since this only computes the + * width, it's much faster. This is in fact only a convenience function that + * computes the sum of geometry.width for each glyph in the @glyphs. + * + * Return value: the logical width of the glyph string. + * + * Since: 1.14 + */ +int +pango_glyph_string_get_width (PangoGlyphString *glyphs, + PangoFont *font) +{ + int i; + int width = 0; + + for (i = 0; i < glyphs->num_glyphs; i++) + width += &glyphs->glyphs[i].geometry.width; + + return width; +} + +/** * pango_glyph_string_get_logical_widths: * @glyphs: a #PangoGlyphString * @text: the text corresponding to the glyphs |