Method

PangoLayoutLineget_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.