123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- #include "nsISupports.idl"
- interface nsIAccessible;
- interface nsIAccessibleText;
- interface nsIArray;
- interface nsIVariant;
- /**
- * A range representing a piece of text in the document.
- */
- [scriptable, builtinclass, uuid(c4515623-55f9-4543-a3d5-c1e9afa588f4)]
- interface nsIAccessibleTextRange : nsISupports
- {
- readonly attribute nsIAccessibleText startContainer;
- readonly attribute long startOffset;
- readonly attribute nsIAccessibleText endContainer;
- readonly attribute long endOffset;
- /**
- * Return an accessible containing the whole range
- */
- readonly attribute nsIAccessible container;
- /**
- * Return embedded children within the range.
- */
- readonly attribute nsIArray embeddedChildren;
- /**
- * Return true if this range has the same end points of the given range.
- */
- boolean compare(in nsIAccessibleTextRange aOtherRange);
- /**
- * The two endpoints of the range (starting and ending).
- */
- const unsigned long EndPoint_Start = 1;
- const unsigned long EndPoint_End = 2;
- /**
- * Compare this and given ranges end points.
- *
- * @return -1/0/1 if this range end point is before/equal/after the given
- * range end point.
- */
- long compareEndPoints(in unsigned long aEndPoint,
- in nsIAccessibleTextRange aOtherRange,
- in unsigned long aOtherRangeEndPoint);
- /**
- * Return text within the range.
- */
- readonly attribute AString text;
- /**
- * Return list of rects of the range.
- */
- readonly attribute nsIArray bounds;
- const unsigned long FormatUnit = 0;
- const unsigned long WordUnit = 1;
- const unsigned long LineUnit = 2;
- const unsigned long ParagraphUnit = 3;
- const unsigned long PageUnit = 4;
- const unsigned long DocumentUnit = 5;
- /**
- * Move the boundary(ies) by the given number of the unit.
- */
- void move(in unsigned long aUnit, in long aCount);
- void moveStart(in unsigned long aUnit, in long aCount);
- void moveEnd(in unsigned long aUnit, in long aCount);
- /**
- * Normalize the range to the closest unit of the given type.
- */
- void normalize(in unsigned long aUnit);
- /**
- * Crops the range by the given accessible element.
- */
- boolean crop(in nsIAccessible aContainer);
- /**
- * Return range enclosing the found text.
- */
- nsIAccessibleTextRange findText(in AString aText, in boolean aIsBackward,
- in boolean aIsIgnoreCase);
- /**
- * Text attributes. Used in conjunction with findAttrs().
- */
- const unsigned long AnimationStyleAttr = 0;
- const unsigned long AnnotationObjectsAttr = 1;
- const unsigned long AnnotationTypesAttr = 2;
- const unsigned long BackgroundColorAttr = 3;
- const unsigned long BulletStyleAttr = 4;
- const unsigned long CapStyleAttr = 5;
- const unsigned long CaretBidiModeAttr = 6;
- const unsigned long CaretPositionAttr = 7;
- const unsigned long CultureAttr = 8;
- const unsigned long FontNameAttr = 9;
- const unsigned long FontSizeAttr = 10;
- const unsigned long FontWeightAttr = 11;
- const unsigned long ForegroundColorAttr = 12;
- const unsigned long HorizontalTextAlignmentAttr = 13;
- const unsigned long IndentationFirstLineAttr = 14;
- const unsigned long IndentationLeadingAttr = 15;
- const unsigned long IndentationTrailingAttr = 16;
- const unsigned long IsActiveAttr = 17;
- const unsigned long IsHiddenAttr = 18;
- const unsigned long IsItalicAttr = 19;
- const unsigned long IsReadOnlyAttr = 20;
- const unsigned long IsSubscriptAttr = 21;
- const unsigned long IsSuperscriptAttr = 22;
- const unsigned long LinkAttr = 23;
- const unsigned long MarginBottomAttr = 24;
- const unsigned long MarginLeadingAttr = 25;
- const unsigned long MarginTopAttr = 26;
- const unsigned long MarginTrailingAttr = 27;
- const unsigned long OutlineStylesAttr = 28;
- const unsigned long OverlineColorAttr = 29;
- const unsigned long OverlineStyleAttr = 30;
- const unsigned long SelectionActiveEndAttr = 31;
- const unsigned long StrikethroughColorAttr = 32;
- const unsigned long StrikethroughStyleAttr = 33;
- const unsigned long StyleIdAttr = 34;
- const unsigned long StyleNameAttr = 35;
- const unsigned long TabsAttr = 36;
- const unsigned long TextFlowDirectionsAttr = 37;
- const unsigned long UnderlineColorAttr = 38;
- const unsigned long UnderlineStyleAttr = 39;
- /**
- * Return range enslosing the text having requested attribute.
- */
- nsIAccessibleTextRange findAttr(in unsigned long aAttr, in nsIVariant aValue,
- in boolean aIsBackward);
- /**
- * Add/remove the text range from selection.
- */
- void addToSelection();
- void removeFromSelection();
- void select();
- const unsigned long AlignToTop = 0;
- const unsigned long AlignToBottom = 1;
- /**
- * Scroll the range into view.
- */
- void scrollIntoView(in unsigned long aHow);
- };
|