зеркало из https://github.com/mozilla/gecko-dev.git
78 строки
3.2 KiB
Plaintext
78 строки
3.2 KiB
Plaintext
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "domstubs.idl"
|
|
|
|
/**
|
|
* The nsIDOMRange interface is an interface to a DOM range object.
|
|
*
|
|
* For more information on this interface please see
|
|
* http://www.w3.org/TR/DOM-Level-2-Traversal-Range/
|
|
*/
|
|
|
|
[scriptable, builtinclass, uuid(1f94055c-42e7-4a30-96a1-6a804f1c2d1e)]
|
|
interface nsIDOMRange : nsISupports
|
|
{
|
|
readonly attribute nsIDOMNode startContainer;
|
|
readonly attribute long startOffset;
|
|
readonly attribute nsIDOMNode endContainer;
|
|
readonly attribute long endOffset;
|
|
readonly attribute boolean collapsed;
|
|
readonly attribute nsIDOMNode commonAncestorContainer;
|
|
|
|
void setStart(in nsIDOMNode refNode, in long offset);
|
|
void setEnd(in nsIDOMNode refNode, in long offset);
|
|
void setStartBefore(in nsIDOMNode refNode);
|
|
void setStartAfter(in nsIDOMNode refNode);
|
|
void setEndBefore(in nsIDOMNode refNode);
|
|
void setEndAfter(in nsIDOMNode refNode);
|
|
void collapse(in boolean toStart);
|
|
void selectNode(in nsIDOMNode refNode);
|
|
void selectNodeContents(in nsIDOMNode refNode);
|
|
|
|
// 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;
|
|
|
|
short compareBoundaryPoints(in unsigned short how,
|
|
in nsIDOMRange sourceRange);
|
|
void deleteContents();
|
|
nsIDOMDocumentFragment extractContents();
|
|
nsIDOMDocumentFragment cloneContents();
|
|
void insertNode(in nsIDOMNode newNode);
|
|
void surroundContents(in nsIDOMNode newParent);
|
|
nsIDOMRange cloneRange();
|
|
DOMString toString();
|
|
void detach();
|
|
|
|
// This method comes from
|
|
// http://html5.org/specs/dom-parsing.html#extensions-to-the-range-interface
|
|
nsIDOMDocumentFragment createContextualFragment(in DOMString fragment);
|
|
|
|
// This returns true if parent+offset equals either
|
|
// of the boundary points or is between them.
|
|
boolean isPointInRange(in nsIDOMNode parent,
|
|
in long offset);
|
|
|
|
// comparePoint returns
|
|
// -1 if point is before the start boundary point,
|
|
// 0 if point is either of the boundary points or between them,
|
|
// 1 if point is after the end boundary point.
|
|
// Sort of a strcmp for ranges.
|
|
short comparePoint(in nsIDOMNode parent, in long offset);
|
|
|
|
/**
|
|
* Returns whether the range intersects node.
|
|
*/
|
|
boolean intersectsNode(in nsIDOMNode node);
|
|
|
|
// These methods come from
|
|
// http://dev.w3.org/csswg/cssom-view/#extensions-to-the-range-interface
|
|
nsIDOMClientRectList getClientRects();
|
|
nsIDOMClientRect getBoundingClientRect();
|
|
};
|