diff options
Diffstat (limited to 'pango/ellipsize.c')
-rw-r--r-- | pango/ellipsize.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/pango/ellipsize.c b/pango/ellipsize.c index aa49720d..71e291a0 100644 --- a/pango/ellipsize.c +++ b/pango/ellipsize.c @@ -723,22 +723,16 @@ current_width (EllipsizeState *state) **/ gboolean _pango_layout_line_ellipsize (PangoLayoutLine *line, - PangoAttrList *attrs) + PangoAttrList *attrs, + int goal_width) { EllipsizeState state; - int goal_width; gboolean is_ellipsized = FALSE; - if (line->layout->ellipsize == PANGO_ELLIPSIZE_NONE || - line->layout->width < 0) - goto ret; + g_return_val_if_fail (line->layout->ellipsize != PANGO_ELLIPSIZE_NONE && goal_width >= 0, is_ellipsized); init_state (&state, line, attrs); - goal_width = state.layout->width; - if (state.layout->indent > 0 && state.layout->alignment != PANGO_ALIGN_CENTER) - goal_width -= state.layout->indent; - if (state.total_width <= goal_width) goto out; @@ -758,6 +752,6 @@ _pango_layout_line_ellipsize (PangoLayoutLine *line, out: free_state (&state); - ret: + return is_ellipsized; } |