diff options
Diffstat (limited to 'pango/pango-layout.c')
-rw-r--r-- | pango/pango-layout.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/pango/pango-layout.c b/pango/pango-layout.c index 0214997e..97afea01 100644 --- a/pango/pango-layout.c +++ b/pango/pango-layout.c @@ -653,6 +653,7 @@ ensure_lines (PangoLayout *layout) PangoRectangle ext; int offset; PangoEllipsizeMode ellipsize = PANGO_ELLIPSIZE_NONE; + PangoLeadingTrim trim = PANGO_LEADING_TRIM_NONE; if ((line_no == 0) == (layout->indent > 0)) { @@ -670,7 +671,13 @@ ensure_lines (PangoLayout *layout) retry: line = pango_line_breaker_next_line (breaker, x, width, layout->wrap, ellipsize); - pango_line_get_extents (line, NULL, &ext); + + if (line->starts_paragraph) + trim |= PANGO_LEADING_TRIM_START; + if (line->ends_paragraph) + trim |= PANGO_LEADING_TRIM_END; + + pango_line_get_trimmed_extents (line, trim, &ext); if (layout->height >= 0 && y + 2 * ext.height >= layout->height && ellipsize != layout->ellipsize) |