From: Behdad Esfahbod Date: Tue, 8 Jan 2008 22:55:14 +0000 (+0000) Subject: Ignore indent if aligned center, and document so. This assumption was X-Git-Tag: PANGO_1_19_3~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7f7dbc1ecc87f11c03aea4a37e2011af3dd9b308;p=platform%2Fupstream%2Fpango.git Ignore indent if aligned center, and document so. This assumption was 2008-01-08 Behdad Esfahbod * pango/pango-layout.c: Ignore indent if aligned center, and document so. This assumption was present in some places and not the others. Fixed now. svn path=/trunk/; revision=2538 --- diff --git a/ChangeLog b/ChangeLog index d0741bd..06bf86e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2008-01-08 Behdad Esfahbod + * pango/pango-layout.c: Ignore indent if aligned center, and document + so. This assumption was present in some places and not the others. + Fixed now. + +2008-01-08 Behdad Esfahbod + Bug 508007 – Add option for single-paragraph mode to pango-view * pango-view/viewer-render.c (make_layout), (parse_options): Add diff --git a/pango/pango-layout.c b/pango/pango-layout.c index dd1ce5b..df4772a 100644 --- a/pango/pango-layout.c +++ b/pango/pango-layout.c @@ -451,6 +451,9 @@ pango_layout_is_wrapped (PangoLayout *layout) * of @indent will produce a hanging indentation. That is, the first line will * have the full width, and subsequent lines will be indented by the * absolute value of @indent. + * + * The indent setting is ignored if layout alignment is set to + * %PANGO_ALIGN_CENTER. **/ void pango_layout_set_indent (PangoLayout *layout, @@ -3314,10 +3317,18 @@ process_line (PangoLayout *layout, if (layout->ellipsize != PANGO_ELLIPSIZE_NONE) state->remaining_width = -1; - else if (state->first_line) - state->remaining_width = (layout->indent >= 0) ? layout->width - layout->indent : layout->width; else - state->remaining_width = (layout->indent >= 0) ? layout->width : layout->width + layout->indent; + { + state->remaining_width = layout->width; + + if (layout->alignment != PANGO_ALIGN_CENTER) + { + if (state->first_line && layout->indent >= 0) + state->remaining_width -= layout->indent; + else if (!state->first_line && layout->indent < 0) + state->remaining_width += layout->indent; + } + } DEBUG ("starting to fill line", line, state); while (state->items)