### Function

# Pangoitemize_with_base_dir

since: 1.4

#### Declaration [src]

    GList*
    pango_itemize_with_base_dir (
      PangoContext* context,
      PangoDirection base_dir,
      const char* text,
      int start_index,
      int length,
      PangoAttrList* attrs,
      PangoAttrIterator* cached_iter
    )

#### Description [src]

Like `pango_itemize()`, but with an explicitly specified base direction.

The base direction is used when computing bidirectional levels. `pango_itemize()` gets the base direction from the `PangoContext` (see `pango_context_set_base_dir()`).

Available since: 1.4

#### Parameters

`context`

  Type: `PangoContext`

  A structure holding information that affects the itemization process.

  The data is owned by the caller of the function.

`base_dir`

  Type: `PangoDirection`

  Base direction to use for bidirectional processing.

`text`

  Type: `const char*`

  The text to itemize.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`start_index`

  Type: `int`

  First byte in `text` to process.

`length`

  Type: `int`

  The number of bytes (not characters) to process after `start_index`. This must be >= 0.

`attrs`

  Type: `PangoAttrList`

  The set of attributes that apply to `text`.

  The data is owned by the caller of the function.

`cached_iter`

  Type: `PangoAttrIterator`

  Cached attribute iterator.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

#### Return value

Type: A list of `PangoItem*`

A `GList` of `PangoItem` structures. The items should be freed using `pango_item_free()` probably in combination with `g_list_free_full()`.

The caller of the function takes ownership of the data, and is responsible for freeing it.