1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 ATK Interface provided by components with text content.
7 <!-- ##### SECTION Long_Description ##### -->
9 #AtkText should be implemented by #AtkObjects on behalf of widgets that
10 have text content which is either attributed or otherwise non-trivial.
11 #AtkObjects whose text content is simple, unattributed, and very brief
12 may expose that content via #atk_object_get_name instead; however if the
13 text is editable, multi-line, typically longer than three or four words,
14 attributed, selectable, or if the object already uses the 'name' ATK
15 property for other information, the #AtkText interface should be used
16 to expose the text content. In the case of editable text content,
17 #AtkEditableText (a subtype of the #AtkText interface) should be
21 #AtkText provides not only traversal facilities and change notification
22 for text content, but also caret tracking and glyph bounding box
23 calculations. Note that the text strings are exposed as UTF-8, and are
24 therefore potentially multi-byte, and caret-to-byte offset mapping makes
25 no assumptions about the character length; also bounding box
26 glyph-to-offset mapping may be complex for languages which use ligatures.
29 <!-- ##### SECTION See_Also ##### -->
34 <!-- ##### STRUCT AtkText ##### -->
40 <!-- ##### STRUCT AtkTextIface ##### -->
47 @get_text_after_offset:
49 @get_character_at_offset:
50 @get_text_before_offset:
53 @get_default_attributes:
54 @get_character_extents:
65 @text_selection_changed:
67 <!-- ##### ENUM AtkTextBoundary ##### -->
72 @ATK_TEXT_BOUNDARY_CHAR:
73 @ATK_TEXT_BOUNDARY_WORD_START:
74 @ATK_TEXT_BOUNDARY_WORD_END:
75 @ATK_TEXT_BOUNDARY_SENTENCE_START:
76 @ATK_TEXT_BOUNDARY_SENTENCE_END:
77 @ATK_TEXT_BOUNDARY_LINE_START:
78 @ATK_TEXT_BOUNDARY_LINE_END:
80 <!-- ##### STRUCT AtkAttribute ##### -->
88 <!-- ##### TYPEDEF AtkAttributeSet ##### -->
94 <!-- ##### ENUM AtkTextAttribute ##### -->
99 @ATK_TEXT_ATTR_INVALID:
100 @ATK_TEXT_ATTR_LEFT_MARGIN:
101 @ATK_TEXT_ATTR_RIGHT_MARGIN:
102 @ATK_TEXT_ATTR_INDENT:
103 @ATK_TEXT_ATTR_INVISIBLE:
104 @ATK_TEXT_ATTR_EDITABLE:
105 @ATK_TEXT_ATTR_PIXELS_ABOVE_LINES:
106 @ATK_TEXT_ATTR_PIXELS_BELOW_LINES:
107 @ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP:
108 @ATK_TEXT_ATTR_BG_FULL_HEIGHT:
110 @ATK_TEXT_ATTR_UNDERLINE:
111 @ATK_TEXT_ATTR_STRIKETHROUGH:
113 @ATK_TEXT_ATTR_SCALE:
114 @ATK_TEXT_ATTR_WEIGHT:
115 @ATK_TEXT_ATTR_LANGUAGE:
116 @ATK_TEXT_ATTR_FAMILY_NAME:
117 @ATK_TEXT_ATTR_BG_COLOR:
118 @ATK_TEXT_ATTR_FG_COLOR:
119 @ATK_TEXT_ATTR_BG_STIPPLE:
120 @ATK_TEXT_ATTR_FG_STIPPLE:
121 @ATK_TEXT_ATTR_WRAP_MODE:
122 @ATK_TEXT_ATTR_DIRECTION:
123 @ATK_TEXT_ATTR_JUSTIFICATION:
124 @ATK_TEXT_ATTR_STRETCH:
125 @ATK_TEXT_ATTR_VARIANT:
126 @ATK_TEXT_ATTR_STYLE:
127 @ATK_TEXT_ATTR_LAST_DEFINED:
129 <!-- ##### FUNCTION atk_text_get_text ##### -->
140 <!-- ##### FUNCTION atk_text_get_character_at_offset ##### -->
150 <!-- ##### FUNCTION atk_text_get_text_after_offset ##### -->
163 <!-- ##### FUNCTION atk_text_get_text_at_offset ##### -->
176 <!-- ##### FUNCTION atk_text_get_text_before_offset ##### -->
189 <!-- ##### FUNCTION atk_text_get_caret_offset ##### -->
198 <!-- ##### FUNCTION atk_text_get_character_extents ##### -->
210 <!-- # Unused Parameters # -->
214 <!-- ##### FUNCTION atk_text_get_run_attributes ##### -->
226 <!-- ##### FUNCTION atk_text_get_default_attributes ##### -->
235 <!-- ##### FUNCTION atk_text_get_character_count ##### -->
244 <!-- ##### FUNCTION atk_text_get_offset_at_point ##### -->
256 <!-- ##### FUNCTION atk_text_get_n_selections ##### -->
265 <!-- ##### FUNCTION atk_text_get_selection ##### -->
277 <!-- ##### FUNCTION atk_text_add_selection ##### -->
288 <!-- ##### FUNCTION atk_text_remove_selection ##### -->
298 <!-- ##### FUNCTION atk_text_set_selection ##### -->
310 <!-- ##### FUNCTION atk_text_set_caret_offset ##### -->
320 <!-- ##### FUNCTION atk_attribute_set_free ##### -->
328 <!-- ##### FUNCTION atk_text_attribute_register ##### -->
337 <!-- ##### FUNCTION atk_text_attribute_get_name ##### -->
346 <!-- ##### FUNCTION atk_text_attribute_for_name ##### -->
355 <!-- ##### FUNCTION atk_text_attribute_get_value ##### -->