diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /other-licenses/ia2/Accessible2_3.idl | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'other-licenses/ia2/Accessible2_3.idl')
-rw-r--r-- | other-licenses/ia2/Accessible2_3.idl | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/other-licenses/ia2/Accessible2_3.idl b/other-licenses/ia2/Accessible2_3.idl new file mode 100644 index 0000000000..f3a9b18962 --- /dev/null +++ b/other-licenses/ia2/Accessible2_3.idl @@ -0,0 +1,50 @@ +import "objidl.idl"; +import "oaidl.idl"; +import "oleacc.idl"; +import "Accessible2_2.idl"; + +/** + * This structure represents a directional range of the content. It is defined + * by two points in the content, where each one is defined by an accessible + * object and an offset relative to it. A typical case of a range point is + * a text accessible and text offset within it. + * + * The "anchor" is one point of the range and typically remains constant. + * The other point is the "active" point, which typically corresponds to + * the user's focus or point of interest. The user moves the active point to + * expand or collapse the range. In most cases, anchor is the start of the range + * and active is the end. However, in case of selection, when selecting + * backwards (e.g. pressing shift+left arrow in a text field), the start of + * the range is the active point, as the user moves this to manipulate + * the selection. + */ +typedef struct IA2Range { + IUnknown* anchor; + long anchorOffset; + IUnknown* active; + long activeOffset; +} IA2Range; + +/** + * @brief This interface is an extension of IAccessible2_2 and IAccessible2 + * interfaces. + */ +[object, uuid(5BE18059-762E-4E73-9476-ABA294FED411)] +interface IAccessible2_3 : IAccessible2_2 +{ + /** + * @brief Returns an array of ranges for selections within the accessible. + * @param [out] ranges + The array of selection ranges, allocated by the server. The client must + free it with CoTaskMemFree. + * @param [out] nRanges + the array length + * @retval S_OK + * @retval S_FALSE returned if there is no selection within the accessible + */ + [propget] HRESULT selectionRanges + ( + [out, size_is(,*nRanges)] IA2Range **ranges, + [out, retval] long *nRanges + ); +} |