michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- michael@0: * michael@0: * This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsISupports.idl" michael@0: #include "nsIAccessibleHyperLink.idl" michael@0: michael@0: /** michael@0: * A cross-platform interface that deals with text which contains hyperlinks. michael@0: * Each link is an embedded object representing exactly 1 character within michael@0: * the hypertext. michael@0: * michael@0: * Current implementation assumes every embedded object is a link. michael@0: */ michael@0: michael@0: [scriptable, uuid(b33684e2-090c-4e1d-a3d9-f4b46f4237b9)] michael@0: interface nsIAccessibleHyperText : nsISupports michael@0: { michael@0: /** michael@0: * Return the number of links contained within this hypertext object. michael@0: */ michael@0: readonly attribute long linkCount; michael@0: michael@0: /** michael@0: * Return link accessible at the given index. michael@0: * michael@0: * @param index [in] 0-based index of the link that is to be retrieved michael@0: * michael@0: * @return link accessible or null if there is no link at that index michael@0: */ michael@0: nsIAccessibleHyperLink getLinkAt(in long index); michael@0: michael@0: /** michael@0: * Return index of the given link. michael@0: * michael@0: * @param link [in] link accessible the index is requested for michael@0: * michael@0: * @return index of the given link or null if there's no link within michael@0: * hypertext accessible michael@0: */ michael@0: long getLinkIndex(in nsIAccessibleHyperLink link); michael@0: michael@0: /* michael@0: * Return link index at the given offset within hypertext accessible. michael@0: * michael@0: * @param offset [in] the 0-based character index michael@0: * michael@0: * @return 0-based link's index or -1 if no link is present at that michael@0: * offset michael@0: */ michael@0: long getLinkIndexAtOffset(in long offset); michael@0: };