### Virtual Method

# Atk Text get_string_at_offset

since: 2.10

#### Declaration [src]

    gchar*
    get_string_at_offset (
      AtkText* text,
      gint offset,
      AtkTextGranularity granularity,
      gint* start_offset,
      gint* end_offset
    )

#### Description [src]

Gets a portion of the text exposed through an `AtkText` according to a given `offset` and a specific `granularity`, along with the start and end offsets defining the boundaries of such a portion of text.

If `granularity` is ATK_TEXT_GRANULARITY_CHAR the character at the offset is returned.

If `granularity` is ATK_TEXT_GRANULARITY_WORD the returned string is from the word start at or before the offset to the word start after the offset.

The returned string will contain the word at the offset if the offset is inside a word and will contain the word before the offset if the offset is not inside a word.

If `granularity` is ATK_TEXT_GRANULARITY_SENTENCE the returned string is from the sentence start at or before the offset to the sentence start after the offset.

The returned string will contain the sentence at the offset if the offset is inside a sentence and will contain the sentence before the offset if the offset is not inside a sentence.

If `granularity` is ATK_TEXT_GRANULARITY_LINE the returned string is from the line start at or before the offset to the line start after the offset.

If `granularity` is ATK_TEXT_GRANULARITY_PARAGRAPH the returned string is from the start of the paragraph at or before the offset to the start of the following paragraph after the offset.

Available since: 2.10

#### Parameters

`offset`

  Type: `gint`

  Position.

`granularity`

  Type: `AtkTextGranularity`

  An `AtkTextGranularity`.

`start_offset`

  Type: `gint*`

  The starting character offset of the returned string, or -1 in the case of error (e.g. invalid offset, not implemented).

  The argument will be set by the function.

`end_offset`

  Type: `gint*`

  The offset of the first character after the returned string, or -1 in the case of error (e.g. invalid offset, not implemented).

  The argument will be set by the function.

#### Return value

Type: `gchar*`

A newly allocated string containing the text at the `offset` bounded by the specified `granularity`. Use `g_free()` to free the returned string. Returns `NULL` if the offset is invalid or no implementation is available.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.
The return value can be `NULL`.
The value is a NUL terminated UTF-8 string.