gecko/other-licenses/ia2/AccessibleHypertext.idl

97 lines
3.6 KiB
Plaintext
Raw Normal View History

/*************************************************************************
*
* File Name (AccessibleHypertext.idl)
*
* IAccessible2 IDL Specification
*
* Copyright (c) Linux Foundation 2007, 2008
* Copyright (c) IBM Corp. 2006
* Copyright (c) Sun Microsystems, Inc. 2000, 2006
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA
*
************************************************************************/
import "objidl.idl";
import "oaidl.idl";
import "oleacc.idl";
import "AccessibleText.idl";
import "AccessibleHyperlink.idl";
/** @brief This interface exposes information about hypertext in a document.
The %IAccessibleHypertext interface is the main interface to expose
hyperlinks in a document, typically a text document, that are used
to reference other documents. A typical implementation is to implement
this interface on the smallest text object such as a paragraph of text.
*/
[object, uuid(6B4F8BBF-F1F2-418a-B35E-A195BC4103B9)]
interface IAccessibleHypertext : IAccessibleText
{
/** @brief Returns the number of links and link groups contained within this hypertext
paragraph.
@param [out] hyperlinkCount
The number of links and link groups within this hypertext paragraph.
Returns 0 if there is no link.
@retval S_OK
*/
[propget] HRESULT nHyperlinks
(
[out, retval] long *hyperlinkCount
);
/** @brief Returns the specified link.
The returned IAccessibleHyperlink object encapsulates the hyperlink and
provides several kinds of information describing it.
@param [in] index
This 0 based index specifies the hyperlink to return.
@param [out] hyperlink
If the given index is valid, i.e. lies in the interval from 0 to the number
of links minus one, a reference to the specified hyperlink object is returned.
If the index is invalid then a NULL pointer is returned.
@retval S_OK
@retval E_INVALIDARG if bad [in] passed, [out] value is NULL
*/
[propget] HRESULT hyperlink
(
[in] long index,
[out, retval] IAccessibleHyperlink **hyperlink
);
/** @brief Returns the index of the hyperlink that is associated with this character index.
This is the case when a link spans the given character index.
@param [in] charIndex
A 0 based index of the character for which to return the link index. If
IAccessibleText is used to represent the text containing the link, then the
character index is only valid if it is greater than or equal to zero and
lower than the number of characters in the text.
@param [out] hyperlinkIndex
Returns the 0 based index of the hyperlink that is associated with this
character index, or -1 if charIndex is not on a link.
@retval S_OK
@retval S_FALSE if there is nothing to return, [out] value is -1
@retval E_INVALIDARG if bad [in] passed, [out] value is NULL
*/
[propget] HRESULT hyperlinkIndex
(
[in] long charIndex,
[out, retval] long *hyperlinkIndex
);
}