2009-06-11 Mark Doffman <mark.doffman@codethink.co.uk>
[platform/core/uifw/at-spi2-atk.git] / xml / org.freedesktop.atspi.Text.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <node xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" name="/node">
3 <tp:enum name="TEXT_BOUNDARY_TYPE" type="u">
4   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
5     <p>Specifies the boundary conditions determining a run of text as returned from
6       getTextAtOffset, getTextAfterOffset, and getTextBeforeOffset.</p>
7   </tp:docstring>
8   <tp:enumvalue suffix="TEXT_BOUNDARY_CHAR">
9   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
10     <p>Text is bounded by this character only. 
11       Start and end offsets differ by one, by definition, for this value. </p>
12   </tp:docstring>
13   </tp:enumvalue>
14   <tp:enumvalue suffix="TEXT_BOUNDARY_WORD_START" value="1">
15   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
16     <p>Boundary condition is start of a word; i.e. range is from start of
17       one word to the start of another word. </p>
18   </tp:docstring>
19   </tp:enumvalue>
20   <tp:enumvalue suffix="TEXT_BOUNDARY_WORD_END" value="2">
21   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
22     <p>Boundary condition is the end of a word; i.e. range is from 
23             the end of one word to the end of another.</p>
24     <p>Some locales may not distinguish between words and
25       characters or glyphs, in particular those locales which use
26       wholly or partially ideographic character sets.  In these cases,
27       characters may be returned in lieu of multi-character substrings.</p>
28   </tp:docstring>
29   </tp:enumvalue>
30   <tp:enumvalue suffix="TEXT_BOUNDARY_SENTENCE_START" value="3">
31   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
32     <p>Boundary condition is start of a sentence, as determined 
33             by the application.</p>
34       <p>Some locales or character sets may not include explicit sentence
35       delimiters, so this boundary type can not always be honored.
36       Some locales will return lines of text instead of grammatical sentences.</p>
37   </tp:docstring>
38   </tp:enumvalue>
39   <tp:enumvalue suffix="TEXT_BOUNDARY_SENTENCE_END" value="4">
40   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
41     <p>Boundary condition is end of a sentence, as determined by the application, 
42             including the sentence-delimiting character, for instance '.'</p>
43       <p>Some locales or character sets may not include explicit sentence
44       delimiters, so this boundary type can not always be honored.
45       Some locales will return lines of text instead of grammatical sentences.</p>
46   </tp:docstring>
47   </tp:enumvalue>
48   <tp:enumvalue suffix="TEXT_BOUNDARY_LINE_START" value="5">
49   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
50     <p> Boundary condition is the start of a line; i.e. range is 
51       from start of one line to the start of another.  This generally 
52       means that an end-of-line character will appear at the end of the range. </p>
53   </tp:docstring>
54   </tp:enumvalue>
55   <tp:enumvalue suffix="TEXT_BOUNDARY_LINE_END" value="6">
56   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
57     <p> Boundary condition is the end of a line; i.e. range is
58       from start of one line to the start of another.  This generally 
59       means that an end-of-line character will be the first character of the range. </p>
60   </tp:docstring>
61   </tp:enumvalue>
62 </tp:enum>
63 <tp:enum name="TEXT_CLIP_TYPE" type="u">
64   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
65     <p>TEXT_CLIP_TYPE:
66       CLIP_MIN means text clipped by min coordinate is omitted,
67       CLIP_MAX clips text interescted by the max coord, and CLIP_BOTH
68       will retain only text falling fully within the min/max bounds.  </p>
69   </tp:docstring>
70   <tp:enumvalue suffix="TEXT_CLIP_NONE"/>
71   <tp:enumvalue suffix="TEXT_CLIP_MIN" value="1">
72   <tp:docstring>
73     Characters/glyphs clipped by the minimum coordinate are omitted 
74   </tp:docstring>
75   </tp:enumvalue>
76   <tp:enumvalue suffix="TEXT_CLIP_MAX" value="2">
77   <tp:docstring>
78     Characters/glyphs which intersect the maximum coordinate are omitted 
79   </tp:docstring>
80   </tp:enumvalue>
81   <tp:enumvalue suffix="TEXT_CLIP_BOTH" value="3">
82   <tp:docstring>
83     Only glyphs falling entirely within the region bounded by min and max are retained. 
84   </tp:docstring>
85   </tp:enumvalue>
86 </tp:enum>
87 <interface name="org.freedesktop.atspi.Text">
88   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
89     <p>The text interface should be implemented by objects which place textual information onscreen as character
90       strings or glyphs.  The text interface allows access to textual content, including display attributes and
91       semantic hints associated with runs of text, and access to bounding box information for glyphs and substrings.
92       It also allows portions of textual content to be selected, if the object's StateSet includes
93       STATE_SELECTABLE_TEXT.   </p>
94
95     <p>In some cases a Text object may have, as its content, an empty string.  In particular this can
96       occur in the case of Hypertext objects which do not display explicitly textual information onscreen,
97       as Hypertext is derived from the Text interface, see Hypertext.  </p>
98
99     <p>Typographic and semantic attributes of onscreen textual content, for instance typeface, weight, 
100       language, and such qualities as 'emphasis' or 'blockquote', are represented as text attributes.
101       Contiguous sequences of characters over which these attributes are unchanged are referred to as
102       'attribute runs', and are available via Text.getAttributeRun.  Where possible, implementing clients
103       will report textual attributes which are the same over the entire text object, for instance those
104       inherited from a default or document-scope style, via getDefaultAttributes instead of reporting them
105       explicitly for each character.  Therefore, for any span of text, the attributes in effect are the union
106       of the set returned by Text.getDefaultAttributes, and the set returned at a particular character
107       offset via Text.getAttributeRun.  </p>
108
109     <p>Events that may be emitted by instances of Text include:
110             <ol>
111                     <li>'object:text-attributes-changed' The attributes of a range of text, or the range 
112                             over which attributes apply, has changed.</li>
113                     <li>'object:text-changed' The text content of this object has changed.</li>
114                     <li>'object:text-bounds-changed' The character bounds of a text object have changed,
115                             for instance in response to a reformatting or reflow operation.</li>
116                     <li>'object:text-caret-moved' The character offset of the text caret 
117                             (visible or notional) within this object has changed.  Events of this
118                             type may also be generated when an onscreen text caret appears or disappears.</li>
119                     <li>'object:text-selection-changed' The range or number of text selections within
120                             this text object has changed.</li>
121             </ol>
122     </p>
123
124     <p>In some cases, objects which are not onscreen may implement Text, but if such objects
125       implement Component, their potential visibility should be examined (via comparison with STATE_VISIBLE 
126       and STATE_SHOWING) before exposing them to the user.  Objects which implement Text but not Component 
127       may be encountered in special-purpose interfaces or as special 'accessibility' extensions to visual 
128       interfaces to allow non-graphical access to application features.  These instances should be considered 
129       the exception, rather than the rule.</p>
130   </tp:docstring>
131   <tp:struct name="Range">
132     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
133       <p>A structure used to define a continguous range of text, including its 
134         (unattributed) textual content. </p>
135     </tp:docstring>
136     <tp:member type="i" tp:name="startOffset"/>
137     <tp:member type="i" tp:name="endOffset"/>
138     <tp:member type="s" tp:name="content"/>
139     <tp:member type="v" tp:name="data"/>
140   </tp:struct>
141   <tp:property name="characterCount" type="i" access="read">
142   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
143     <p>The total current number of characters in the Text object, 
144       including whitespace and non-spacing characters.  </p>
145   </tp:docstring>
146   </tp:property>
147   <tp:property name="caretOffset" type="i" access="read">
148   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
149     <p>The current offset of the text caret in the Text object.  
150       This caret may be virtual, e.g. non-visual and notional-only, but if an
151       onscreen representation of the caret position is visible, it will correspond to this offset.
152       The caret offset is given as a character offset, as opposed to a byte offset into 
153       a text buffer or a column offset. </p>
154   </tp:docstring>
155   </tp:property>
156   <method name="getText">
157     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
158       <p>Obtain all or part of the onscreen textual content of a Text object.  If endOffset is specified as 
159         "-1", then this method will return the entire onscreen textual contents of the Text object.
160         onscreen' in this context means "potentially onscreen", this method does not perform any sort 
161         of coordinate visibility clipping or window-stack-ordering clipping.  The text thus reported 
162         corresponds to the text which would be presented onscreen if the object implementing the Text interface
163         were entirely unobscured. </p>
164     </tp:docstring>
165     <arg direction="in" name="startOffset" type="i"/>
166     <arg direction="in" name="endOffset" type="i"/>
167     <arg direction="out" type="s">
168     <tp:docstring>
169       The textual content of the current Text object beginning startOffset (inclusive) up to but not including the character at endOffset.
170     </tp:docstring>
171     </arg>
172   </method>
173   <method name="setCaretOffset">
174     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
175             <p>Programmatically move the text caret (visible or virtual, as above) to a given position.</p> 
176     </tp:docstring>
177     <arg direction="in" name="offset" type="i">
178             <tp:docstring>
179         A long int indicating the desired character offset.  Not all implementations of
180         Text will honor setCaretOffset requests, so the return value below should be checked by the client.
181             </tp:docstring>
182     </arg>
183     <arg direction="out" type="b" tp:type="boolean">
184     <tp:docstring>
185       <code>True</code> if the request was carried out, or <code>False</code> if the caret could not be moved to the requested position.
186     </tp:docstring>
187     </arg>
188   </method>
189   <method name="getTextBeforeOffset">
190     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
191             <p>Obtain a subset of the text content of an object which entirely precedes <code>offset</code>,
192                     delimited by character, word, line, or sentence boundaries as specified by <code>type</code>. The
193                     starting and ending offsets of the resulting substring are returned in <code>startOffset</code>
194                     and <code>startOffset</code>.  By definition, if such a substring exists, <code>startOffset</code>
195                     is less than or equal to <code>offset.</code></p>
196     </tp:docstring>
197     <arg direction="in" name="offset" type="i">
198             <tp:docstring>
199         The offset from which the substring search begins.
200             </tp:docstring>
201     </arg>
202     <arg direction="in" name="type" type="u" tp:type="TEXT_BOUNDARY_TYPE">
203             <tp:docstring>
204         The text-boundary delimiter which determines whether the returned text constitures
205         a character, word, line, or sentence (and possibly attendant whitespace), 
206         and whether the start or ending of such a substring forms the boundary condition.
207             </tp:docstring>
208     </arg>
209     <arg direction="out" type="s">
210     <tp:docstring>
211       A string which is a substring of the text content of the object, delimited by the specified boundary condition.
212     </tp:docstring>
213     </arg>
214     <arg direction="out" name="startOffset" type="i">
215             <tp:docstring>
216         Back-filled with the starting offset of the resulting substring, if one exists.
217             </tp:docstring>
218     </arg>
219     <arg direction="out" name="endOffset" type="i">
220             <tp:docstring>
221         Back-filled with the offset of the character immediately following the resulting
222         substring, if one exists.
223             </tp:docstring>
224     </arg>
225   </method>
226   <method name="getTextAtOffset">
227     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
228             <p>Obtain a subset of the text content of an object which includes the specified <code>offset</code>, 
229               delimited by character, word, line, or sentence boundaries as specified by <code>type</code>.  The
230         starting and ending offsets of the resulting substring are returned in <code>startOffset</code>
231         and <code>endOffset</code>.</p>
232     </tp:docstring>
233     <arg direction="in" name="offset" type="i">
234             <tp:docstring>
235         The offset from which the substring search begins, and which must 
236         lie within the returned substring.
237             </tp:docstring>
238     </arg>
239     <arg direction="in" name="type" type="u" tp:type="TEXT_BOUNDARY_TYPE">
240             <tp:docstring>
241         The text-boundary delimiter which determines whether the returned text constitutes
242         a character, word, line, or sentence (and possibly attendant whitespace), 
243         and whether the start or ending of such a substring forms the boundary condition.
244             </tp:docstring>
245     </arg>
246     <arg direction="out" type="s">
247     <tp:docstring>
248       A string which is a substring of the text content of the object, delimited by the specified boundary condition.
249     </tp:docstring>
250     </arg>
251     <arg direction="out" name="startOffset" type="i">
252             <tp:docstring>
253         Back-filled with the starting offset of the resulting substring, if one exists.
254             </tp:docstring>
255     </arg>
256     <arg direction="out" name="endOffset" type="i">
257             <tp:docstring>
258         Back-filled with the offset of the character immediately following the resulting
259         substring, if one exists.
260             </tp:docstring>
261     </arg>
262   </method>
263   <method name="getTextAfterOffset">
264     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
265             <p>Obtain a subset of the text content of an object which entirely follows <code>offset</code>,
266                     delimited by character, word, line, or sentence boundaries as specified by <code>type</code>. The
267                     starting and ending offsets of the resulting substring are returned in <code>startOffset</code>
268                     and <code>endOffset</code>. By definition, if such a substring exists, <code>startOffset</code>
269                     must be greater than <code>offset</code>.</p>
270     </tp:docstring>
271     <arg direction="in" name="offset" type="i">
272             <tp:docstring>
273         The offset from which the substring search begins, and which must 
274         lie before the returned substring.
275             </tp:docstring>
276     </arg>
277     <arg direction="in" name="type" type="u" tp:type="TEXT_BOUNDARY_TYPE">
278             <tp:docstring>
279         The text-boundary delimiter which determines whether the returned text constitures
280         a character, word, line, or sentence (and possibly attendant whitespace), 
281         and whether the start or ending of such a substring forms the boundary condition.
282             </tp:docstring>
283     </arg>
284     <arg direction="out" type="s">
285     <tp:docstring>
286       A string which is a substring of the text content of the object, delimited by the specified boundary condition.
287     </tp:docstring>
288     </arg>
289     <arg direction="out" name="startOffset" type="i">
290             <tp:docstring>
291         Back-filled with the starting offset of the resulting substring, if one exists.
292             </tp:docstring>
293     </arg>
294     <arg direction="out" name="endOffset" type="i">
295             <tp:docstring>
296         Back-filled with the offset of the character immediately following the resulting
297         substring, if one exists.
298             </tp:docstring>
299     </arg>
300   </method>
301   <method name="getCharacterAtOffset">
302     <arg name="offset" type="i" direction="in"/>
303     <arg type="i" direction="out">
304       <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
305         An unsigned long integer whose value corresponds to the UCS-4 representation of the
306         character at the specified text offset, or 0 if offset is out of range.
307         long instead of wchar, to allow unicode chars 16 bits
308       </tp:docstring>
309     </arg>
310   </method>
311   <method name="getAttributeValue">
312     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
313       <p>Get the string value of a named attribute at a given offset, if defined.</p>
314     </tp:docstring>
315     <arg direction="in" name="offset" type="i">
316             <tp:docstring>
317         The offset of the character for which the attribute run is to be obtained.
318             </tp:docstring>
319     </arg>
320     <arg direction="in" name="attributeName" type="s">
321             <tp:docstring>
322         The name of the attribute for which the value is to be returned, if defined.
323             </tp:docstring>
324     </arg>
325     <arg direction="out" type="s">
326     <tp:docstring>
327       The value of attribute (name-value pair) corresponding to "name", if defined. 
328     </tp:docstring>
329     </arg>
330     <arg direction="out" name="startOffset" type="i">
331             <tp:docstring>
332         Back-filled with the offset of the first character in the attribute run
333         containing the character at <code>offset</code>.
334             </tp:docstring>
335     </arg>
336     <arg direction="out" name="endOffset" type="i">
337             <tp:docstring>
338         Back-filled with the offset of the first character past the end of the
339         attribute run containing the character at <code>offset</code>.
340             </tp:docstring>
341     </arg>
342     <arg direction="out" name="defined" type="b" tp:type="boolean">
343             <tp:docstring>
344         Back-filled with <code>True</code> if the attributeName has a defined value at <code>offset</code>,
345         <code>False</code> otherwise.
346             </tp:docstring>
347     </arg>
348   </method>
349   <method name="getAttributes">
350     <tp:docstring>
351       getAttributes is deprecated in favor of getAttributeRun.
352     </tp:docstring>
353     <arg direction="in" name="offset" type="i"/>
354     <arg direction="out" type="{ss}">
355     <tp:docstring>
356       The attributes at offset, as a semicolon-delimited set of colon-delimited name-value pairs. @see getAttributeRun
357     </tp:docstring>
358     </arg>
359     <arg direction="out" name="startOffset" type="i"/>
360     <arg direction="out" name="endOffset" type="i"/>
361   </method>
362   <method name="getDefaultAttributes">
363     <tp:docstring>
364       Deprecated in favor of getDefaultAttributeSet.
365     </tp:docstring>
366     <arg direction="out" type="{ss}">
367     <tp:docstring>
368       The attributes which apply to the entire text content, but which were not explicitlyspecified by the content creator.
369     </tp:docstring>
370     </arg>
371   </method>
372   <method name="getCharacterExtents">
373     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
374       <p>Obtain a the bounding box, as x, y, width, and height, of the character or glyph at a particular 
375         character offset in this object's text content.  The coordinate system in which the results are
376         reported is specified by coordType.  If an onscreen glyph corresponds to multiple character offsets,
377         for instance if the glyph is a ligature, the bounding box reported will include the entire glyph and
378         therefore may apply to more than one character offset.</p>
379     </tp:docstring>
380     <arg direction="in" name="offset" type="i">
381             <tp:docstring>
382         The character offset of the character or glyph being queried.
383             </tp:docstring>
384     </arg>
385     <arg direction="out" name="x" type="i">
386             <tp:docstring>
387         The minimum horizontal coordinate of the bounding box of the glyph representing 
388         the character at <code>offset</code>.
389             </tp:docstring>
390     </arg>
391     <arg direction="out" name="y" type="i">
392             <tp:docstring>
393         The minimum vertical coordinate of the bounding box of the glyph representing 
394         the character at <code>offset</code>.
395             </tp:docstring>
396     </arg>
397     <arg direction="out" name="width" type="i">
398             <tp:docstring>
399         The horizontal extent of the bounding box of the glyph representing 
400         the character at <code>offset</code>.
401             </tp:docstring>
402     </arg>
403     <arg direction="out" name="height" type="i">
404             <tp:docstring>
405         The vertical extent of the bounding box of the glyph representing 
406         the character at <code>offset</code>.
407             </tp:docstring>
408     </arg>
409     <arg direction="in" name="coordType" type="u" tp:type="COORD_TYPE">
410             <tp:docstring>
411                     <p>If 0, the results will be reported in screen coordinates, i.e. in pixels
412         relative to the upper-left corner of the screen, with the x axis pointing right
413         and the y axis pointing down.
414         If 1, the results will be reported relative to the containing toplevel window,
415         with the x axis pointing right and the y axis pointing down.</p>
416             </tp:docstring>
417     </arg>
418   </method>
419   <method name="getOffsetAtPoint">
420     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
421       <p>Get the offset of the character at a given onscreen coordinate.  The coordinate system used to interpret
422         x and y is determined by parameter coordType.</p>
423     </tp:docstring>
424     <arg direction="in" name="x" type="i"/>
425     <arg direction="in" name="y" type="i"/>
426     <arg direction="in" name="coordType" type="u" tp:type="COORD_TYPE">
427             <tp:docstring>
428         If 0, the input coordinates are interpreted relative to the entire screen, if 1,
429         they are relative to the toplevel window containing this Text object.
430             </tp:docstring>
431     </arg>
432     <arg direction="out" type="i">
433     <tp:docstring>
434       The text offset (as an offset into the character array) of the glyph whose onscreen bounds contain the point x,y, or -1 if the point is outside the bounds of any glyph.
435     </tp:docstring>
436     </arg>
437   </method>
438   <method name="getNSelections">
439     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
440       <p>Obtain the number of separate, contiguous selections in the current Text object.
441         Text objects which do not implement selection of discontiguous text regions will always
442         return '0' or '1'.  Note that "contiguous" is defined by continuity of the offsets, i.e.
443         a text 'selection' is defined by a start/end offset pair.  In the case of bidirectional text,
444         this means that a continguous selection may appear visually discontiguous, and vice-versa.    </p>
445     </tp:docstring>
446     <arg direction="out" type="i">
447     <tp:docstring>
448       The number of contiguous selections in the current Text object.
449     </tp:docstring>
450     </arg>
451   </method>
452   <method name="getSelection">
453     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
454       <p>The result of calling getSelection with an out-of-range selectionNum (i.e. for a selection 
455         which does not exist) is not strictly defined, but should set endOffset equal to startOffset.</p>
456     </tp:docstring>
457     <arg direction="in" name="selectionNum" type="i"/>
458     <arg direction="out" name="startOffset" type="i"/>
459     <arg direction="out" name="endOffset" type="i"/>
460   </method>
461   <method name="addSelection">
462     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
463       <p>The result of calling addSelection on objects which already have one selection present, and which
464         do not include STATE_MULTISELECTABLE, is undefined, other than the return value.</p>
465     </tp:docstring>
466     <arg direction="in" name="startOffset" type="i"/>
467     <arg direction="in" name="endOffset" type="i"/>
468     <arg direction="out" type="b" tp:type="boolean">
469     <tp:docstring>
470       <code>True</code> of the selection was successfully added, <code>False</code> otherwise. Selection mayfail if the object does not support selection of text (see STATE_SELECTABLE_TEXT), if theobject does not support multiple selections and a selection is already defined, or for other reasons(for instance if the user does not have permission to copy the text into the relevant selection buffer).
471     </tp:docstring>
472     </arg>
473   </method>
474   <method name="removeSelection">
475     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
476       <p>Deselect the text contained in the specified selectionNum, if such a selection
477         exists, otherwise do nothing.  Removal of a non-existant selectionNum has no effect.</p>
478     </tp:docstring>
479     <arg direction="in" name="selectionNum" type="i"/>
480     <arg direction="out" type="b" tp:type="boolean">
481     <tp:docstring>
482       <code>True</code> if the selection was successfully removed, <code>False</code> otherwise.
483     </tp:docstring>
484     </arg>
485   </method>
486   <method name="setSelection">
487     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
488       <p>Modify an existing selection's start or ending offset.     </p>
489
490       <p>Calling setSelection for a selectionNum that is not already defined has no effect.
491         The result of calling setSelection with a selectionNum greater than 0 for objects that
492         do not include STATE_MULTISELECTABLE is undefined.</p>
493     </tp:docstring>
494     <arg direction="in" name="selectionNum" type="i">
495             <tp:docstring>
496         Indicates which of a set of non-contiguous selections to modify.
497             </tp:docstring>
498     </arg>
499     <arg direction="in" name="startOffset" type="i">
500             <tp:docstring>
501         The new starting offset for the selection
502             </tp:docstring>
503     </arg>
504     <arg direction="in" name="endOffset" type="i">
505             <tp:docstring>
506         The new ending offset for the selection
507             </tp:docstring>
508     </arg>
509     <arg direction="out" type="b" tp:type="boolean">
510     <tp:docstring>
511             <code>True</code> if the selection corresponding to selectionNum is successfully 
512             modified, <code>False</code> otherwise.
513     </tp:docstring>
514     </arg>
515   </method>
516   <method name="getRangeExtents">
517     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
518       <p>Obtain the bounding box which entirely contains a given text range.
519         Negative values may be returned for the bounding box parameters in the event
520         that all or part of the text range is offscreen or not mapped to the screen.</p>
521     </tp:docstring>
522     <arg direction="in" name="startOffset" type="i">
523     <tp:docstring>
524         @param startOffset the offset of the first character in the specified range.
525     </tp:docstring>
526     </arg>
527     <arg direction="in" name="endOffset" type="i">
528     <tp:docstring>
529         The offset of the character immediately after the last 
530         character in the specified range.
531     </tp:docstring>
532     </arg>
533     <arg direction="out" name="x" type="i">
534     <tp:docstring>
535         An integer parameter which is back-filled with the minimum
536         horizontal coordinate of the resulting bounding box.
537     </tp:docstring>
538     </arg>
539     <arg direction="out" name="y" type="i">
540     <tp:docstring>
541         An integer parameter which is back-filled with the minimum
542         vertical coordinate of the resulting bounding box.
543     </tp:docstring>
544     </arg>
545     <arg direction="out" name="width" type="i">
546     <tp:docstring>
547         An integer parameter which is back-filled with the
548         horizontal extent of the bounding box.
549     </tp:docstring>
550     </arg>
551     <arg direction="out" name="height" type="i">
552     <tp:docstring>
553     </tp:docstring>
554         An integer parameter which is back-filled with the
555         vertical extent of the bounding box.
556     </arg>
557     <arg direction="in" name="coordType" type="u" tp:type="COORD_TYPE">
558     <tp:docstring>
559         If 0, the above coordinates are reported in pixels relative to
560         corner of the screen; if 1, the coordinates are reported relative to the
561         corner of the containing toplevel window.
562     </tp:docstring>
563     </arg>
564   </method>
565   <method name="getBoundedRanges">
566     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
567       <p>Return the text content within a bounding box, 
568         as a list of Range structures.
569         Depending on the TEXT_CLIP_TYPE parameters, glyphs which are clipped by the
570         bounding box (i.e. which lie partially inside and partially outside it)
571         may or may not be included in the ranges returned.  
572         This method may be of particular interest to screen review algorithms.</p>
573     </tp:docstring>
574     <arg direction="in" name="x" type="i">
575             <tp:docstring>
576         The minimum x ( i.e. leftmost)  coordinate of the bounding box.
577             </tp:docstring>
578     </arg>
579     <arg direction="in" name="y" type="i">
580             <tp:docstring>
581         The minimum y coordinate of the bounding box.
582             </tp:docstring>
583     </arg>
584     <arg direction="in" name="width" type="i">
585             <tp:docstring>
586         The horizontal size of the bounding box.  The rightmost bound of the bounding box
587         is (x + width);
588             </tp:docstring>
589     </arg>
590     <arg direction="in" name="height" type="i">
591             <tp:docstring>
592         The vertical size of the bounding box.  The maximum y value of the bounding box
593         is (y + height);
594             </tp:docstring>
595     </arg>
596     <arg direction="in" name="coordType" type="u" tp:type="COORD_TYPE">
597             <tp:docstring>
598         If 0, the above coordinates are interpreted as pixels relative to
599         corner of the screen; if 1, the coordinates are interpreted as pixels relative to the
600         corner of the containing toplevel window.
601             </tp:docstring>
602     </arg>
603     <arg direction="in" name="xClipType" type="u" tp:type="TEXT_CLIP_TYPE">
604             <tp:docstring>
605         Determines whether text which intersects the bounding box in the x direction
606         is included.
607             </tp:docstring>
608     </arg>
609     <arg direction="in" name="yClipType" type="u" tp:type="TEXT_CLIP_TYPE">
610             <tp:docstring>
611         Determines whether text which intersects the bounding box in the y direction
612         is included.
613             </tp:docstring>
614     </arg>
615     <arg direction="out" type="a(iisv)" tp:type="RangeList"/>
616   </method>
617   <method name="getAttributeRun">
618     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
619       <p>Query a particular text object for the text attributes defined at a given offset, 
620         obtaining the start and end of the "attribute run" over which these attributes are currently 
621         invariant.  Text attributes are those presentational, typographic, or semantic attributes or 
622         qualitites which apply to a range of text specifyable by starting and ending offsets.  
623         Attributes relevant to localization should be provided in 
624         accordance with the w3c "Internationalization and Localization Markup Requirements", 
625         http://www.w3.org/TR/2005/WD-itsreq-20051122/
626         Other text attributes should choose their names and value semantics in accordance with relevant
627         standards such as CSS level 2 (http://www.w3.org/TR/1998/REC-CSS2-19980512), 
628         XHTML 1.0 (http://www.w3.org/TR/2002/REC-xhtml1-20020801), and
629         WICD (http://www.w3.org/TR/2005/WD-WICD-20051121/).  Those attributes from the aforementioned
630         specifications and recommendations which do not concern typographic, presentational, or 
631         semantic aspects of text should be exposed via the more general Accessible::getAttributes() API
632         (if at all).</p>
633
634       <p>For example, CSS attributes which should be exposed on text (either as default attributes, or 
635         as explicitly-set attributes when non-default values are specified in the content view) include
636         the Font attributes (i.e. "css2:font-weight", "css2:font-style"), 
637         the "css2:color" and "css2:background-color" attributes, and "css2:text-decoration" attribute.     </p>
638
639       <p>If includeDefaults is <code>True</code>, then this AttributeSet should include the default
640         attributes as well as those which are explicitly assigned to the attribute run in question.
641         startOffset and endOffset will be back-filled to indicate the start and end of the attribute run
642         which contains 'offset' - an attribute run is a contiguous section of text whose attributes are
643         homogeneous.   </p>
644
645       <p>Clients seeking annotations or properties of a more general nature, which 
646         are not specific to the onscreen textual content of objects and cannot logically be applied
647         to specific character offset ranges,
648         should use Accessible.getAttributes instead.
649         The attributes returned by Text.getAttributeRun (with or without 'default attributes'), 
650         are distinct from the properties/attributes returned by Accessible.getAttributes.    </p>
651     </tp:docstring>
652     <arg direction="in" name="offset" type="i">
653             <tp:docstring>
654         The offset of the character whose attributes will be reported.
655             </tp:docstring>
656     </arg>
657     <arg direction="in" name="includeDefaults" type="b" tp:type="boolean">
658             <tp:docstring>
659         If False, the call should only return those attributes which are
660         explicitly set on the current attribute run, omitting any attributes which are inherited from 
661         the default values. See also Text.getDefaultAttributes. 
662             </tp:docstring>
663     </arg>
664     <arg direction="out" type="{ss}" tp:type="AttributeSet">
665     <tp:docstring>
666       The AttributeSet defined at offset, optionally including the 'default' attributes.
667     </tp:docstring>
668     </arg>
669     <arg direction="out" name="startOffset" type="i">
670             <tp:docstring>
671         Backfilled with the starting offset of the character range over which all
672         text attributes match those of <code>offset</code>, i.e. the start of the homogeneous
673         attribute run including <code>offset</code>.
674             </tp:docstring>
675     </arg>
676     <arg direction="out" name="endOffset" type="i">
677             <tp:docstring>
678         Backfilled with the offset of the first character past the character range over which all
679         text attributes match those of <code>offset</code>, i.e. the character immediately after 
680         the homogeneous attribute run including <code>offset</code>.
681             </tp:docstring>
682     </arg>
683   </method>
684   <method name="getDefaultAttributeSet">
685     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
686       <p>Return an AttributeSet containing the text attributes which apply to all text in the object
687         by virtue of the default settings of the document, view, or user agent; e.g. those
688         attributes which are implied rather than explicitly applied to the text object.
689         For instance, an object whose entire text content has been explicitly marked as 'bold' will
690         report the 'bold' attribute via getAttributeRun(), whereas an object whose text weight is
691         inspecified may report the default or implied text weight in the default AttributeSet.    </p>
692     </tp:docstring>
693     <arg direction="out" type="as" tp:type="AttributeSet"/>
694   </method>
695 </interface>
696 </node>