gecko-dev/accessible/interfaces/nsIAccessibleTextRange.idl
James Teh 24238f9512 Bug 1741793 part 1: Remove TextRange stuff that was never implemented. r=eeejay
This class needs to be updated to support base Accessible and it doesn't make sense to port methods that can never be used.
Also, any new functionality (e.g. needed for the UIA text pattern) should now be implemented using TextLeafPoint/Range, not TextRange.

Differential Revision: https://phabricator.services.mozilla.com/D139340
2022-02-26 23:01:54 +00:00

73 lines
2.0 KiB
Plaintext

/* -*- 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;
/**
* Crops the range by the given accessible element.
*/
boolean crop(in nsIAccessible aContainer);
const unsigned long AlignToTop = 0;
const unsigned long AlignToBottom = 1;
/**
* Scroll the range into view.
*/
void scrollIntoView(in unsigned long aHow);
};