Extensions to Pango

## Extensions to Pango Extensions to Pango — Miscelleanous extensions to the Pango library. |

## Synopsis

    #include <exo/exo.h>

    enum        ExoPangoEllipsizeMode;
    gboolean    exo_pango_layout_set_text_ellipsized
                                                (PangoLayout *layout,
                                                 const char *string,
                                                 int width,
                                                 ExoPangoEllipsizeMode mode);

## Description

This facility provides ellipsizing support functions for Pango 1.4 and below. If its build against Pango 1.6 or above, it uses the ellipsizing functionality provided by Pango, else its emulated in libexo.

## Details

### enum ExoPangoEllipsizeMode

    typedef enum /*< enum,prefix=EXO_PANGO_ELLIPSIZE_MODE >*/
    {
      EXO_PANGO_ELLIPSIZE_NONE,
      EXO_PANGO_ELLIPSIZE_START,
      EXO_PANGO_ELLIPSIZE_MIDDLE,
      EXO_PANGO_ELLIPSIZE_END,
    } ExoPangoEllipsizeMode;

### exo_pango_layout_set_text_ellipsized ()

    gboolean    exo_pango_layout_set_text_ellipsized
                                                (PangoLayout *layout,
                                                 const char *string,
                                                 int width,
                                                 ExoPangoEllipsizeMode mode);

Truncates a string if required to fit in `width` and sets it on the layout. Truncation involves removing characters from the start, middle or end respectively and replacing them with "...". Algorithm is a bit fuzzy, won't work 100%.

`layout` : | A PangoLayout.
`string` : | The string to ellipsize.
`width` : | The maximal width for the `layout`.
`mode` : | The ellipsize mode.
Returns : | `TRUE` if `string` had to be ellipsized to fit into `width`, else `FALSE`.

## See Also

Pango Reference Manual, ExoEllipsizedLabel, ExoCellRendererEllipsizedText