### Function

# Gdkpango_layout_get_clip_region

#### Declaration [src]

    cairo_region_t*
    gdk_pango_layout_get_clip_region (
      PangoLayout* layout,
      int x_origin,
      int y_origin,
      const int* index_ranges,
      int n_ranges
    )

#### Description [src]

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 point to center the layout. `index_ranges` should contain ranges of bytes in the layout’s text.

Note that the regions returned correspond to logical extents of the text ranges, not ink extents. So the drawn layout 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.

This function is not directly available to language bindings.

#### Parameters

`layout`

  Type: `PangoLayout`

  A `PangoLayout`

  The data is owned by the caller of the function.

`x_origin`

  Type: `int`

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

`y_origin`

  Type: `int`

  Y pixel where you intend to draw the layout with this clip.

`index_ranges`

  Type: `const int*`

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

  The data is owned by the caller of the function.

`n_ranges`

  Type: `int`

  Number of ranges in `index_ranges`, i.e. half the size of `index_ranges`.

#### Return value

Type: `cairo_region_t`

A clip region containing the given ranges.

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