blob: 58dd54d793a3ccc62ba24d399c9e0e29d06dcbff [file] [log] [blame]
/*
* Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef DO_NO_IMPORTS
import "oaidl.idl";
import "ocidl.idl";
import "DOMCore.idl";
#endif
interface IDOMNode;
interface IDOMDocumentFragment;
typedef enum _WebSelectionAffinity {
WebSelectionAffinityUpstream = 0,
WebSelectionAffinityDownstream = 1
} WebSelectionAffinity;
enum {
//
// DOM range exception codes
//
DOM_BAD_BOUNDARYPOINTS_ERR = 1,
DOM_INVALID_NODE_TYPE_ERR = 2,
};
enum {
//
// DOM Range comparison codes
//
DOM_START_TO_START = 0,
DOM_START_TO_END = 1,
DOM_END_TO_END = 2,
DOM_END_TO_START = 3,
};
/*
@interface DOMRange : DOMObject
*/
[
object,
oleautomation,
uuid(2F33E42C-0B39-48b3-B7B6-E910CDB325AD),
pointer_default(unique)
]
interface IDOMRange : IDOMObject
{
/*
- (DOMNode *)startContainer;
*/
HRESULT startContainer([out, retval] IDOMNode** node);
/*
- (int)startOffset;
*/
HRESULT startOffset([out, retval] int* offset);
/*
- (DOMNode *)endContainer;
*/
HRESULT endContainer([out, retval] IDOMNode** node);
/*
- (int)endOffset;
*/
HRESULT endOffset([out, retval] int* offset);
/*
- (BOOL)collapsed;
*/
HRESULT collapsed([out, retval] BOOL* result);
/*
- (DOMNode *)commonAncestorContainer;
*/
HRESULT commonAncestorContainer([out, retval] IDOMNode** container);
/*
- (void)setStart:(DOMNode *)refNode :(int)offset;
*/
HRESULT setStart([in] IDOMNode* refNode, [in] int offset);
/*
- (void)setEnd:(DOMNode *)refNode :(int)offset;
*/
HRESULT setEnd([in] IDOMNode* refNode, [in] int offset);
/*
- (void)setStartBefore:(DOMNode *)refNode;
*/
HRESULT setStartBefore([in] IDOMNode* refNode);
/*
- (void)setStartAfter:(DOMNode *)refNode;
*/
HRESULT setStartAfter([in] IDOMNode* refNode);
/*
- (void)setEndBefore:(DOMNode *)refNode;
*/
HRESULT setEndBefore([in] IDOMNode* refNode);
/*
- (void)setEndAfter:(DOMNode *)refNode;
*/
HRESULT setEndAfter([in] IDOMNode* refNode);
/*
- (void)collapse:(BOOL)toStart;
*/
HRESULT collapse([in] BOOL toStart);
/*
- (void)selectNode:(DOMNode *)refNode;
*/
HRESULT selectNode([in] IDOMNode* refNode);
/*
- (void)selectNodeContents:(DOMNode *)refNode;
*/
HRESULT selectNodeContents([in] IDOMNode* refNode);
/*
- (short)compareBoundaryPoints:(unsigned short)how :(DOMRange *)sourceRange;
*/
HRESULT compareBoundaryPoints([in] unsigned short how, [in] IDOMRange* sourceRange);
/*
- (void)deleteContents;
*/
HRESULT deleteContents();
/*
- (DOMDocumentFragment *)extractContents;
*/
HRESULT extractContents([out, retval] IDOMDocumentFragment** fragment);
/*
- (DOMDocumentFragment *)cloneContents;
*/
HRESULT cloneContents([out, retval] IDOMDocumentFragment** fragment);
/*
- (void)insertNode:(DOMNode *)newNode;
*/
HRESULT insertNode([in] IDOMNode* newNode);
/*
- (void)surroundContents:(DOMNode *)newParent;
*/
HRESULT surroundContents([in] IDOMNode* newParent);
/*
- (DOMRange *)cloneRange;
*/
HRESULT cloneRange([out, retval] IDOMRange** range);
/*
- (NSString *)toString;
*/
HRESULT toString([out, retval] BSTR* str);
/*
- (void)detach;
*/
HRESULT detach();
}