### Method

# Pango LayoutLine get_x_ranges

#### Declaration [src]

    void
    pango_layout_line_get_x_ranges (
      PangoLayoutLine* line,
      int start_index,
      int end_index,
      int** ranges,
      int* n_ranges
    )

#### Description [src]

Gets a list of visual ranges corresponding to a given logical range.

This list is not necessarily minimal - there may be consecutive ranges which are adjacent. The ranges will be sorted from left to right. The ranges are with respect to the left edge of the entire layout, not with respect to the line.

#### Parameters

`start_index`

  Type: `int`

  Start byte index of the logical range. If this value is less than the start index for the line, then the first range will extend all the way to the leading edge of the layout. Otherwise, it will start at the leading edge of the first character.

`end_index`

  Type: `int`

  Ending byte index of the logical range. If this value is greater than the end index for the line, then the last range will extend all the way to the trailing edge of the layout. Otherwise, it will end at the trailing edge of the last character.

`ranges`

  Type: An array of `int*`

  Location to store a pointer to an array of ranges. The array will be of length `2*n_ranges`, with each range starting at `(*ranges)[2*n]` and of width `(*ranges)[2*n + 1] - (*ranges)[2*n]`. This array must be freed with g_free(). The coordinates are relative to the layout and are in Pango units.

  The argument will be set by the function.
  The length of the array is specified in the `n_ranges` argument.
  The caller of the method takes ownership of the returned data, and is responsible for freeing it.

`n_ranges`

  Type: `int*`

  The number of ranges stored in `ranges`.

  The argument will be set by the function.