Bug 1800546 Part 1 - Use the style given the first page name for setting default...
[gecko.git] / other-licenses / ia2 / Accessible2_3.idl
blobf3a9b18962f0958599f4bcbe9e834e55cdf9d978
1 import "objidl.idl";
2 import "oaidl.idl";
3 import "oleacc.idl";
4 import "Accessible2_2.idl";
6 /**
7 * This structure represents a directional range of the content. It is defined
8 * by two points in the content, where each one is defined by an accessible
9 * object and an offset relative to it. A typical case of a range point is
10 * a text accessible and text offset within it.
12 * The "anchor" is one point of the range and typically remains constant.
13 * The other point is the "active" point, which typically corresponds to
14 * the user's focus or point of interest. The user moves the active point to
15 * expand or collapse the range. In most cases, anchor is the start of the range
16 * and active is the end. However, in case of selection, when selecting
17 * backwards (e.g. pressing shift+left arrow in a text field), the start of
18 * the range is the active point, as the user moves this to manipulate
19 * the selection.
21 typedef struct IA2Range {
22 IUnknown* anchor;
23 long anchorOffset;
24 IUnknown* active;
25 long activeOffset;
26 } IA2Range;
28 /**
29 * @brief This interface is an extension of IAccessible2_2 and IAccessible2
30 * interfaces.
32 [object, uuid(5BE18059-762E-4E73-9476-ABA294FED411)]
33 interface IAccessible2_3 : IAccessible2_2
35 /**
36 * @brief Returns an array of ranges for selections within the accessible.
37 * @param [out] ranges
38 The array of selection ranges, allocated by the server. The client must
39 free it with CoTaskMemFree.
40 * @param [out] nRanges
41 the array length
42 * @retval S_OK
43 * @retval S_FALSE returned if there is no selection within the accessible
45 [propget] HRESULT selectionRanges
47 [out, size_is(,*nRanges)] IA2Range **ranges,
48 [out, retval] long *nRanges