On x86 compilers without fastcall, simulate it when invoking traces and un-simulate...
[wine-gecko.git] / other-licenses / ia2 / AccessibleEditableText.idl
blobfa261044a396f3ac1bc6808a063d9fc8fb2f4803
1 /*************************************************************************
3 * File Name (AccessibleEditableText.idl)
5 * IAccessible2 IDL Specification
7 * Copyright (c) IBM Corp. 2006
8 * Copyright (c) Sun Microsystems, Inc. 2000, 2006
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public
12 * License version 2.1, as published by the Free Software Foundation; either
13 * version 2.1 of the License, or (at your option) any later version.
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA
24 ************************************************************************/
26 import "objidl.idl";
27 import "oaidl.idl";
28 import "oleacc.idl";
30 /** @brief This interface gives write access to a text representation.
32 This interface is typically used in conjunction with the IAccessibleText
33 interface and complements that interface with the additional ability to
34 modify text.
36 The substrings used with this interface are specified as follows:
37 If startOffset is less than endOffset, the substring starts with the
38 character at startOffset and ends with the character just before endOffset.
39 If endOffset is lower than startOffset, the result is the same as a call
40 with the two arguments exchanged. The whole text can be defined by passing
41 the indices zero and IAccessibleText::nCharacters. If both indices have the
42 same value, an empty string is defined.
44 [object, uuid(A59AA09A-7011-4b65-939D-32B1FB5547E3)]
45 interface IAccessibleEditableText : IUnknown
48 /** @brief Copies the text range into the clipboard.
50 The specified text between the two given indices is copied into the
51 system clipboard.
53 @param [in] startOffset
54 Start index of the text to moved into the clipboard.
55 The valid range is 0..length.
56 @param [in] endOffset
57 End index of the text to moved into the clipboard.
58 The valid range is 0..length.
60 HRESULT copyText
62 [in] long startOffset,
63 [in] long endOffset
66 /** @brief Deletes a range of text.
68 The text between and including the two given indices is deleted
69 from the text represented by this object.
71 @param [in] startOffset
72 Start index of the text to be deleted.
73 The valid range is 0..length.
74 @param [in] endOffset
75 End index of the text to be deleted.
76 The valid range is 0..length.
78 HRESULT deleteText
80 [in] long startOffset,
81 [in] long endOffset
84 /** @brief Inserts text at the specified position.
86 The specified string is inserted at the given index into the text
87 represented by this object.
89 @param [in] offset
90 Index at which to insert the text.
91 The valid range is 0..length.
92 @param [in] text
93 Text that is inserted.
95 HRESULT insertText
97 [in] long offset,
98 [in] BSTR *text
101 /** @brief Deletes a range of text and copies it to the clipboard.
103 The text between the two given indices is deleted from the text
104 represented by this object and copied to the clipboard.
106 @param [in] startOffset
107 Start index of the text to be deleted.
108 The valid range is 0..length.
109 @param [in] endOffset
110 End index of the text to be deleted.
111 The valid range is 0..length.
113 HRESULT cutText
115 [in] long startOffset,
116 [in] long endOffset
119 /** @brief Pastes text from the clipboard.
121 The text in the system clipboard is pasted into the text represented
122 by this object at the given index. This method is similar to the
123 IAccessibleEditableText::insertText method. If the index is not valid
124 the system clipboard text is not inserted.
126 @param [in] offset
127 Index at which to insert the text from the system clipboard into
128 the text represented by this object.
129 The valid range is 0..length.
131 HRESULT pasteText
133 [in] long offset
136 /** @brief Replaces text.
138 The text between the two given indices is replaced by the specified
139 replacement string. This method is equivalent to calling first
140 IAccessibleEditableText::deleteText with the two indices and then
141 calling IAccessibleEditableText::insertText with the replacement text
142 at the start index.
144 @param [in] startOffset
145 Start index of the text to be replaced.
146 The valid range is 0..length.
147 @param [in] endOffset
148 Start index of the text to be replaced.
149 The valid range is 0..length.
150 @param [in] text
151 The Text that replaces the text between the given indices.
153 HRESULT replaceText
155 [in] long startOffset,
156 [in] long endOffset,
157 [in] BSTR *text
160 /** @brief Replaces the attributes of a text range by the given set of attributes.
162 Sets the attributes for the text between the two given indices. The old
163 attributes are replaced by the new list of attributes.
165 @param [in] startOffset
166 Start index of the text whose attributes are modified.
167 The valid range is 0..length.
168 @param [in] endOffset
169 Start index of the text whose attributes are modified.
170 The valid range is 0..length.
171 @param [in] attributes
172 Set of attributes that replaces the old list of attributes of
173 the specified text portion.
175 HRESULT setAttributes
177 [in] long startOffset,
178 [in] long endOffset,
179 [in] BSTR *attributes