WebCore/dom/Range.idl
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     1 /*
       
     2  * Copyright (C) 2006 Apple Computer, Inc.
       
     3  * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
       
     4  *
       
     5  * This library is free software; you can redistribute it and/or
       
     6  * modify it under the terms of the GNU Library General Public
       
     7  * License as published by the Free Software Foundation; either
       
     8  * version 2 of the License, or (at your option) any later version.
       
     9  *
       
    10  * This library is distributed in the hope that it will be useful,
       
    11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       
    13  * Library General Public License for more details.
       
    14  *
       
    15  * You should have received a copy of the GNU Library General Public License
       
    16  * along with this library; see the file COPYING.LIB.  If not, write to
       
    17  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
       
    18  * Boston, MA 02110-1301, USA.
       
    19  */
       
    20 
       
    21 module ranges {
       
    22 
       
    23     // Introduced in DOM Level 2:
       
    24     interface Range {
       
    25 
       
    26         readonly attribute Node startContainer
       
    27             getter raises(DOMException);
       
    28         readonly attribute long startOffset
       
    29             getter raises(DOMException);
       
    30         readonly attribute Node endContainer
       
    31             getter raises(DOMException);
       
    32         readonly attribute long endOffset
       
    33             getter raises(DOMException);
       
    34         readonly attribute boolean collapsed
       
    35             getter raises(DOMException);
       
    36         readonly attribute Node commonAncestorContainer
       
    37             getter raises(DOMException);
       
    38 
       
    39         [OldStyleObjC] void setStart(in Node refNode, 
       
    40                                      in long offset)
       
    41             raises(RangeException, DOMException);
       
    42         [OldStyleObjC] void setEnd(in Node refNode, 
       
    43                                    in long offset)
       
    44             raises(RangeException, DOMException);
       
    45         void setStartBefore(in Node refNode)
       
    46             raises(RangeException, DOMException);
       
    47         void setStartAfter(in Node refNode)
       
    48             raises(RangeException, DOMException);
       
    49         void setEndBefore(in Node refNode)
       
    50             raises(RangeException, DOMException);
       
    51         void setEndAfter(in Node refNode)
       
    52             raises(RangeException, DOMException);
       
    53         void collapse(in boolean toStart)
       
    54             raises(DOMException);
       
    55         void selectNode(in Node refNode)
       
    56             raises(RangeException, DOMException);
       
    57         void selectNodeContents(in Node refNode)
       
    58             raises(RangeException, DOMException);
       
    59 
       
    60         // CompareHow
       
    61         const unsigned short START_TO_START = 0;
       
    62         const unsigned short START_TO_END   = 1;
       
    63         const unsigned short END_TO_END     = 2;
       
    64         const unsigned short END_TO_START   = 3;
       
    65 
       
    66         [OldStyleObjC] short compareBoundaryPoints(in CompareHow how,
       
    67                                                    in Range sourceRange)
       
    68             raises(DOMException);
       
    69 
       
    70         void deleteContents()
       
    71             raises(DOMException);
       
    72         DocumentFragment extractContents()
       
    73             raises(DOMException);
       
    74         DocumentFragment cloneContents()
       
    75             raises(DOMException);
       
    76         void insertNode(in Node newNode)
       
    77             raises(DOMException, RangeException);
       
    78         void surroundContents(in Node newParent)
       
    79             raises(DOMException, RangeException);
       
    80         Range cloneRange()
       
    81             raises(DOMException);
       
    82         DOMString toString()
       
    83             raises(DOMException);
       
    84 
       
    85         void detach()
       
    86             raises(DOMException);
       
    87 
       
    88 #if defined(LANGUAGE_JAVASCRIPT) || LANGUAGE_JAVASCRIPT
       
    89         // CSSOM View Module API extensions
       
    90 
       
    91         ClientRectList getClientRects();
       
    92         ClientRect getBoundingClientRect();
       
    93 #endif
       
    94 
       
    95         // extensions
       
    96 
       
    97         DocumentFragment createContextualFragment(in DOMString html)
       
    98             raises(DOMException);
       
    99 
       
   100         // WebKit extensions
       
   101 
       
   102         boolean intersectsNode(in Node refNode)
       
   103             raises(RangeException, DOMException);
       
   104 
       
   105         short compareNode(in Node refNode)
       
   106             raises(RangeException, DOMException);
       
   107 
       
   108         // CompareResults
       
   109         const unsigned short NODE_BEFORE           = 0;
       
   110         const unsigned short NODE_AFTER            = 1;
       
   111         const unsigned short NODE_BEFORE_AND_AFTER = 2;
       
   112         const unsigned short NODE_INSIDE           = 3;
       
   113 
       
   114         short comparePoint(in Node refNode, 
       
   115                            in long offset)
       
   116             raises(RangeException, DOMException);
       
   117 
       
   118         boolean isPointInRange(in Node refNode, 
       
   119                                in long offset)
       
   120             raises(RangeException, DOMException);
       
   121 
       
   122         void expand(in DOMString unit)
       
   123             raises(RangeException, DOMException);
       
   124 
       
   125 #if !defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT
       
   126         readonly attribute DOMString text;
       
   127 #endif
       
   128     };
       
   129 
       
   130 }