layoutLineGetClipRegion

Obtains a clip region which contains the areas where the given ranges of text would be drawn. @x_origin and @y_origin are the top left position of the layout. @index_ranges should contain ranges of bytes in the layout’s text. The clip region will include space to the left or right of the line (to the layout bounding box) if you have indexes above or below the indexes contained inside the line. This is to draw the selection all the way to the side of the layout. However, the clip region is in line coordinates, not layout coordinates.

Note that the regions returned correspond to logical extents of the text ranges, not ink extents. So the drawn line may in fact touch areas out of the clip region. The clip region is mainly useful for highlightling parts of text, such as when text is selected.

layoutLineGetClipRegion

Parameters

line PgLayoutLine

a #PangoLayoutLine

xOrigin int

X pixel where you intend to draw the layout line with this clip

yOrigin int

baseline pixel where you intend to draw the layout line with this clip

indexRanges int[]

array of byte indexes into the layout, where even members of array are start indexes and odd elements are end indexes

nRanges int

number of ranges in @index_ranges, i.e. half the size of @index_ranges

Return: a clip region containing the given ranges

Meta