<refentry id="at-spi-cspi-AccessibleText-Interface">
<refmeta>
<refentrytitle role="top_of_page" id="at-spi-cspi-AccessibleText-Interface.top_of_page">AccessibleText Interface</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>AT-SPI-CSPI Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>AccessibleText Interface</refname>
<refpurpose></refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

<refsynopsisdiv id="at-spi-cspi-AccessibleText-Interface.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
enum                <link linkend="AccessibleTextBoundaryType">AccessibleTextBoundaryType</link>;
enum                <link linkend="AccessibleTextClipType">AccessibleTextClipType</link>;
<link linkend="void">void</link>                <link linkend="AccessibleText-ref">AccessibleText_ref</link>                  (<link linkend="AccessibleText">AccessibleText</link> *obj);
<link linkend="void">void</link>                <link linkend="AccessibleText-unref">AccessibleText_unref</link>                (<link linkend="AccessibleText">AccessibleText</link> *obj);
<link linkend="SPIBoolean">SPIBoolean</link>          <link linkend="AccessibleText-addSelection">AccessibleText_addSelection</link>         (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> startOffset,
                                                         long <link linkend="int">int</link> endOffset);
<link linkend="char">char</link>*               <link linkend="AccessibleText-getAttributes">AccessibleText_getAttributes</link>        (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset,
                                                         long <link linkend="int">int</link> *startOffset,
                                                         long <link linkend="int">int</link> *endOffset);
<link linkend="AccessibleTextRange">AccessibleTextRange</link>** <link linkend="AccessibleText-getBoundedRanges">AccessibleText_getBoundedRanges</link>   (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> x,
                                                         long <link linkend="int">int</link> y,
                                                         long <link linkend="int">int</link> width,
                                                         long <link linkend="int">int</link> height,
                                                         <link linkend="AccessibleCoordType">AccessibleCoordType</link> type,
                                                         <link linkend="AccessibleTextClipType">AccessibleTextClipType</link> clipTypeX,
                                                         <link linkend="AccessibleTextClipType">AccessibleTextClipType</link> clipTypeY);
<link linkend="long">long</link>                <link linkend="AccessibleText-getCaretOffset">AccessibleText_getCaretOffset</link>       (<link linkend="AccessibleText">AccessibleText</link> *obj);
<link linkend="long">long</link>                <link linkend="AccessibleText-getCharacterCount">AccessibleText_getCharacterCount</link>    (<link linkend="AccessibleText">AccessibleText</link> *obj);
<link linkend="void">void</link>                <link linkend="AccessibleText-getCharacterExtents">AccessibleText_getCharacterExtents</link>  (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset,
                                                         long <link linkend="int">int</link> *x,
                                                         long <link linkend="int">int</link> *y,
                                                         long <link linkend="int">int</link> *width,
                                                         long <link linkend="int">int</link> *height,
                                                         <link linkend="AccessibleCoordType">AccessibleCoordType</link> type);
<link linkend="long">long</link>                <link linkend="AccessibleText-getNSelections">AccessibleText_getNSelections</link>       (<link linkend="AccessibleText">AccessibleText</link> *obj);
<link linkend="long">long</link>                <link linkend="AccessibleText-getOffsetAtPoint">AccessibleText_getOffsetAtPoint</link>     (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> x,
                                                         long <link linkend="int">int</link> y,
                                                         <link linkend="AccessibleCoordType">AccessibleCoordType</link> type);
<link linkend="void">void</link>                <link linkend="AccessibleText-getRangeExtents">AccessibleText_getRangeExtents</link>      (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> startOffset,
                                                         long <link linkend="int">int</link> endOffset,
                                                         long <link linkend="int">int</link> *x,
                                                         long <link linkend="int">int</link> *y,
                                                         long <link linkend="int">int</link> *width,
                                                         long <link linkend="int">int</link> *height,
                                                         <link linkend="AccessibleCoordType">AccessibleCoordType</link> type);
<link linkend="void">void</link>                <link linkend="AccessibleText-getSelection">AccessibleText_getSelection</link>         (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> selectionNum,
                                                         long <link linkend="int">int</link> *startOffset,
                                                         long <link linkend="int">int</link> *endOffset);
<link linkend="char">char</link>*               <link linkend="AccessibleText-getText">AccessibleText_getText</link>              (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> startOffset,
                                                         long <link linkend="int">int</link> endOffset);
<link linkend="char">char</link>*               <link linkend="AccessibleText-getTextBeforeOffset">AccessibleText_getTextBeforeOffset</link>  (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset,
                                                         <link linkend="AccessibleTextBoundaryType">AccessibleTextBoundaryType</link> type,
                                                         long <link linkend="int">int</link> *startOffset,
                                                         long <link linkend="int">int</link> *endOffset);
<link linkend="char">char</link>*               <link linkend="AccessibleText-getTextAfterOffset">AccessibleText_getTextAfterOffset</link>   (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset,
                                                         <link linkend="AccessibleTextBoundaryType">AccessibleTextBoundaryType</link> type,
                                                         long <link linkend="int">int</link> *startOffset,
                                                         long <link linkend="int">int</link> *endOffset);
<link linkend="char">char</link>*               <link linkend="AccessibleText-getTextAtOffset">AccessibleText_getTextAtOffset</link>      (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset,
                                                         <link linkend="AccessibleTextBoundaryType">AccessibleTextBoundaryType</link> type,
                                                         long <link linkend="int">int</link> *startOffset,
                                                         long <link linkend="int">int</link> *endOffset);
<link linkend="SPIBoolean">SPIBoolean</link>          <link linkend="AccessibleText-removeSelection">AccessibleText_removeSelection</link>      (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> selectionNum);
<link linkend="SPIBoolean">SPIBoolean</link>          <link linkend="AccessibleText-setCaretOffset">AccessibleText_setCaretOffset</link>       (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> newOffset);
<link linkend="SPIBoolean">SPIBoolean</link>          <link linkend="AccessibleText-setSelection">AccessibleText_setSelection</link>         (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> selectionNum,
                                                         long <link linkend="int">int</link> startOffset,
                                                         long <link linkend="int">int</link> endOffset);
unsigned <link linkend="long">long</link>       <link linkend="AccessibleText-getCharacterAtOffset">AccessibleText_getCharacterAtOffset</link> (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset);
<link linkend="char">char</link>*               <link linkend="AccessibleText-getDefaultAttributes">AccessibleText_getDefaultAttributes</link> (<link linkend="AccessibleText">AccessibleText</link> *obj);
<link linkend="AccessibleAttributeSet">AccessibleAttributeSet</link>* <link linkend="AccessibleText-getAttributeRun">AccessibleText_getAttributeRun</link>  (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset,
                                                         long <link linkend="int">int</link> *startOffset,
                                                         long <link linkend="int">int</link> *endOffset,
                                                         long <link linkend="int">int</link> includeDefaults);
<link linkend="AccessibleAttributeSet">AccessibleAttributeSet</link>* <link linkend="AccessibleText-getDefaultAttributeSet">AccessibleText_getDefaultAttributeSet</link>
                                                        (<link linkend="AccessibleText">AccessibleText</link> *obj);
<link linkend="void">void</link>                <link linkend="AccessibleTextRange-freeRanges">AccessibleTextRange_freeRanges</link>      (<link linkend="AccessibleTextRange">AccessibleTextRange</link> **ranges);
</synopsis>
</refsynopsisdiv>









<refsect1 id="at-spi-cspi-AccessibleText-Interface.description" role="desc">
<title role="desc.title">Description</title>
<para>

</para>
</refsect1>

<refsect1 id="at-spi-cspi-AccessibleText-Interface.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="AccessibleTextBoundaryType" role="enum">
<title>enum AccessibleTextBoundaryType</title>
<indexterm zone="AccessibleTextBoundaryType"><primary>AccessibleTextBoundaryType</primary></indexterm><programlisting>typedef enum
{
  SPI_TEXT_BOUNDARY_CHAR,
  SPI_TEXT_BOUNDARY_CURSOR_POS,
  SPI_TEXT_BOUNDARY_WORD_START,
  SPI_TEXT_BOUNDARY_WORD_END,
  SPI_TEXT_BOUNDARY_SENTENCE_START,
  SPI_TEXT_BOUNDARY_SENTENCE_END,
  SPI_TEXT_BOUNDARY_LINE_START,
  SPI_TEXT_BOUNDARY_LINE_END,
  SPI_TEXT_BOUNDARY_ATTRIBUTE_RANGE
} AccessibleTextBoundaryType;
</programlisting>
<para>
Text boundary types used for specifying boundaries for regions of text.</para>
<para>

</para><variablelist role="enum">
<varlistentry id="SPI-TEXT-BOUNDARY-CHAR:CAPS" role="constant">
<term><literal>SPI_TEXT_BOUNDARY_CHAR</literal></term>
<listitem><simpara> Delimiter is the current character's bounds.
</simpara></listitem>
</varlistentry>
<varlistentry id="SPI-TEXT-BOUNDARY-CURSOR-POS:CAPS" role="constant">
<term><literal>SPI_TEXT_BOUNDARY_CURSOR_POS</literal></term>
<listitem><simpara> Delimiter is the current text caret position.
</simpara></listitem>
</varlistentry>
<varlistentry id="SPI-TEXT-BOUNDARY-WORD-START:CAPS" role="constant">
<term><literal>SPI_TEXT_BOUNDARY_WORD_START</literal></term>
<listitem><simpara> Bounds run from the first character of a word to the first 
character of the following word (i.e. including trailing whitespace, if any) within the text object.
</simpara></listitem>
</varlistentry>
<varlistentry id="SPI-TEXT-BOUNDARY-WORD-END:CAPS" role="constant">
<term><literal>SPI_TEXT_BOUNDARY_WORD_END</literal></term>
<listitem><simpara> Bounds run from the last character of a word to the last 
character of the following word (i.e. including leading whitespace) within the text object.
</simpara></listitem>
</varlistentry>
<varlistentry id="SPI-TEXT-BOUNDARY-SENTENCE-START:CAPS" role="constant">
<term><literal>SPI_TEXT_BOUNDARY_SENTENCE_START</literal></term>
<listitem><simpara> Bounds run from the first character of a sentence to the first 
character of the next sentence in the text object.
</simpara></listitem>
</varlistentry>
<varlistentry id="SPI-TEXT-BOUNDARY-SENTENCE-END:CAPS" role="constant">
<term><literal>SPI_TEXT_BOUNDARY_SENTENCE_END</literal></term>
<listitem><simpara> Bounds run from the last character of a sentence to the last 
character of the next sentence in the text object.
</simpara></listitem>
</varlistentry>
<varlistentry id="SPI-TEXT-BOUNDARY-LINE-START:CAPS" role="constant">
<term><literal>SPI_TEXT_BOUNDARY_LINE_START</literal></term>
<listitem><simpara> Bounds span one line of text, with the line delimiter at the end of the
bounds, if present, within the current text object.
</simpara></listitem>
</varlistentry>
<varlistentry id="SPI-TEXT-BOUNDARY-LINE-END:CAPS" role="constant">
<term><literal>SPI_TEXT_BOUNDARY_LINE_END</literal></term>
<listitem><simpara> Bounds span one line of text, including a preceding line delimiter
if present within the current text object.
</simpara></listitem>
</varlistentry>
<varlistentry id="SPI-TEXT-BOUNDARY-ATTRIBUTE-RANGE:CAPS" role="constant">
<term><literal>SPI_TEXT_BOUNDARY_ATTRIBUTE_RANGE</literal></term>
<listitem><simpara> Bounds span the run, relative to the specified offset and
text accessor API rules, over which the attributes of the text object are invariant.  
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleTextClipType" role="enum">
<title>enum AccessibleTextClipType</title>
<indexterm zone="AccessibleTextClipType"><primary>AccessibleTextClipType</primary></indexterm><programlisting>typedef enum
{
  SPI_TEXT_CLIP_NONE,
  SPI_TEXT_CLIP_MIN,
  SPI_TEXT_CLIP_MAX,
  SPI_TEXT_CLIP_BOTH
} AccessibleTextClipType;
</programlisting>
<para>
Describes the type of clipping required.</para>
<para>

</para><variablelist role="enum">
<varlistentry id="SPI-TEXT-CLIP-NONE:CAPS" role="constant">
<term><literal>SPI_TEXT_CLIP_NONE</literal></term>
<listitem><simpara> No clipping to be done
</simpara></listitem>
</varlistentry>
<varlistentry id="SPI-TEXT-CLIP-MIN:CAPS" role="constant">
<term><literal>SPI_TEXT_CLIP_MIN</literal></term>
<listitem><simpara> Text clipped by min coordinate is omitted
</simpara></listitem>
</varlistentry>
<varlistentry id="SPI-TEXT-CLIP-MAX:CAPS" role="constant">
<term><literal>SPI_TEXT_CLIP_MAX</literal></term>
<listitem><simpara> Text clipped by max coordinate is omitted
</simpara></listitem>
</varlistentry>
<varlistentry id="SPI-TEXT-CLIP-BOTH:CAPS" role="constant">
<term><literal>SPI_TEXT_CLIP_BOTH</literal></term>
<listitem><simpara> Only text fully within mix/max bound is retained
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-ref" role="function">
<title>AccessibleText_ref ()</title>
<indexterm zone="AccessibleText-ref"><primary>AccessibleText_ref</primary></indexterm><programlisting><link linkend="void">void</link>                AccessibleText_ref                  (<link linkend="AccessibleText">AccessibleText</link> *obj);</programlisting>
<para>
Increment the reference count for an <link linkend="AccessibleText"><type>AccessibleText</type></link> object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-unref" role="function">
<title>AccessibleText_unref ()</title>
<indexterm zone="AccessibleText-unref"><primary>AccessibleText_unref</primary></indexterm><programlisting><link linkend="void">void</link>                AccessibleText_unref                (<link linkend="AccessibleText">AccessibleText</link> *obj);</programlisting>
<para>
Decrement the reference count for an <link linkend="AccessibleText"><type>AccessibleText</type></link> object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="Accessible"><type>Accessible</type></link> object on which to operate.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-addSelection" role="function">
<title>AccessibleText_addSelection ()</title>
<indexterm zone="AccessibleText-addSelection"><primary>AccessibleText_addSelection</primary></indexterm><programlisting><link linkend="SPIBoolean">SPIBoolean</link>          AccessibleText_addSelection         (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> startOffset,
                                                         long <link linkend="int">int</link> endOffset);</programlisting>
<para>
Select some text (add a text selection) in an <link linkend="AccessibleText"><type>AccessibleText</type></link> object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>startOffset</parameter>&nbsp;:</term>
<listitem><simpara> the starting offset of the desired new selection.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>endOffset</parameter>&nbsp;:</term>
<listitem><simpara> the offset of the first character after the new selection.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><type>TRUE</type></link> if successful, <link linkend="FALSE:CAPS"><type>FALSE</type></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getAttributes" role="function">
<title>AccessibleText_getAttributes ()</title>
<indexterm zone="AccessibleText-getAttributes"><primary>AccessibleText_getAttributes</primary></indexterm><programlisting><link linkend="char">char</link>*               AccessibleText_getAttributes        (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset,
                                                         long <link linkend="int">int</link> *startOffset,
                                                         long <link linkend="int">int</link> *endOffset);</programlisting>
<para>
Get the attributes applied to a range of text from an <link linkend="AccessibleText"><type>AccessibleText</type></link>
         object, and the bounds of the range.
         The text attributes correspond to CSS attributes where possible,
         keys and values are delimited from one another via ":", and
         the delimiter between key/value pairs is ";". Thus 
         "font-size:10;foreground-color:0,0,0" would be a valid
         return string.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object to query.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara> a long integer indicating the offset from which the attribute
       search is based.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>startOffset</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="long"><type>long</type></link> indicating the start of the desired text range.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>endOffset</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="long"><type>long</type></link> indicating the first character past the desired range.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a text string describing the attributes occurring within the
         attribute run containing <parameter>offset</parameter>, encoded as UTF-8.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getBoundedRanges" role="function">
<title>AccessibleText_getBoundedRanges ()</title>
<indexterm zone="AccessibleText-getBoundedRanges"><primary>AccessibleText_getBoundedRanges</primary></indexterm><programlisting><link linkend="AccessibleTextRange">AccessibleTextRange</link>** AccessibleText_getBoundedRanges   (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> x,
                                                         long <link linkend="int">int</link> y,
                                                         long <link linkend="int">int</link> width,
                                                         long <link linkend="int">int</link> height,
                                                         <link linkend="AccessibleCoordType">AccessibleCoordType</link> type,
                                                         <link linkend="AccessibleTextClipType">AccessibleTextClipType</link> clipTypeX,
                                                         <link linkend="AccessibleTextClipType">AccessibleTextClipType</link> clipTypeY);</programlisting>
<para>
Get the ranges of text from an <link linkend="AccessibleText"><type>AccessibleText</type></link> object which lie within the
         bounds defined by (<parameter>x</parameter>, <parameter>y</parameter>) and (<parameter>x</parameter>+<parameter>width</parameter>, <parameter>y</parameter>+<parameter>height</parameter>).  
</para>
<para>
<parameter>Since</parameter>: AT-SPI 1.2</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara> the 'starting' x coordinate of the bounding box.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara> the 'starting' y coordinate of the bounding box.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara> the x extent of the bounding box.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara> the y extent of the bounding box.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="AccessibleCoordType"><type>AccessibleCoordType</type></link> indicating the coordinate system to use
       for the returned values.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>clipTypeX</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="AccessibleTextClipType"><type>AccessibleTextClipType</type></link> indicating how to treat characters that
       intersect the bounding box's x extents.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>clipTypeY</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="AccessibleTextClipType"><type>AccessibleTextClipType</type></link> indicating how to treat characters that
       intersect the bounding box's y extents.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a null-terminated list of pointers to AccessibleTextRange structs 
         detailing the bounded text.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getCaretOffset" role="function">
<title>AccessibleText_getCaretOffset ()</title>
<indexterm zone="AccessibleText-getCaretOffset"><primary>AccessibleText_getCaretOffset</primary></indexterm><programlisting><link linkend="long">long</link>                AccessibleText_getCaretOffset       (<link linkend="AccessibleText">AccessibleText</link> *obj);</programlisting>
<para>
Get the current offset of the text caret in an <link linkend="AccessibleText"><type>AccessibleText</type></link> object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object to query.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a long integer indicating the current position of the text caret.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getCharacterCount" role="function">
<title>AccessibleText_getCharacterCount ()</title>
<indexterm zone="AccessibleText-getCharacterCount"><primary>AccessibleText_getCharacterCount</primary></indexterm><programlisting><link linkend="long">long</link>                AccessibleText_getCharacterCount    (<link linkend="AccessibleText">AccessibleText</link> *obj);</programlisting>
<para>
Get the character count of an <link linkend="AccessibleText"><type>AccessibleText</type></link> object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object to query.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a long integer indicating the total number of
             characters in the <link linkend="AccessibleText"><type>AccessibleText</type></link> object.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getCharacterExtents" role="function">
<title>AccessibleText_getCharacterExtents ()</title>
<indexterm zone="AccessibleText-getCharacterExtents"><primary>AccessibleText_getCharacterExtents</primary></indexterm><programlisting><link linkend="void">void</link>                AccessibleText_getCharacterExtents  (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset,
                                                         long <link linkend="int">int</link> *x,
                                                         long <link linkend="int">int</link> *y,
                                                         long <link linkend="int">int</link> *width,
                                                         long <link linkend="int">int</link> *height,
                                                         <link linkend="AccessibleCoordType">AccessibleCoordType</link> type);</programlisting>
<para>
Get the bounding box containing the glyph representing
       the character at a particular text offset.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara> an integer indicating the offset of the text character for
       whom boundary information is requested.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to a long integer into which the nominal x coordinate
    of the corresponding glyph will be returned.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara>a pointer to a long integer into which the nominal y coordinate
    of the corresponding glyph will be returned.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara>a pointer to a long integer into which the width
    of the corresponding glyph will be returned.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to a long integer into which the height
    of the corresponding glyph will be returned.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="AccessibleCoordType"><type>AccessibleCoordType</type></link> indicating the coordinate system to use
       for the returned values.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getNSelections" role="function">
<title>AccessibleText_getNSelections ()</title>
<indexterm zone="AccessibleText-getNSelections"><primary>AccessibleText_getNSelections</primary></indexterm><programlisting><link linkend="long">long</link>                AccessibleText_getNSelections       (<link linkend="AccessibleText">AccessibleText</link> *obj);</programlisting>
<para>
Get the number of active non-contiguous selections for an
         <link linkend="AccessibleText"><type>AccessibleText</type></link> object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a long integer indicating the current
         number of non-contiguous text selections active
         within an <link linkend="AccessibleText"><type>AccessibleText</type></link> object.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getOffsetAtPoint" role="function">
<title>AccessibleText_getOffsetAtPoint ()</title>
<indexterm zone="AccessibleText-getOffsetAtPoint"><primary>AccessibleText_getOffsetAtPoint</primary></indexterm><programlisting><link linkend="long">long</link>                AccessibleText_getOffsetAtPoint     (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> x,
                                                         long <link linkend="int">int</link> y,
                                                         <link linkend="AccessibleCoordType">AccessibleCoordType</link> type);</programlisting>
<para>
Get the bounding box for a glyph at a certain <link linkend="AccessibleText"><type>AccessibleText</type></link> offset.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara> the x coordinate of the point to be queried.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara> the y coordinate of the point to be queried.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="AccessibleCoordType"><type>AccessibleCoordType</type></link> indicating the coordinate system in which
      the values should be returned.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the offset (as a long integer) at the point (<parameter>x</parameter>, <parameter>y</parameter>)
      in the specified coordinate system.

</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getRangeExtents" role="function">
<title>AccessibleText_getRangeExtents ()</title>
<indexterm zone="AccessibleText-getRangeExtents"><primary>AccessibleText_getRangeExtents</primary></indexterm><programlisting><link linkend="void">void</link>                AccessibleText_getRangeExtents      (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> startOffset,
                                                         long <link linkend="int">int</link> endOffset,
                                                         long <link linkend="int">int</link> *x,
                                                         long <link linkend="int">int</link> *y,
                                                         long <link linkend="int">int</link> *width,
                                                         long <link linkend="int">int</link> *height,
                                                         <link linkend="AccessibleCoordType">AccessibleCoordType</link> type);</programlisting>
<para>
Get the bounding box for text within a range in an  <link linkend="AccessibleText"><type>AccessibleText</type></link> object.
</para>
<para>
<parameter>Since</parameter>: AT-SPI 1.2</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>startOffset</parameter>&nbsp;:</term>
<listitem><simpara> an integer indicating the offset of the first text character for
       whom boundary information is requested.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>endOffset</parameter>&nbsp;:</term>
<listitem><simpara> an integer indicating the offset of the text character 
       after the last character for whom boundary information is requested.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to a long integer into which the nominal x coordinate
    of the corresponding bounding box will be returned.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara>a pointer to a long integer into which the nominal y coordinate
    of the corresponding bounding box will be returned.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara>a pointer to a long integer into which the width
    of the corresponding bounding box will be returned.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to a long integer into which the height
    of the corresponding bounding box will be returned.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="AccessibleCoordType"><type>AccessibleCoordType</type></link> indicating the coordinate system to use
       for the returned values.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getSelection" role="function">
<title>AccessibleText_getSelection ()</title>
<indexterm zone="AccessibleText-getSelection"><primary>AccessibleText_getSelection</primary></indexterm><programlisting><link linkend="void">void</link>                AccessibleText_getSelection         (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> selectionNum,
                                                         long <link linkend="int">int</link> *startOffset,
                                                         long <link linkend="int">int</link> *endOffset);</programlisting>
<para>
Get the bounds of the <parameter>selectionNum</parameter>-th active text selection for an
        <link linkend="AccessibleText"><type>AccessibleText</type></link> object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>selectionNum</parameter>&nbsp;:</term>
<listitem><simpara> an integer indicating which selection to query.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>startOffset</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to a long integer into which the start offset
          of the selection will be returned.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>endOffset</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to a long integer into which the start offset
          of the selection will be returned.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getText" role="function">
<title>AccessibleText_getText ()</title>
<indexterm zone="AccessibleText-getText"><primary>AccessibleText_getText</primary></indexterm><programlisting><link linkend="char">char</link>*               AccessibleText_getText              (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> startOffset,
                                                         long <link linkend="int">int</link> endOffset);</programlisting>
<para>
Get a range of text from an <link linkend="AccessibleText"><type>AccessibleText</type></link> object.  The number of bytes
         in the returned string may exceed endOffset-startOffset, since
         UTF-8 is a variable-width encoding.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object to query.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>startOffset</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="long"><type>long</type></link> indicating the start of the desired text range.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>endOffset</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="long"><type>long</type></link> indicating the first character past the desired range.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a text string containing characters from <parameter>startOffset</parameter>
         to <parameter>endOffset</parameter>-1, inclusive, encoded as UTF-8.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getTextBeforeOffset" role="function">
<title>AccessibleText_getTextBeforeOffset ()</title>
<indexterm zone="AccessibleText-getTextBeforeOffset"><primary>AccessibleText_getTextBeforeOffset</primary></indexterm><programlisting><link linkend="char">char</link>*               AccessibleText_getTextBeforeOffset  (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset,
                                                         <link linkend="AccessibleTextBoundaryType">AccessibleTextBoundaryType</link> type,
                                                         long <link linkend="int">int</link> *startOffset,
                                                         long <link linkend="int">int</link> *endOffset);</programlisting>
<para>
Get delimited text from an <link linkend="AccessibleText"><type>AccessibleText</type></link> object which precedes a given
         text offset.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara> a long integer indicating the offset from which the delimiter
       search is based.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="AccessibleTextBoundaryType"><type>AccessibleTextBoundaryType</type></link> indicating whether the desired
      text string is a word, sentence, line, or attribute run.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>startOffset</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to a long integer which is assigned the
      starting offset of the returned string, relative to the
      original <link linkend="AccessibleText"><type>AccessibleText</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>endOffset</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to a long integer which is assigned the
      ending offset of the returned string, relative to the original
      <link linkend="AccessibleText"><type>AccessibleText</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a UTF-8 string representing the delimited text, both of whose
         delimiting boundaries are before the current offset, or
         an empty string if no such text exists.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getTextAfterOffset" role="function">
<title>AccessibleText_getTextAfterOffset ()</title>
<indexterm zone="AccessibleText-getTextAfterOffset"><primary>AccessibleText_getTextAfterOffset</primary></indexterm><programlisting><link linkend="char">char</link>*               AccessibleText_getTextAfterOffset   (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset,
                                                         <link linkend="AccessibleTextBoundaryType">AccessibleTextBoundaryType</link> type,
                                                         long <link linkend="int">int</link> *startOffset,
                                                         long <link linkend="int">int</link> *endOffset);</programlisting>
<para>
Get delimited text from an <link linkend="AccessibleText"><type>AccessibleText</type></link> object which follows a given
         text offset.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara> a long integer indicating the offset from which the delimiter
       search is based.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="AccessibleTextBoundaryType"><type>AccessibleTextBoundaryType</type></link> indicating whether the desired
      text string is a word, sentence, line, or attribute run.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>startOffset</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to a long integer which is assigned the
      starting offset of the returned string, relative to the
      original <link linkend="AccessibleText"><type>AccessibleText</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>endOffset</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to a long integer which is assigned the
      ending offset of the returned string, relative to the original
      <link linkend="AccessibleText"><type>AccessibleText</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a UTF-8 string representing the delimited text, both of whose
         delimiting boundaries are after or inclusive of the current
         offset, or an empty string if no such text exists.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getTextAtOffset" role="function">
<title>AccessibleText_getTextAtOffset ()</title>
<indexterm zone="AccessibleText-getTextAtOffset"><primary>AccessibleText_getTextAtOffset</primary></indexterm><programlisting><link linkend="char">char</link>*               AccessibleText_getTextAtOffset      (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset,
                                                         <link linkend="AccessibleTextBoundaryType">AccessibleTextBoundaryType</link> type,
                                                         long <link linkend="int">int</link> *startOffset,
                                                         long <link linkend="int">int</link> *endOffset);</programlisting>
<para>
Get delimited text from an <link linkend="AccessibleText"><type>AccessibleText</type></link> object which includes a given
         text offset.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara> a long integer indicating the offset from which the delimiter
       search is based.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
<listitem><simpara> an <link linkend="AccessibleTextBoundaryType"><type>AccessibleTextBoundaryType</type></link> indicating whether the desired
      text string is a word, sentence, line, or attribute run.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>startOffset</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to a long integer which is assigned the
      starting offset of the returned string, relative to the
      original <link linkend="AccessibleText"><type>AccessibleText</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>endOffset</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to a long integer which is assigned the
      ending offset of the returned string, relative to the original
      <link linkend="AccessibleText"><type>AccessibleText</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a UTF-8 string representing the delimited text, whose
         delimiting boundaries bracket the current offset, or
         an empty string if no such text exists.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-removeSelection" role="function">
<title>AccessibleText_removeSelection ()</title>
<indexterm zone="AccessibleText-removeSelection"><primary>AccessibleText_removeSelection</primary></indexterm><programlisting><link linkend="SPIBoolean">SPIBoolean</link>          AccessibleText_removeSelection      (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> selectionNum);</programlisting>
<para>
De-select a text selection.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>selectionNum</parameter>&nbsp;:</term>
<listitem><simpara> an integer indicating which (possibly of several)
        text selection to remove.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><type>TRUE</type></link> if successful, <link linkend="FALSE:CAPS"><type>FALSE</type></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-setCaretOffset" role="function">
<title>AccessibleText_setCaretOffset ()</title>
<indexterm zone="AccessibleText-setCaretOffset"><primary>AccessibleText_setCaretOffset</primary></indexterm><programlisting><link linkend="SPIBoolean">SPIBoolean</link>          AccessibleText_setCaretOffset       (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> newOffset);</programlisting>
<para>
Set the text caret position for an <link linkend="AccessibleText"><type>AccessibleText</type></link> object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>newOffset</parameter>&nbsp;:</term>
<listitem><simpara> the offset to which the text caret is to be moved.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><type>TRUE</type></link> if successful, <link linkend="FALSE:CAPS"><type>FALSE</type></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-setSelection" role="function">
<title>AccessibleText_setSelection ()</title>
<indexterm zone="AccessibleText-setSelection"><primary>AccessibleText_setSelection</primary></indexterm><programlisting><link linkend="SPIBoolean">SPIBoolean</link>          AccessibleText_setSelection         (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> selectionNum,
                                                         long <link linkend="int">int</link> startOffset,
                                                         long <link linkend="int">int</link> endOffset);</programlisting>
<para>
Change the bounds of an existing <link linkend="AccessibleText"><type>AccessibleText</type></link> text selection.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>selectionNum</parameter>&nbsp;:</term>
<listitem><simpara> a zero-offset index indicating which text selection to modify.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>startOffset</parameter>&nbsp;:</term>
<listitem><simpara> a long int, the new starting offset for the selection.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>endOffset</parameter>&nbsp;:</term>
<listitem><simpara> a long int, the desired new offset of the first character
            after the selection.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><type>TRUE</type></link> if successful, <link linkend="FALSE:CAPS"><type>FALSE</type></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getCharacterAtOffset" role="function">
<title>AccessibleText_getCharacterAtOffset ()</title>
<indexterm zone="AccessibleText-getCharacterAtOffset"><primary>AccessibleText_getCharacterAtOffset</primary></indexterm><programlisting>unsigned <link linkend="long">long</link>       AccessibleText_getCharacterAtOffset (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset);</programlisting>
<para>
Get the character at a given offset for an <link linkend="AccessibleText"><type>AccessibleText</type></link> object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object on which to operate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara> a long integer indicating the text offset where the desired
         character is located.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> an <link linkend="unsigned"><type>unsigned</type></link> long integer which represents the
       UCS-4 unicode code point of the given character, or
       0xFFFFFFFF if the character in question cannot be represented
       in the UCS-4 encoding.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getDefaultAttributes" role="function">
<title>AccessibleText_getDefaultAttributes ()</title>
<indexterm zone="AccessibleText-getDefaultAttributes"><primary>AccessibleText_getDefaultAttributes</primary></indexterm><programlisting><link linkend="char">char</link>*               AccessibleText_getDefaultAttributes (<link linkend="AccessibleText">AccessibleText</link> *obj);</programlisting>
<para>
Get the default attributes applied to an <link linkend="AccessibleText"><type>AccessibleText</type></link>
         object.
         The text attributes correspond to CSS attributes where possible,
         keys and values are delimited from one another via ":", and
         the delimiter between key/value pairs is ";". Thus 
         "font-size:10;foreground-color:0,0,0" would be a valid
         return string.  The combination of this attribute set and
         the attributes reported by <link linkend="AccessibleText-getAttributes"><type>AccessibleText_getAttributes</type></link>
         describes the entire set of text attributes over a range.
</para>
<para>
<parameter>Since</parameter>: AT-SPI 1.4</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object to query.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a text string describing the default attributes 
         applied to a text object, (exclusive of explicitly-set
         attributes), encoded as UTF-8.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getAttributeRun" role="function">
<title>AccessibleText_getAttributeRun ()</title>
<indexterm zone="AccessibleText-getAttributeRun"><primary>AccessibleText_getAttributeRun</primary></indexterm><programlisting><link linkend="AccessibleAttributeSet">AccessibleAttributeSet</link>* AccessibleText_getAttributeRun  (<link linkend="AccessibleText">AccessibleText</link> *obj,
                                                         long <link linkend="int">int</link> offset,
                                                         long <link linkend="int">int</link> *startOffset,
                                                         long <link linkend="int">int</link> *endOffset,
                                                         long <link linkend="int">int</link> includeDefaults);</programlisting>
<para>
<parameter>Since</parameter>: AT-SPI 1.7</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object to query.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara> a long integer indicating the offset from which the attribute
       search is based.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>startOffset</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="long"><type>long</type></link> indicating the start of the desired text range.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>endOffset</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="long"><type>long</type></link> indicating the first character past the desired range.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>includeDefaults</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="bool"><type>bool</type></link> if False, the call should only return those 
                attributes which are explicitly set on the current attribute 
                run, omitting any attributes which are inherited from the 
                default values.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the AttributeSet defined at offset, optionally including the 'default' attributes.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleText-getDefaultAttributeSet" role="function">
<title>AccessibleText_getDefaultAttributeSet ()</title>
<indexterm zone="AccessibleText-getDefaultAttributeSet"><primary>AccessibleText_getDefaultAttributeSet</primary></indexterm><programlisting><link linkend="AccessibleAttributeSet">AccessibleAttributeSet</link>* AccessibleText_getDefaultAttributeSet
                                                        (<link linkend="AccessibleText">AccessibleText</link> *obj);</programlisting>
<para>
<parameter>Since</parameter>: AT-SPI 1.7</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to the <link linkend="AccessibleText"><type>AccessibleText</type></link> object to query.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> an AttributeSet containing the text attributes 
which apply to all text in the object by virtue of the
default settings of the document, view, or user agent; e.g.
those attributes which are implied rather than explicitly 
applied to the text object. For instance, an object whose 
entire text content has been explicitly marked as 'bold' 
will report the 'bold' attribute via <link linkend="getAttributeRun"><function>getAttributeRun()</function></link>, 
whereas an object whose text weight is inspecified may 
report the default or implied text weight in the default AttributeSet.

</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="AccessibleTextRange-freeRanges" role="function">
<title>AccessibleTextRange_freeRanges ()</title>
<indexterm zone="AccessibleTextRange-freeRanges"><primary>AccessibleTextRange_freeRanges</primary></indexterm><programlisting><link linkend="void">void</link>                AccessibleTextRange_freeRanges      (<link linkend="AccessibleTextRange">AccessibleTextRange</link> **ranges);</programlisting>
<para>
Free the memory used by a list of AccessibleTextRange structs.
The argument passed in should be an array of pointers 
AccessibleTextRange structs.  
</para>
<para>
<parameter>Since</parameter>: AT-SPI 1.2</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>ranges</parameter>&nbsp;:</term>
<listitem><simpara> a pointer to an array of AccessibleTextRange structs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
