Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AtkText: ATK - Accessibility Toolkit</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="ATK - Accessibility Toolkit">
<link rel="up" href="interfaces.html" title="ATK Interfaces">
<link rel="prev" href="AtkTableCell.html" title="AtkTableCell">
<link rel="next" href="AtkValue.html" title="AtkValue">
<meta name="generator" content="GTK-Doc V1.27.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#AtkText.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#AtkText.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_implementations">  <span class="dim">|</span> 
                  <a href="#AtkText.implementations" class="shortcut">Known Implementations</a></span><span id="nav_signals">  <span class="dim">|</span> 
                  <a href="#AtkText.signals" class="shortcut">Signals</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="interfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="AtkTableCell.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="AtkValue.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="AtkText"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="AtkText.top_of_page"></a>AtkText</span></h2>
<p>AtkText — The ATK interface implemented by components
 with text content.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="AtkText.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-text" title="atk_text_get_text ()">atk_text_get_text</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gunichar</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-character-at-offset" title="atk_text_get_character_at_offset ()">atk_text_get_character_at_offset</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-text-after-offset" title="atk_text_get_text_after_offset ()">atk_text_get_text_after_offset</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-text-at-offset" title="atk_text_get_text_at_offset ()">atk_text_get_text_at_offset</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-text-before-offset" title="atk_text_get_text_before_offset ()">atk_text_get_text_before_offset</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-string-at-offset" title="atk_text_get_string_at_offset ()">atk_text_get_string_at_offset</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gint</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-caret-offset" title="atk_text_get_caret_offset ()">atk_text_get_caret_offset</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-character-extents" title="atk_text_get_character_extents ()">atk_text_get_character_extents</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="AtkObject.html#AtkAttributeSet" title="AtkAttributeSet"><span class="returnvalue">AtkAttributeSet</span></a> *
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-run-attributes" title="atk_text_get_run_attributes ()">atk_text_get_run_attributes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="AtkObject.html#AtkAttributeSet" title="AtkAttributeSet"><span class="returnvalue">AtkAttributeSet</span></a> *
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-default-attributes" title="atk_text_get_default_attributes ()">atk_text_get_default_attributes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gint</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-character-count" title="atk_text_get_character_count ()">atk_text_get_character_count</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gint</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-offset-at-point" title="atk_text_get_offset_at_point ()">atk_text_get_offset_at_point</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="AtkText.html#AtkTextRange" title="struct AtkTextRange"><span class="returnvalue">AtkTextRange</span></a> **
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-bounded-ranges" title="atk_text_get_bounded_ranges ()">atk_text_get_bounded_ranges</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-range-extents" title="atk_text_get_range_extents ()">atk_text_get_range_extents</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-free-ranges" title="atk_text_free_ranges ()">atk_text_free_ranges</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gint</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-n-selections" title="atk_text_get_n_selections ()">atk_text_get_n_selections</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-get-selection" title="atk_text_get_selection ()">atk_text_get_selection</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-add-selection" title="atk_text_add_selection ()">atk_text_add_selection</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-remove-selection" title="atk_text_remove_selection ()">atk_text_remove_selection</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-set-selection" title="atk_text_set_selection ()">atk_text_set_selection</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-set-caret-offset" title="atk_text_set_caret_offset ()">atk_text_set_caret_offset</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-attribute-set-free" title="atk_attribute_set_free ()">atk_attribute_set_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="returnvalue">AtkTextAttribute</span></a>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-attribute-register" title="atk_text_attribute_register ()">atk_text_attribute_register</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-attribute-get-name" title="atk_text_attribute_get_name ()">atk_text_attribute_get_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="returnvalue">AtkTextAttribute</span></a>
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-attribute-for-name" title="atk_text_attribute_for_name ()">atk_text_attribute_for_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="AtkText.html#atk-text-attribute-get-value" title="atk_text_attribute_get_value ()">atk_text_attribute_get_value</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="AtkText.signals"></a><h2>Signals</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
<col width="200px" class="signals_flags">
</colgroup>
<tbody>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="AtkText.html#AtkText-text-attributes-changed" title="The “text-attributes-changed” signal">text-attributes-changed</a></td>
<td class="signal_flags">Run Last</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="AtkText.html#AtkText-text-caret-moved" title="The “text-caret-moved” signal">text-caret-moved</a></td>
<td class="signal_flags">Run Last</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="AtkText.html#AtkText-text-changed" title="The “text-changed” signal">text-changed</a></td>
<td class="signal_flags">Has Details</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="AtkText.html#AtkText-text-insert" title="The “text-insert” signal">text-insert</a></td>
<td class="signal_flags">Has Details</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="AtkText.html#AtkText-text-remove" title="The “text-remove” signal">text-remove</a></td>
<td class="signal_flags">Has Details</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="AtkText.html#AtkText-text-selection-changed" title="The “text-selection-changed” signal">text-selection-changed</a></td>
<td class="signal_flags">Run Last</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="AtkText.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="AtkText.html#AtkText-struct" title="AtkText">AtkText</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="AtkText.html#AtkTextIface" title="struct AtkTextIface">AtkTextIface</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="AtkText.html#AtkTextBoundary" title="enum AtkTextBoundary">AtkTextBoundary</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="AtkText.html#AtkTextGranularity" title="enum AtkTextGranularity">AtkTextGranularity</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="AtkText.html#AtkTextClipType" title="enum AtkTextClipType">AtkTextClipType</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="AtkText.html#AtkTextRange" title="struct AtkTextRange">AtkTextRange</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="AtkText.html#AtkTextRectangle" title="struct AtkTextRectangle">AtkTextRectangle</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute">AtkTextAttribute</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="AtkText.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GInterface
    <span class="lineart">╰──</span> AtkText
</pre>
</div>
<div class="refsect1">
<a name="AtkText.implementations"></a><h2>Known Implementations</h2>
<p>
AtkText is implemented by
 <a class="link" href="AtkNoOpObject.html" title="AtkNoOpObject">AtkNoOpObject</a>.</p>
</div>
<div class="refsect1">
<a name="AtkText.description"></a><h2>Description</h2>
<p><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> should be implemented by <a href="AtkObject.html#AtkObject-struct"><span class="type">AtkObjects</span></a> on behalf of widgets
that have text content which is either attributed or otherwise
non-trivial.  <a href="AtkObject.html#AtkObject-struct"><span class="type">AtkObjects</span></a> whose text content is simple,
unattributed, and very brief may expose that content via
<a class="link" href="AtkObject.html#atk-object-get-name" title="atk_object_get_name ()"><span class="type">atk_object_get_name</span></a> instead; however if the text is editable,
multi-line, typically longer than three or four words, attributed,
selectable, or if the object already uses the 'name' ATK property
for other information, the <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> interface should be used to
expose the text content.  In the case of editable text content,
<a class="link" href="AtkEditableText.html" title="AtkEditableText"><span class="type">AtkEditableText</span></a> (a subtype of the <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> interface) should be
implemented instead.</p>
<p> <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> provides not only traversal facilities and change
notification for text content, but also caret tracking and glyph
bounding box calculations.  Note that the text strings are exposed
as UTF-8, and are therefore potentially multi-byte, and
caret-to-byte offset mapping makes no assumptions about the
character length; also bounding box glyph-to-offset mapping may be
complex for languages which use ligatures.</p>
</div>
<div class="refsect1">
<a name="AtkText.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="atk-text-get-text"></a><h3>atk_text_get_text ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
atk_text_get_text (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                   <em class="parameter"><code><span class="type">gint</span> start_offset</code></em>,
                   <em class="parameter"><code><span class="type">gint</span> end_offset</code></em>);</pre>
<p>Gets the specified text.</p>
<div class="refsect3">
<a name="atk-text-get-text.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_offset</p></td>
<td class="parameter_description"><p>start position</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>end_offset</p></td>
<td class="parameter_description"><p>end position, or -1 for the end of the string.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-text.returns"></a><h4>Returns</h4>
<p> a newly allocated string containing the text from <em class="parameter"><code>start_offset</code></em>
up
to, but not including <em class="parameter"><code>end_offset</code></em>
. Use <code class="function">g_free()</code> to free the returned string.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-character-at-offset"></a><h3>atk_text_get_character_at_offset ()</h3>
<pre class="programlisting"><span class="returnvalue">gunichar</span>
atk_text_get_character_at_offset (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                                  <em class="parameter"><code><span class="type">gint</span> offset</code></em>);</pre>
<p>Gets the specified text.</p>
<div class="refsect3">
<a name="atk-text-get-character-at-offset.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset</p></td>
<td class="parameter_description"><p>position</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-character-at-offset.returns"></a><h4>Returns</h4>
<p> the character at <em class="parameter"><code>offset</code></em>
.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-text-after-offset"></a><h3>atk_text_get_text_after_offset ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
atk_text_get_text_after_offset (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                                <em class="parameter"><code><span class="type">gint</span> offset</code></em>,
                                <em class="parameter"><code><a class="link" href="AtkText.html#AtkTextBoundary" title="enum AtkTextBoundary"><span class="type">AtkTextBoundary</span></a> boundary_type</code></em>,
                                <em class="parameter"><code><span class="type">gint</span> *start_offset</code></em>,
                                <em class="parameter"><code><span class="type">gint</span> *end_offset</code></em>);</pre>
<div class="warning">
<p><code class="literal">atk_text_get_text_after_offset</code> has been deprecated since version 2.9.3 and should not be used in newly-written code.</p>
<p>Please use <a class="link" href="AtkText.html#atk-text-get-string-at-offset" title="atk_text_get_string_at_offset ()"><code class="function">atk_text_get_string_at_offset()</code></a> instead.</p>
</div>
<p>Gets the specified text.</p>
<div class="refsect3">
<a name="atk-text-get-text-after-offset.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset</p></td>
<td class="parameter_description"><p>position</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>boundary_type</p></td>
<td class="parameter_description"><p>An <a class="link" href="AtkText.html#AtkTextBoundary" title="enum AtkTextBoundary"><span class="type">AtkTextBoundary</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_offset</p></td>
<td class="parameter_description"><p>the start offset of the returned string. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>end_offset</p></td>
<td class="parameter_description"><p>the offset of the first character after the
returned substring. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-text-after-offset.returns"></a><h4>Returns</h4>
<p> a newly allocated string containing the text after <em class="parameter"><code>offset</code></em>
bounded
by the specified <em class="parameter"><code>boundary_type</code></em>
. Use <code class="function">g_free()</code> to free the returned string.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-text-at-offset"></a><h3>atk_text_get_text_at_offset ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
atk_text_get_text_at_offset (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                             <em class="parameter"><code><span class="type">gint</span> offset</code></em>,
                             <em class="parameter"><code><a class="link" href="AtkText.html#AtkTextBoundary" title="enum AtkTextBoundary"><span class="type">AtkTextBoundary</span></a> boundary_type</code></em>,
                             <em class="parameter"><code><span class="type">gint</span> *start_offset</code></em>,
                             <em class="parameter"><code><span class="type">gint</span> *end_offset</code></em>);</pre>
<div class="warning">
<p><code class="literal">atk_text_get_text_at_offset</code> is deprecated and should not be used in newly-written code.</p>
<p>This method is deprecated since ATK version
2.9.4. Please use <a class="link" href="AtkText.html#atk-text-get-string-at-offset" title="atk_text_get_string_at_offset ()"><code class="function">atk_text_get_string_at_offset()</code></a> instead.</p>
</div>
<p>Gets the specified text.</p>
<p>If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character at the
offset is returned.</p>
<p>If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
is from the word start at or before the offset to the word start after
the offset.</p>
<p>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.</p>
<p>If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
string is from the sentence start at or before the offset to the sentence
start after the offset.</p>
<p>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.</p>
<p>If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
string is from the line start at or before the offset to the line
start after the offset.</p>
<div class="refsect3">
<a name="atk-text-get-text-at-offset.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset</p></td>
<td class="parameter_description"><p>position</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>boundary_type</p></td>
<td class="parameter_description"><p>An <a class="link" href="AtkText.html#AtkTextBoundary" title="enum AtkTextBoundary"><span class="type">AtkTextBoundary</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_offset</p></td>
<td class="parameter_description"><p>the start offset of the returned string. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>end_offset</p></td>
<td class="parameter_description"><p>the offset of the first character after the
returned substring. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-text-at-offset.returns"></a><h4>Returns</h4>
<p> a newly allocated string containing the text at <em class="parameter"><code>offset</code></em>
bounded by
the specified <em class="parameter"><code>boundary_type</code></em>
. Use <code class="function">g_free()</code> to free the returned string.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-text-before-offset"></a><h3>atk_text_get_text_before_offset ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
atk_text_get_text_before_offset (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                                 <em class="parameter"><code><span class="type">gint</span> offset</code></em>,
                                 <em class="parameter"><code><a class="link" href="AtkText.html#AtkTextBoundary" title="enum AtkTextBoundary"><span class="type">AtkTextBoundary</span></a> boundary_type</code></em>,
                                 <em class="parameter"><code><span class="type">gint</span> *start_offset</code></em>,
                                 <em class="parameter"><code><span class="type">gint</span> *end_offset</code></em>);</pre>
<div class="warning">
<p><code class="literal">atk_text_get_text_before_offset</code> has been deprecated since version 2.9.3 and should not be used in newly-written code.</p>
<p>Please use <a class="link" href="AtkText.html#atk-text-get-string-at-offset" title="atk_text_get_string_at_offset ()"><code class="function">atk_text_get_string_at_offset()</code></a> instead.</p>
</div>
<p>Gets the specified text.</p>
<div class="refsect3">
<a name="atk-text-get-text-before-offset.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset</p></td>
<td class="parameter_description"><p>position</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>boundary_type</p></td>
<td class="parameter_description"><p>An <a class="link" href="AtkText.html#AtkTextBoundary" title="enum AtkTextBoundary"><span class="type">AtkTextBoundary</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_offset</p></td>
<td class="parameter_description"><p>the start offset of the returned string. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>end_offset</p></td>
<td class="parameter_description"><p>the offset of the first character after the
returned substring. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-text-before-offset.returns"></a><h4>Returns</h4>
<p> a newly allocated string containing the text before <em class="parameter"><code>offset</code></em>
bounded
by the specified <em class="parameter"><code>boundary_type</code></em>
. Use <code class="function">g_free()</code> to free the returned string.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-string-at-offset"></a><h3>atk_text_get_string_at_offset ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
atk_text_get_string_at_offset (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                               <em class="parameter"><code><span class="type">gint</span> offset</code></em>,
                               <em class="parameter"><code><a class="link" href="AtkText.html#AtkTextGranularity" title="enum AtkTextGranularity"><span class="type">AtkTextGranularity</span></a> granularity</code></em>,
                               <em class="parameter"><code><span class="type">gint</span> *start_offset</code></em>,
                               <em class="parameter"><code><span class="type">gint</span> *end_offset</code></em>);</pre>
<p>Gets a portion of the text exposed through an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> according to a given <em class="parameter"><code>offset</code></em>

and a specific <em class="parameter"><code>granularity</code></em>
, along with the start and end offsets defining the
boundaries of such a portion of text.</p>
<p>If <em class="parameter"><code>granularity</code></em>
 is ATK_TEXT_GRANULARITY_CHAR the character at the
offset is returned.</p>
<p>If <em class="parameter"><code>granularity</code></em>
 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.</p>
<p>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.</p>
<p>If <em class="parameter"><code>granularity</code></em>
 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.</p>
<p>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.</p>
<p>If <em class="parameter"><code>granularity</code></em>
 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.</p>
<p>If <em class="parameter"><code>granularity</code></em>
 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.</p>
<div class="refsect3">
<a name="atk-text-get-string-at-offset.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset</p></td>
<td class="parameter_description"><p>position</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>granularity</p></td>
<td class="parameter_description"><p>An <a class="link" href="AtkText.html#AtkTextGranularity" title="enum AtkTextGranularity"><span class="type">AtkTextGranularity</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_offset</p></td>
<td class="parameter_description"><p>the start offset of the returned string, or -1
if an error has occurred (e.g. invalid offset, not implemented). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>end_offset</p></td>
<td class="parameter_description"><p>the offset of the first character after the returned string,
or -1 if an error has occurred (e.g. invalid offset, not implemented). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-string-at-offset.returns"></a><h4>Returns</h4>
<p>a newly allocated string containing the text
at the <em class="parameter"><code>offset</code></em>
bounded by the specified <em class="parameter"><code>granularity</code></em>
. Use
<code class="function">g_free()</code> to free the returned string.  Returns <code class="literal">NULL</code> if the
offset is invalid or no implementation is available. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
</div>
<p class="since">Since: 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-caret-offset"></a><h3>atk_text_get_caret_offset ()</h3>
<pre class="programlisting"><span class="returnvalue">gint</span>
atk_text_get_caret_offset (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>);</pre>
<p>Gets the offset position of the caret (cursor).</p>
<div class="refsect3">
<a name="atk-text-get-caret-offset.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-caret-offset.returns"></a><h4>Returns</h4>
<p> the offset position of the caret (cursor).</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-character-extents"></a><h3>atk_text_get_character_extents ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
atk_text_get_character_extents (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                                <em class="parameter"><code><span class="type">gint</span> offset</code></em>,
                                <em class="parameter"><code><span class="type">gint</span> *x</code></em>,
                                <em class="parameter"><code><span class="type">gint</span> *y</code></em>,
                                <em class="parameter"><code><span class="type">gint</span> *width</code></em>,
                                <em class="parameter"><code><span class="type">gint</span> *height</code></em>,
                                <em class="parameter"><code><a class="link" href="AtkUtil.html#AtkCoordType" title="enum AtkCoordType"><span class="type">AtkCoordType</span></a> coords</code></em>);</pre>
<p>Get the bounding box containing the glyph representing the character at 
    a particular text offset.</p>
<div class="refsect3">
<a name="atk-text-get-character-extents.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset</p></td>
<td class="parameter_description"><p>The offset of the text character for which bounding information is required.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>Pointer for the x cordinate of the bounding box. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>Pointer for the y cordinate of the bounding box. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>width</p></td>
<td class="parameter_description"><p>Pointer for the width of the bounding box. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>height</p></td>
<td class="parameter_description"><p>Pointer for the height of the bounding box. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>coords</p></td>
<td class="parameter_description"><p>specify whether coordinates are relative to the screen or widget window </p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-run-attributes"></a><h3>atk_text_get_run_attributes ()</h3>
<pre class="programlisting"><a class="link" href="AtkObject.html#AtkAttributeSet" title="AtkAttributeSet"><span class="returnvalue">AtkAttributeSet</span></a> *
atk_text_get_run_attributes (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                             <em class="parameter"><code><span class="type">gint</span> offset</code></em>,
                             <em class="parameter"><code><span class="type">gint</span> *start_offset</code></em>,
                             <em class="parameter"><code><span class="type">gint</span> *end_offset</code></em>);</pre>
<p>Creates an <a class="link" href="AtkObject.html#AtkAttributeSet" title="AtkAttributeSet"><span class="type">AtkAttributeSet</span></a> which consists of the attributes explicitly
set at the position <em class="parameter"><code>offset</code></em>
 in the text. <em class="parameter"><code>start_offset</code></em>
 and <em class="parameter"><code>end_offset</code></em>
 are
set to the start and end of the range around <em class="parameter"><code>offset</code></em>
 where the attributes are
invariant. Note that <em class="parameter"><code>end_offset</code></em>
 is the offset of the first character
after the range.  See the enum AtkTextAttribute for types of text 
attributes that can be returned. Note that other attributes may also be 
returned.</p>
<div class="refsect3">
<a name="atk-text-get-run-attributes.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset</p></td>
<td class="parameter_description"><p>the offset at which to get the attributes, -1 means the offset of
the character to be inserted at the caret location.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_offset</p></td>
<td class="parameter_description"><p>the address to put the start offset of the range. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>end_offset</p></td>
<td class="parameter_description"><p>the address to put the end offset of the range. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-run-attributes.returns"></a><h4>Returns</h4>
<p>an <a class="link" href="AtkObject.html#AtkAttributeSet" title="AtkAttributeSet"><span class="type">AtkAttributeSet</span></a> which contains the attributes
explicitly set at <em class="parameter"><code>offset</code></em>
. This <a class="link" href="AtkObject.html#AtkAttributeSet" title="AtkAttributeSet"><span class="type">AtkAttributeSet</span></a> should be freed by a call
to <a class="link" href="AtkText.html#atk-attribute-set-free" title="atk_attribute_set_free ()"><code class="function">atk_attribute_set_free()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-default-attributes"></a><h3>atk_text_get_default_attributes ()</h3>
<pre class="programlisting"><a class="link" href="AtkObject.html#AtkAttributeSet" title="AtkAttributeSet"><span class="returnvalue">AtkAttributeSet</span></a> *
atk_text_get_default_attributes (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>);</pre>
<p>Creates an <a class="link" href="AtkObject.html#AtkAttributeSet" title="AtkAttributeSet"><span class="type">AtkAttributeSet</span></a> which consists of the default values of
attributes for the text. See the enum AtkTextAttribute for types of text 
attributes that can be returned. Note that other attributes may also be 
returned.</p>
<div class="refsect3">
<a name="atk-text-get-default-attributes.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-default-attributes.returns"></a><h4>Returns</h4>
<p>an <a class="link" href="AtkObject.html#AtkAttributeSet" title="AtkAttributeSet"><span class="type">AtkAttributeSet</span></a> which contains the default
values of attributes.  at <em class="parameter"><code>offset</code></em>
. this <span class="type">atkattributeset</span> should be freed by
a call to <a class="link" href="AtkText.html#atk-attribute-set-free" title="atk_attribute_set_free ()"><code class="function">atk_attribute_set_free()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-character-count"></a><h3>atk_text_get_character_count ()</h3>
<pre class="programlisting"><span class="returnvalue">gint</span>
atk_text_get_character_count (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>);</pre>
<p>Gets the character count.</p>
<div class="refsect3">
<a name="atk-text-get-character-count.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-character-count.returns"></a><h4>Returns</h4>
<p> the number of characters.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-offset-at-point"></a><h3>atk_text_get_offset_at_point ()</h3>
<pre class="programlisting"><span class="returnvalue">gint</span>
atk_text_get_offset_at_point (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                              <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                              <em class="parameter"><code><span class="type">gint</span> y</code></em>,
                              <em class="parameter"><code><a class="link" href="AtkUtil.html#AtkCoordType" title="enum AtkCoordType"><span class="type">AtkCoordType</span></a> coords</code></em>);</pre>
<p>Gets the offset of the character located at coordinates <em class="parameter"><code>x</code></em>
 and <em class="parameter"><code>y</code></em>
. <em class="parameter"><code>x</code></em>
 and <em class="parameter"><code>y</code></em>

are interpreted as being relative to the screen or this widget's window
depending on <em class="parameter"><code>coords</code></em>
.</p>
<div class="refsect3">
<a name="atk-text-get-offset-at-point.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>screen x-position of character</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>screen y-position of character</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>coords</p></td>
<td class="parameter_description"><p>specify whether coordinates are relative to the screen or
widget window </p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-offset-at-point.returns"></a><h4>Returns</h4>
<p> the offset to the character which is located at
the specified <em class="parameter"><code>x</code></em>
and <em class="parameter"><code>y</code></em>
coordinates.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-bounded-ranges"></a><h3>atk_text_get_bounded_ranges ()</h3>
<pre class="programlisting"><a class="link" href="AtkText.html#AtkTextRange" title="struct AtkTextRange"><span class="returnvalue">AtkTextRange</span></a> **
atk_text_get_bounded_ranges (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                             <em class="parameter"><code><a class="link" href="AtkText.html#AtkTextRectangle" title="struct AtkTextRectangle"><span class="type">AtkTextRectangle</span></a> *rect</code></em>,
                             <em class="parameter"><code><a class="link" href="AtkUtil.html#AtkCoordType" title="enum AtkCoordType"><span class="type">AtkCoordType</span></a> coord_type</code></em>,
                             <em class="parameter"><code><a class="link" href="AtkText.html#AtkTextClipType" title="enum AtkTextClipType"><span class="type">AtkTextClipType</span></a> x_clip_type</code></em>,
                             <em class="parameter"><code><a class="link" href="AtkText.html#AtkTextClipType" title="enum AtkTextClipType"><span class="type">AtkTextClipType</span></a> y_clip_type</code></em>);</pre>
<p>Get the ranges of text in the specified bounding box.</p>
<div class="refsect3">
<a name="atk-text-get-bounded-ranges.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>rect</p></td>
<td class="parameter_description"><p>An AtkTextRectangle giving the dimensions of the bounding box.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>coord_type</p></td>
<td class="parameter_description"><p>Specify whether coordinates are relative to the screen or widget window.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x_clip_type</p></td>
<td class="parameter_description"><p>Specify the horizontal clip type.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y_clip_type</p></td>
<td class="parameter_description"><p>Specify the vertical clip type.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-bounded-ranges.returns"></a><h4>Returns</h4>
<p>Array of AtkTextRange. The last
element of the array returned by this function will be NULL. </p>
<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></p>
</div>
<p class="since">Since: 1.3</p>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-range-extents"></a><h3>atk_text_get_range_extents ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
atk_text_get_range_extents (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                            <em class="parameter"><code><span class="type">gint</span> start_offset</code></em>,
                            <em class="parameter"><code><span class="type">gint</span> end_offset</code></em>,
                            <em class="parameter"><code><a class="link" href="AtkUtil.html#AtkCoordType" title="enum AtkCoordType"><span class="type">AtkCoordType</span></a> coord_type</code></em>,
                            <em class="parameter"><code><a class="link" href="AtkText.html#AtkTextRectangle" title="struct AtkTextRectangle"><span class="type">AtkTextRectangle</span></a> *rect</code></em>);</pre>
<p>Get the bounding box for text within the specified range.</p>
<div class="refsect3">
<a name="atk-text-get-range-extents.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_offset</p></td>
<td class="parameter_description"><p>The offset of the first text character for which boundary
information is required.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>end_offset</p></td>
<td class="parameter_description"><p>The offset of the text character after the last character
for which boundary information is required.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>coord_type</p></td>
<td class="parameter_description"><p>Specify whether coordinates are relative to the screen or widget window.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>rect</p></td>
<td class="parameter_description"><p>A pointer to a AtkTextRectangle which is filled in by this function. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 1.3</p>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-free-ranges"></a><h3>atk_text_free_ranges ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
atk_text_free_ranges (<em class="parameter"><code><a class="link" href="AtkText.html#AtkTextRange" title="struct AtkTextRange"><span class="type">AtkTextRange</span></a> **ranges</code></em>);</pre>
<p>Frees the memory associated with an array of AtkTextRange. It is assumed
that the array was returned by the function atk_text_get_bounded_ranges
and is NULL terminated.</p>
<div class="refsect3">
<a name="atk-text-free-ranges.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>ranges</p></td>
<td class="parameter_description"><p>A pointer to an array of <a class="link" href="AtkText.html#AtkTextRange" title="struct AtkTextRange"><span class="type">AtkTextRange</span></a> which is
to be freed. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>]</span></td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: 1.3</p>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-n-selections"></a><h3>atk_text_get_n_selections ()</h3>
<pre class="programlisting"><span class="returnvalue">gint</span>
atk_text_get_n_selections (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>);</pre>
<p>Gets the number of selected regions.</p>
<div class="refsect3">
<a name="atk-text-get-n-selections.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-n-selections.returns"></a><h4>Returns</h4>
<p> The number of selected regions, or -1 if a failure
occurred.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-get-selection"></a><h3>atk_text_get_selection ()</h3>
<pre class="programlisting"><span class="returnvalue">gchar</span> *
atk_text_get_selection (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> selection_num</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> *start_offset</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> *end_offset</code></em>);</pre>
<p>Gets the text from the specified selection.</p>
<div class="refsect3">
<a name="atk-text-get-selection.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>selection_num</p></td>
<td class="parameter_description"><p>The selection number.  The selected regions are
assigned numbers that correspond to how far the region is from the
start of the text.  The selected region closest to the beginning
of the text region is assigned the number 0, etc.  Note that adding,
moving or deleting a selected region can change the numbering.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_offset</p></td>
<td class="parameter_description"><p>passes back the start position of the selected region. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>end_offset</p></td>
<td class="parameter_description"><p>passes back the end position of (e.g. offset immediately past)
the selected region. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-get-selection.returns"></a><h4>Returns</h4>
<p> a newly allocated string containing the selected text. Use <code class="function">g_free()</code>
to free the returned string.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-add-selection"></a><h3>atk_text_add_selection ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
atk_text_add_selection (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> start_offset</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> end_offset</code></em>);</pre>
<p>Adds a selection bounded by the specified offsets.</p>
<div class="refsect3">
<a name="atk-text-add-selection.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_offset</p></td>
<td class="parameter_description"><p>the start position of the selected region</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>end_offset</p></td>
<td class="parameter_description"><p>the offset of the first character after the selected region.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-add-selection.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if success, <code class="literal">FALSE</code> otherwise</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-remove-selection"></a><h3>atk_text_remove_selection ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
atk_text_remove_selection (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                           <em class="parameter"><code><span class="type">gint</span> selection_num</code></em>);</pre>
<p>Removes the specified selection.</p>
<div class="refsect3">
<a name="atk-text-remove-selection.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>selection_num</p></td>
<td class="parameter_description"><p>The selection number.  The selected regions are
assigned numbers that correspond to how far the region is from the
start of the text.  The selected region closest to the beginning
of the text region is assigned the number 0, etc.  Note that adding,
moving or deleting a selected region can change the numbering.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-remove-selection.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if success, <code class="literal">FALSE</code> otherwise</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-set-selection"></a><h3>atk_text_set_selection ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
atk_text_set_selection (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> selection_num</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> start_offset</code></em>,
                        <em class="parameter"><code><span class="type">gint</span> end_offset</code></em>);</pre>
<p>Changes the start and end offset of the specified selection.</p>
<div class="refsect3">
<a name="atk-text-set-selection.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>selection_num</p></td>
<td class="parameter_description"><p>The selection number.  The selected regions are
assigned numbers that correspond to how far the region is from the
start of the text.  The selected region closest to the beginning
of the text region is assigned the number 0, etc.  Note that adding,
moving or deleting a selected region can change the numbering.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_offset</p></td>
<td class="parameter_description"><p>the new start position of the selection</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>end_offset</p></td>
<td class="parameter_description"><p>the new end position of (e.g. offset immediately past)
the selection</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-set-selection.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if success, <code class="literal">FALSE</code> otherwise</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-set-caret-offset"></a><h3>atk_text_set_caret_offset ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
atk_text_set_caret_offset (<em class="parameter"><code><a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *text</code></em>,
                           <em class="parameter"><code><span class="type">gint</span> offset</code></em>);</pre>
<p>Sets the caret (cursor) position to the specified <em class="parameter"><code>offset</code></em>
.</p>
<div class="refsect3">
<a name="atk-text-set-caret-offset.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>text</p></td>
<td class="parameter_description"><p>an <a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset</p></td>
<td class="parameter_description"><p>position</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-set-caret-offset.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if success, <code class="literal">FALSE</code> otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-attribute-set-free"></a><h3>atk_attribute_set_free ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
atk_attribute_set_free (<em class="parameter"><code><a class="link" href="AtkObject.html#AtkAttributeSet" title="AtkAttributeSet"><span class="type">AtkAttributeSet</span></a> *attrib_set</code></em>);</pre>
<p>Frees the memory used by an <a class="link" href="AtkObject.html#AtkAttributeSet" title="AtkAttributeSet"><span class="type">AtkAttributeSet</span></a>, including all its
<a href="AtkObject.html#AtkAttribute"><span class="type">AtkAttributes</span></a>.</p>
<div class="refsect3">
<a name="atk-attribute-set-free.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>attrib_set</p></td>
<td class="parameter_description"><p>The <a class="link" href="AtkObject.html#AtkAttributeSet" title="AtkAttributeSet"><span class="type">AtkAttributeSet</span></a> to free</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-attribute-register"></a><h3>atk_text_attribute_register ()</h3>
<pre class="programlisting"><a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="returnvalue">AtkTextAttribute</span></a>
atk_text_attribute_register (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
<p>Associate <em class="parameter"><code>name</code></em>
 with a new <a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="type">AtkTextAttribute</span></a></p>
<div class="refsect3">
<a name="atk-text-attribute-register.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>a name string</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-attribute-register.returns"></a><h4>Returns</h4>
<p> an <a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="type">AtkTextAttribute</span></a> associated with <em class="parameter"><code>name</code></em>
</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-attribute-get-name"></a><h3>atk_text_attribute_get_name ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
atk_text_attribute_get_name (<em class="parameter"><code><a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="type">AtkTextAttribute</span></a> attr</code></em>);</pre>
<p>Gets the name corresponding to the <a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="type">AtkTextAttribute</span></a></p>
<div class="refsect3">
<a name="atk-text-attribute-get-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>attr</p></td>
<td class="parameter_description"><p>The <a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="type">AtkTextAttribute</span></a> whose name is required</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-attribute-get-name.returns"></a><h4>Returns</h4>
<p> a string containing the name; this string should not be freed</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-attribute-for-name"></a><h3>atk_text_attribute_for_name ()</h3>
<pre class="programlisting"><a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="returnvalue">AtkTextAttribute</span></a>
atk_text_attribute_for_name (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
<p>Get the <a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="type">AtkTextAttribute</span></a> type corresponding to a text attribute name.</p>
<div class="refsect3">
<a name="atk-text-attribute-for-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>a string which is the (non-localized) name of an ATK text attribute.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-attribute-for-name.returns"></a><h4>Returns</h4>
<p> the <a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="type">AtkTextAttribute</span></a> enumerated type corresponding to the specified
name,
or <span class="type">ATK_TEXT_ATTRIBUTE_INVALID</span> if no matching text attribute is found.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="atk-text-attribute-get-value"></a><h3>atk_text_attribute_get_value ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
atk_text_attribute_get_value (<em class="parameter"><code><a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="type">AtkTextAttribute</span></a> attr</code></em>,
                              <em class="parameter"><code><span class="type">gint</span> index_</code></em>);</pre>
<p>Gets the value for the index of the <a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="type">AtkTextAttribute</span></a></p>
<div class="refsect3">
<a name="atk-text-attribute-get-value.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>attr</p></td>
<td class="parameter_description"><p>The <a class="link" href="AtkText.html#AtkTextAttribute" title="enum AtkTextAttribute"><span class="type">AtkTextAttribute</span></a> for which a value is required</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>index_</p></td>
<td class="parameter_description"><p>The index of the required value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="atk-text-attribute-get-value.returns"></a><h4>Returns</h4>
<p>a string containing the value; this string
should not be freed; <code class="literal">NULL</code> is returned if there are no values
maintained for the attr value. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
</div>
</div>
</div>
<div class="refsect1">
<a name="AtkText.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="AtkText-struct"></a><h3>AtkText</h3>
<pre class="programlisting">typedef struct _AtkText AtkText;</pre>
</div>
<hr>
<div class="refsect2">
<a name="AtkTextIface"></a><h3>struct AtkTextIface</h3>
<pre class="programlisting">struct AtkTextIface {
  GTypeInterface parent;

  gchar*         (* get_text)                     (AtkText          *text,
                                                   gint             start_offset,
                                                   gint             end_offset);
  gchar*         (* get_text_after_offset)        (AtkText          *text,
                                                   gint             offset,
                                                   AtkTextBoundary  boundary_type,
						   gint             *start_offset,
						   gint             *end_offset);
  gchar*         (* get_text_at_offset)           (AtkText          *text,
                                                   gint             offset,
                                                   AtkTextBoundary  boundary_type,
						   gint             *start_offset,
						   gint             *end_offset);
  gunichar       (* get_character_at_offset)      (AtkText          *text,
                                                   gint             offset);
  gchar*         (* get_text_before_offset)       (AtkText          *text,
                                                   gint             offset,
                                                   AtkTextBoundary  boundary_type,
 						   gint             *start_offset,
						   gint             *end_offset);
  gint           (* get_caret_offset)             (AtkText          *text);
  AtkAttributeSet* (* get_run_attributes)         (AtkText	    *text,
						   gint	  	    offset,
						   gint             *start_offset,
						   gint	 	    *end_offset);
  AtkAttributeSet* (* get_default_attributes)     (AtkText	    *text);
  void           (* get_character_extents)        (AtkText          *text,
                                                   gint             offset,
                                                   gint             *x,
                                                   gint             *y,
                                                   gint             *width,
                                                   gint             *height,
                                                   AtkCoordType	    coords);
  gint           (* get_character_count)          (AtkText          *text);
  gint           (* get_offset_at_point)          (AtkText          *text,
                                                   gint             x,
                                                   gint             y,
                                                   AtkCoordType	    coords);
  gint		 (* get_n_selections)		  (AtkText          *text);
  gchar*         (* get_selection)	          (AtkText          *text,
						   gint		    selection_num,
						   gint		    *start_offset,
						   gint		    *end_offset);
  gboolean       (* add_selection)		  (AtkText          *text,
						   gint		    start_offset,
						   gint		    end_offset);
  gboolean       (* remove_selection)		  (AtkText          *text,
						   gint             selection_num);
  gboolean       (* set_selection)		  (AtkText          *text,
						   gint		    selection_num,
						   gint		    start_offset,
						   gint		    end_offset);
  gboolean       (* set_caret_offset)             (AtkText          *text,
                                                   gint             offset);

  /*
   * signal handlers
   */
  void		 (* text_changed)                 (AtkText          *text,
                                                   gint             position,
                                                   gint             length);
  void           (* text_caret_moved)             (AtkText          *text,
                                                   gint             location);
  void           (* text_selection_changed)       (AtkText          *text);

  void           (* text_attributes_changed)      (AtkText          *text);


  void           (* get_range_extents)            (AtkText          *text,
                                                   gint             start_offset,
                                                   gint             end_offset,
                                                   AtkCoordType     coord_type,
                                                   AtkTextRectangle *rect);

  AtkTextRange** (* get_bounded_ranges)           (AtkText          *text,
                                                   AtkTextRectangle *rect,
                                                   AtkCoordType     coord_type,
                                                   AtkTextClipType  x_clip_type,
                                                   AtkTextClipType  y_clip_type);

  gchar*         (* get_string_at_offset)         (AtkText            *text,
                                                   gint               offset,
                                                   AtkTextGranularity granularity,
                                                   gint               *start_offset,
                                                   gint               *end_offset);
};
</pre>
<div class="refsect3">
<a name="AtkTextIface.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><span class="type">GTypeInterface</span> <em class="structfield"><code><a name="AtkTextIface.parent"></a>parent</code></em>;</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-text"></a>get_text</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-text-after-offset"></a>get_text_after_offset</code></em> ()</p></td>
<td class="struct_member_description"><p>Gets specified text. This virtual function
is deprecated and it should not be overridden.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-text-at-offset"></a>get_text_at_offset</code></em> ()</p></td>
<td class="struct_member_description"><p>Gets specified text. This virtual function
is deprecated and it should not be overridden.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-character-at-offset"></a>get_character_at_offset</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-text-before-offset"></a>get_text_before_offset</code></em> ()</p></td>
<td class="struct_member_description"><p>Gets specified text. This virtual function
is deprecated and it should not be overridden.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-caret-offset"></a>get_caret_offset</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-run-attributes"></a>get_run_attributes</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-default-attributes"></a>get_default_attributes</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-character-extents"></a>get_character_extents</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-character-count"></a>get_character_count</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-offset-at-point"></a>get_offset_at_point</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-n-selections"></a>get_n_selections</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-selection"></a>get_selection</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.add-selection"></a>add_selection</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.remove-selection"></a>remove_selection</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.set-selection"></a>set_selection</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.set-caret-offset"></a>set_caret_offset</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.text-changed"></a>text_changed</code></em> ()</p></td>
<td class="struct_member_description"><p>the signal handler which is executed when there is a
text change. This virtual function is deprecated sice 2.9.4 and
it should not be overriden.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.text-caret-moved"></a>text_caret_moved</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.text-selection-changed"></a>text_selection_changed</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.text-attributes-changed"></a>text_attributes_changed</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-range-extents"></a>get_range_extents</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-bounded-ranges"></a>get_bounded_ranges</code></em> ()</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="AtkTextIface.get-string-at-offset"></a>get_string_at_offset</code></em> ()</p></td>
<td class="struct_member_description"><p>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.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="AtkTextBoundary"></a><h3>enum AtkTextBoundary</h3>
<p>Text boundary types used for specifying boundaries for regions of text.
This enumeration is deprecated since 2.9.4 and should not be used. Use
AtkTextGranularity with <a class="link" href="AtkText.html#atk-text-get-string-at-offset" title="atk_text_get_string_at_offset ()"><span class="type">atk_text_get_string_at_offset</span></a> instead.</p>
<div class="refsect3">
<a name="AtkTextBoundary.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-BOUNDARY-CHAR:CAPS"></a>ATK_TEXT_BOUNDARY_CHAR</p></td>
<td class="enum_member_description">
<p>Boundary is the boundary between characters
(including non-printing characters)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-BOUNDARY-WORD-START:CAPS"></a>ATK_TEXT_BOUNDARY_WORD_START</p></td>
<td class="enum_member_description">
<p>Boundary is the start (i.e. first character) of a word.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-BOUNDARY-WORD-END:CAPS"></a>ATK_TEXT_BOUNDARY_WORD_END</p></td>
<td class="enum_member_description">
<p>Boundary is the end (i.e. last
character) of a word.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-BOUNDARY-SENTENCE-START:CAPS"></a>ATK_TEXT_BOUNDARY_SENTENCE_START</p></td>
<td class="enum_member_description">
<p>Boundary is the first character in a sentence.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-BOUNDARY-SENTENCE-END:CAPS"></a>ATK_TEXT_BOUNDARY_SENTENCE_END</p></td>
<td class="enum_member_description">
<p>Boundary is the last (terminal)
character in a sentence; in languages which use "sentence stop"
punctuation such as English, the boundary is thus the '.', '?', or
similar terminal punctuation character.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-BOUNDARY-LINE-START:CAPS"></a>ATK_TEXT_BOUNDARY_LINE_START</p></td>
<td class="enum_member_description">
<p>Boundary is the initial character of the content or a
character immediately following a newline, linefeed, or return character.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-BOUNDARY-LINE-END:CAPS"></a>ATK_TEXT_BOUNDARY_LINE_END</p></td>
<td class="enum_member_description">
<p>Boundary is the linefeed, or return
character.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="AtkTextGranularity"></a><h3>enum AtkTextGranularity</h3>
<p>Text granularity types used for specifying the granularity of the region of
text we are interested in.</p>
<div class="refsect3">
<a name="AtkTextGranularity.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-GRANULARITY-CHAR:CAPS"></a>ATK_TEXT_GRANULARITY_CHAR</p></td>
<td class="enum_member_description">
<p>Granularity is defined by the boundaries between characters
(including non-printing characters)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-GRANULARITY-WORD:CAPS"></a>ATK_TEXT_GRANULARITY_WORD</p></td>
<td class="enum_member_description">
<p>Granularity is defined by the boundaries of a word,
starting at the beginning of the current word and finishing at the beginning of
the following one, if present.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-GRANULARITY-SENTENCE:CAPS"></a>ATK_TEXT_GRANULARITY_SENTENCE</p></td>
<td class="enum_member_description">
<p>Granularity is defined by the boundaries of a sentence,
starting at the beginning of the current sentence and finishing at the beginning of
the following one, if present.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-GRANULARITY-LINE:CAPS"></a>ATK_TEXT_GRANULARITY_LINE</p></td>
<td class="enum_member_description">
<p>Granularity is defined by the boundaries of a line,
starting at the beginning of the current line and finishing at the beginning of
the following one, if present.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-GRANULARITY-PARAGRAPH:CAPS"></a>ATK_TEXT_GRANULARITY_PARAGRAPH</p></td>
<td class="enum_member_description">
<p>Granularity is defined by the boundaries of a paragraph,
starting at the beginning of the current paragraph and finishing at the beginning of
the following one, if present.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="AtkTextClipType"></a><h3>enum AtkTextClipType</h3>
<p>Describes the type of clipping required.</p>
<div class="refsect3">
<a name="AtkTextClipType.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-CLIP-NONE:CAPS"></a>ATK_TEXT_CLIP_NONE</p></td>
<td class="enum_member_description">
<p>No clipping to be done</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-CLIP-MIN:CAPS"></a>ATK_TEXT_CLIP_MIN</p></td>
<td class="enum_member_description">
<p>Text clipped by min coordinate is omitted</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-CLIP-MAX:CAPS"></a>ATK_TEXT_CLIP_MAX</p></td>
<td class="enum_member_description">
<p>Text clipped by max coordinate is omitted</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-CLIP-BOTH:CAPS"></a>ATK_TEXT_CLIP_BOTH</p></td>
<td class="enum_member_description">
<p>Only text fully within mix/max bound is retained</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="AtkTextRange"></a><h3>struct AtkTextRange</h3>
<pre class="programlisting">struct AtkTextRange {
  AtkTextRectangle bounds;
  gint start_offset;
  gint end_offset;
  gchar* content;
};
</pre>
<p>A structure used to describe a text range.</p>
<div class="refsect3">
<a name="AtkTextRange.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="AtkText.html#AtkTextRectangle" title="struct AtkTextRectangle"><span class="type">AtkTextRectangle</span></a> <em class="structfield"><code><a name="AtkTextRange.bounds"></a>bounds</code></em>;</p></td>
<td class="struct_member_description"><p>A rectangle giving the bounds of the text range</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="AtkTextRange.start-offset"></a>start_offset</code></em>;</p></td>
<td class="struct_member_description"><p>The start offset of a AtkTextRange</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="AtkTextRange.end-offset"></a>end_offset</code></em>;</p></td>
<td class="struct_member_description"><p>The end offset of a AtkTextRange</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gchar</span> *<em class="structfield"><code><a name="AtkTextRange.content"></a>content</code></em>;</p></td>
<td class="struct_member_description"><p>The text in the text range</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="AtkTextRectangle"></a><h3>struct AtkTextRectangle</h3>
<pre class="programlisting">struct AtkTextRectangle {
  gint x;
  gint y;
  gint width;
  gint height;
};
</pre>
<p>A structure used to store a rectangle used by AtkText.</p>
<div class="refsect3">
<a name="AtkTextRectangle.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="AtkTextRectangle.x"></a>x</code></em>;</p></td>
<td class="struct_member_description"><p>The horizontal coordinate of a rectangle</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="AtkTextRectangle.y"></a>y</code></em>;</p></td>
<td class="struct_member_description"><p>The vertical coordinate of a rectangle</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="AtkTextRectangle.width"></a>width</code></em>;</p></td>
<td class="struct_member_description"><p>The width of a rectangle</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="AtkTextRectangle.height"></a>height</code></em>;</p></td>
<td class="struct_member_description"><p>The height of a rectangle</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="AtkTextAttribute"></a><h3>enum AtkTextAttribute</h3>
<p>Describes the text attributes supported</p>
<div class="refsect3">
<a name="AtkTextAttribute.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-INVALID:CAPS"></a>ATK_TEXT_ATTR_INVALID</p></td>
<td class="enum_member_description">
<p>Invalid attribute, like bad spelling or grammar.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-LEFT-MARGIN:CAPS"></a>ATK_TEXT_ATTR_LEFT_MARGIN</p></td>
<td class="enum_member_description">
<p>The pixel width of the left margin</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-RIGHT-MARGIN:CAPS"></a>ATK_TEXT_ATTR_RIGHT_MARGIN</p></td>
<td class="enum_member_description">
<p>The pixel width of the right margin</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-INDENT:CAPS"></a>ATK_TEXT_ATTR_INDENT</p></td>
<td class="enum_member_description">
<p>The number of pixels that the text is indented</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-INVISIBLE:CAPS"></a>ATK_TEXT_ATTR_INVISIBLE</p></td>
<td class="enum_member_description">
<p>Either "true" or "false" indicating whether text is visible or not</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-EDITABLE:CAPS"></a>ATK_TEXT_ATTR_EDITABLE</p></td>
<td class="enum_member_description">
<p>Either "true" or "false" indicating whether text is editable or not</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-PIXELS-ABOVE-LINES:CAPS"></a>ATK_TEXT_ATTR_PIXELS_ABOVE_LINES</p></td>
<td class="enum_member_description">
<p>Pixels of blank space to leave above each newline-terminated line. </p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-PIXELS-BELOW-LINES:CAPS"></a>ATK_TEXT_ATTR_PIXELS_BELOW_LINES</p></td>
<td class="enum_member_description">
<p>Pixels of blank space to leave below each newline-terminated line.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-PIXELS-INSIDE-WRAP:CAPS"></a>ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP</p></td>
<td class="enum_member_description">
<p>Pixels of blank space to leave between wrapped lines inside the same newline-terminated line (paragraph).</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-BG-FULL-HEIGHT:CAPS"></a>ATK_TEXT_ATTR_BG_FULL_HEIGHT</p></td>
<td class="enum_member_description">
<p>"true" or "false" whether to make the background color for each character the height of the highest font used on the current line, or the height of the font used for the current character.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-RISE:CAPS"></a>ATK_TEXT_ATTR_RISE</p></td>
<td class="enum_member_description">
<p>Number of pixels that the characters are risen above the baseline</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-UNDERLINE:CAPS"></a>ATK_TEXT_ATTR_UNDERLINE</p></td>
<td class="enum_member_description">
<p>"none", "single", "double", "low", or "error"</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-STRIKETHROUGH:CAPS"></a>ATK_TEXT_ATTR_STRIKETHROUGH</p></td>
<td class="enum_member_description">
<p>"true" or "false" whether the text is strikethrough </p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-SIZE:CAPS"></a>ATK_TEXT_ATTR_SIZE</p></td>
<td class="enum_member_description">
<p>The size of the characters in points. eg: 10</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-SCALE:CAPS"></a>ATK_TEXT_ATTR_SCALE</p></td>
<td class="enum_member_description">
<p>The scale of the characters. The value is a string representation of a double </p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-WEIGHT:CAPS"></a>ATK_TEXT_ATTR_WEIGHT</p></td>
<td class="enum_member_description">
<p>The weight of the characters.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-LANGUAGE:CAPS"></a>ATK_TEXT_ATTR_LANGUAGE</p></td>
<td class="enum_member_description">
<p>The language used</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-FAMILY-NAME:CAPS"></a>ATK_TEXT_ATTR_FAMILY_NAME</p></td>
<td class="enum_member_description">
<p>The font family name</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-BG-COLOR:CAPS"></a>ATK_TEXT_ATTR_BG_COLOR</p></td>
<td class="enum_member_description">
<p>The background color. The value is an RGB value of the format "<code class="literal">u</code>,<code class="literal">u</code>,<code class="literal">u</code>"</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-FG-COLOR:CAPS"></a>ATK_TEXT_ATTR_FG_COLOR</p></td>
<td class="enum_member_description">
<p>The foreground color. The value is an RGB value of the format "<code class="literal">u</code>,<code class="literal">u</code>,<code class="literal">u</code>"</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-BG-STIPPLE:CAPS"></a>ATK_TEXT_ATTR_BG_STIPPLE</p></td>
<td class="enum_member_description">
<p>"true" if a <span class="type">GdkBitmap</span> is set for stippling the background color.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-FG-STIPPLE:CAPS"></a>ATK_TEXT_ATTR_FG_STIPPLE</p></td>
<td class="enum_member_description">
<p>"true" if a <span class="type">GdkBitmap</span> is set for stippling the foreground color.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-WRAP-MODE:CAPS"></a>ATK_TEXT_ATTR_WRAP_MODE</p></td>
<td class="enum_member_description">
<p>The wrap mode of the text, if any. Values are "none", "char", "word", or "word_char".</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-DIRECTION:CAPS"></a>ATK_TEXT_ATTR_DIRECTION</p></td>
<td class="enum_member_description">
<p>The direction of the text, if set. Values are "none", "ltr" or "rtl" </p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-JUSTIFICATION:CAPS"></a>ATK_TEXT_ATTR_JUSTIFICATION</p></td>
<td class="enum_member_description">
<p>The justification of the text, if set. Values are "left", "right", "center" or "fill" </p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-STRETCH:CAPS"></a>ATK_TEXT_ATTR_STRETCH</p></td>
<td class="enum_member_description">
<p>The stretch of the text, if set. Values are "ultra_condensed", "extra_condensed", "condensed", "semi_condensed", "normal", "semi_expanded", "expanded", "extra_expanded" or "ultra_expanded"</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-VARIANT:CAPS"></a>ATK_TEXT_ATTR_VARIANT</p></td>
<td class="enum_member_description">
<p>The capitalization variant of the text, if set. Values are "normal" or "small_caps"</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-STYLE:CAPS"></a>ATK_TEXT_ATTR_STYLE</p></td>
<td class="enum_member_description">
<p>The slant style of the text, if set. Values are "normal", "oblique" or "italic"</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="ATK-TEXT-ATTR-LAST-DEFINED:CAPS"></a>ATK_TEXT_ATTR_LAST_DEFINED</p></td>
<td class="enum_member_description">
<p>not a valid text attribute, used for finding end of enumeration</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="AtkText.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="AtkText-text-attributes-changed"></a><h3>The <code class="literal">“text-attributes-changed”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *atktext,
               <span class="type">gpointer</span> user_data)</pre>
<p>The "text-attributes-changed" signal is emitted when the text
attributes of the text of an object which implements AtkText
changes.</p>
<div class="refsect3">
<a name="AtkText-text-attributes-changed.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>atktext</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run Last</p>
</div>
<hr>
<div class="refsect2">
<a name="AtkText-text-caret-moved"></a><h3>The <code class="literal">“text-caret-moved”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *atktext,
               <span class="type">gint</span>     arg1,
               <span class="type">gpointer</span> user_data)</pre>
<p>The "text-caret-moved" signal is emitted when the caret
position of the text of an object which implements AtkText
changes.</p>
<div class="refsect3">
<a name="AtkText-text-caret-moved.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>atktext</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>arg1</p></td>
<td class="parameter_description"><p>The new position of the text caret.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run Last</p>
</div>
<hr>
<div class="refsect2">
<a name="AtkText-text-changed"></a><h3>The <code class="literal">“text-changed”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *atktext,
               <span class="type">gint</span>     arg1,
               <span class="type">gint</span>     arg2,
               <span class="type">gpointer</span> user_data)</pre>
<p>The "text-changed" signal is emitted when the text of the
object which implements the AtkText interface changes, This
signal will have a detail which is either "insert" or
"delete" which identifies whether the text change was an
insertion or a deletion.</p>
<div class="warning">
<p><code class="literal">AtkText::text-changed</code> has been deprecated since version 2.9.4 and should not be used in newly-written code.</p>
<p>Use <span class="type">“text-insert”</span> or
<span class="type">“text-remove”</span> instead.</p>
</div>
<div class="refsect3">
<a name="AtkText-text-changed.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>atktext</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>arg1</p></td>
<td class="parameter_description"><p>The position (character offset) of the insertion or deletion.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>arg2</p></td>
<td class="parameter_description"><p>The length (in characters) of text inserted or deleted.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Has Details</p>
</div>
<hr>
<div class="refsect2">
<a name="AtkText-text-insert"></a><h3>The <code class="literal">“text-insert”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *atktext,
               <span class="type">gint</span>     arg1,
               <span class="type">gint</span>     arg2,
               <span class="type">gchar</span>   *arg3,
               <span class="type">gpointer</span> user_data)</pre>
<p>The "text-insert" signal is emitted when a new text is
inserted. If the signal was not triggered by the user
(e.g. typing or pasting text), the "system" detail should be
included.</p>
<div class="refsect3">
<a name="AtkText-text-insert.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>atktext</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>arg1</p></td>
<td class="parameter_description"><p>The position (character offset) of the insertion.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>arg2</p></td>
<td class="parameter_description"><p>The length (in characters) of text inserted.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>arg3</p></td>
<td class="parameter_description"><p>The new text inserted</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Has Details</p>
</div>
<hr>
<div class="refsect2">
<a name="AtkText-text-remove"></a><h3>The <code class="literal">“text-remove”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *atktext,
               <span class="type">gint</span>     arg1,
               <span class="type">gint</span>     arg2,
               <span class="type">gchar</span>   *arg3,
               <span class="type">gpointer</span> user_data)</pre>
<p>The "text-remove" signal is emitted when a new text is
removed. If the signal was not triggered by the user
(e.g. typing or pasting text), the "system" detail should be
included.</p>
<div class="refsect3">
<a name="AtkText-text-remove.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>atktext</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>arg1</p></td>
<td class="parameter_description"><p>The position (character offset) of the removal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>arg2</p></td>
<td class="parameter_description"><p>The length (in characters) of text removed.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>arg3</p></td>
<td class="parameter_description"><p>The old text removed</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Has Details</p>
</div>
<hr>
<div class="refsect2">
<a name="AtkText-text-selection-changed"></a><h3>The <code class="literal">“text-selection-changed”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="AtkText.html" title="AtkText"><span class="type">AtkText</span></a> *atktext,
               <span class="type">gpointer</span> user_data)</pre>
<p>The "text-selection-changed" signal is emitted when the
selected text of an object which implements AtkText changes.</p>
<div class="refsect3">
<a name="AtkText-text-selection-changed.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>atktext</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run Last</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.27.1</div>
</body>
</html>