/* * Copyright (C) 2006 Apple Computer, Inc. * Copyright (C) 2006 Samuel Weinig * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ module ranges { // Introduced in DOM Level 2: interface Range { readonly attribute Node startContainer getter raises(DOMException); readonly attribute long startOffset getter raises(DOMException); readonly attribute Node endContainer getter raises(DOMException); readonly attribute long endOffset getter raises(DOMException); readonly attribute boolean collapsed getter raises(DOMException); readonly attribute Node commonAncestorContainer getter raises(DOMException); [ObjCLegacyUnnamedParameters] void setStart(in [Optional=DefaultIsUndefined] Node refNode, in [Optional=DefaultIsUndefined] long offset) raises(RangeException, DOMException); [ObjCLegacyUnnamedParameters] void setEnd(in [Optional=DefaultIsUndefined] Node refNode, in [Optional=DefaultIsUndefined] long offset) raises(RangeException, DOMException); void setStartBefore(in [Optional=DefaultIsUndefined] Node refNode) raises(RangeException, DOMException); void setStartAfter(in [Optional=DefaultIsUndefined] Node refNode) raises(RangeException, DOMException); void setEndBefore(in [Optional=DefaultIsUndefined] Node refNode) raises(RangeException, DOMException); void setEndAfter(in [Optional=DefaultIsUndefined] Node refNode) raises(RangeException, DOMException); void collapse(in [Optional=DefaultIsUndefined] boolean toStart) raises(DOMException); void selectNode(in [Optional=DefaultIsUndefined] Node refNode) raises(RangeException, DOMException); void selectNodeContents(in [Optional=DefaultIsUndefined] Node refNode) raises(RangeException, DOMException); // CompareHow const unsigned short START_TO_START = 0; const unsigned short START_TO_END = 1; const unsigned short END_TO_END = 2; const unsigned short END_TO_START = 3; [ObjCLegacyUnnamedParameters] short compareBoundaryPoints(in [Optional=DefaultIsUndefined] CompareHow how, in [Optional=DefaultIsUndefined] Range sourceRange) raises(DOMException); void deleteContents() raises(DOMException); DocumentFragment extractContents() raises(DOMException); DocumentFragment cloneContents() raises(DOMException); void insertNode(in [Optional=DefaultIsUndefined] Node newNode) raises(DOMException, RangeException); void surroundContents(in [Optional=DefaultIsUndefined] Node newParent) raises(DOMException, RangeException); Range cloneRange() raises(DOMException); DOMString toString() raises(DOMException); void detach() raises(DOMException); #if defined(LANGUAGE_JAVASCRIPT) || LANGUAGE_JAVASCRIPT // CSSOM View Module API extensions ClientRectList getClientRects(); ClientRect getBoundingClientRect(); #endif // extensions DocumentFragment createContextualFragment(in [Optional=DefaultIsUndefined] DOMString html) raises(DOMException); // WebKit extensions boolean intersectsNode(in [Optional=DefaultIsUndefined] Node refNode) raises(RangeException, DOMException); short compareNode(in [Optional=DefaultIsUndefined] Node refNode) raises(RangeException, DOMException); // CompareResults const unsigned short NODE_BEFORE = 0; const unsigned short NODE_AFTER = 1; const unsigned short NODE_BEFORE_AND_AFTER = 2; const unsigned short NODE_INSIDE = 3; short comparePoint(in [Optional=DefaultIsUndefined] Node refNode, in [Optional=DefaultIsUndefined] long offset) raises(RangeException, DOMException); boolean isPointInRange(in [Optional=DefaultIsUndefined] Node refNode, in [Optional=DefaultIsUndefined] long offset) raises(RangeException, DOMException); void expand(in [Optional=DefaultIsUndefined] DOMString unit) raises(RangeException, DOMException); #if !defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT readonly attribute DOMString text; #endif }; }