Last chance! 50% off unlimited learning
Sale ends in
atkTextGetText(object, start.offset, end.offset)
atkTextGetCharacterAtOffset(object, offset)
atkTextGetTextAfterOffset(object, offset, boundary.type)
atkTextGetTextAtOffset(object, offset, boundary.type)
atkTextGetTextBeforeOffset(object, offset, boundary.type)
atkTextGetCaretOffset(object)
atkTextGetCharacterExtents(object, offset, coords)
atkTextGetRunAttributes(object, offset)
atkTextGetDefaultAttributes(object)
atkTextGetCharacterCount(object)
atkTextGetOffsetAtPoint(object, x, y, coords)
atkTextGetBoundedRanges(object, rect, coord.type, x.clip.type, y.clip.type)
atkTextGetRangeExtents(object, start.offset, end.offset, coord.type)
atkTextGetNSelections(object)
atkTextGetSelection(object, selection.num)
atkTextAddSelection(object, start.offset, end.offset)
atkTextRemoveSelection(object, selection.num)
atkTextSetSelection(object, selection.num, start.offset, end.offset)
atkTextSetCaretOffset(object, offset)
atkTextAttributeRegister(name)
atkTextAttributeGetName(attr)
atkTextAttributeForName(name)
atkTextAttributeGetValue(attr, index)
AtkNoOpObject
.AtkText
should be implemented by atkObjectGetName
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 AtkText
interface should be used
to expose the text content. In the case of editable text content,
AtkEditableText
(a subtype of the AtkText
interface) should be
implemented instead.
AtkText
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.