1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/other-licenses/ia2/AccessibleEditableText.idl Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,262 @@ 1.4 +/************************************************************************* 1.5 + * 1.6 + * File Name (AccessibleEditableText.idl) 1.7 + * 1.8 + * IAccessible2 IDL Specification 1.9 + * 1.10 + * Copyright (c) 2007, 2012 Linux Foundation 1.11 + * Copyright (c) 2006 IBM Corporation 1.12 + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 1.13 + * All rights reserved. 1.14 + * 1.15 + * 1.16 + * Redistribution and use in source and binary forms, with or without 1.17 + * modification, are permitted provided that the following conditions 1.18 + * are met: 1.19 + * 1.20 + * 1. Redistributions of source code must retain the above copyright 1.21 + * notice, this list of conditions and the following disclaimer. 1.22 + * 1.23 + * 2. Redistributions in binary form must reproduce the above 1.24 + * copyright notice, this list of conditions and the following 1.25 + * disclaimer in the documentation and/or other materials 1.26 + * provided with the distribution. 1.27 + * 1.28 + * 3. Neither the name of the Linux Foundation nor the names of its 1.29 + * contributors may be used to endorse or promote products 1.30 + * derived from this software without specific prior written 1.31 + * permission. 1.32 + * 1.33 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 1.34 + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 1.35 + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 1.36 + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 1.37 + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 1.38 + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1.39 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 1.40 + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 1.41 + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1.42 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 1.43 + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 1.44 + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 1.45 + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1.46 + * 1.47 + * This BSD License conforms to the Open Source Initiative "Simplified 1.48 + * BSD License" as published at: 1.49 + * http://www.opensource.org/licenses/bsd-license.php 1.50 + * 1.51 + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 1.52 + * mark may be used in accordance with the Linux Foundation Trademark 1.53 + * Policy to indicate compliance with the IAccessible2 specification. 1.54 + * 1.55 + ************************************************************************/ 1.56 + 1.57 +import "objidl.idl"; 1.58 +import "oaidl.idl"; 1.59 +import "oleacc.idl"; 1.60 +import "IA2CommonTypes.idl"; 1.61 + 1.62 +/** @brief This interface provides clipboard capability to text objects. 1.63 + 1.64 + This interface is typically used in conjunction with the IAccessibleText 1.65 + interface and complements that interface with the additional capability of 1.66 + clipboard operations. Note that even a read only text object can support 1.67 + the copy capability so this interface is not limited to editable objects. 1.68 + 1.69 + The substrings used with this interface are specified as follows: 1.70 + If startOffset is less than endOffset, the substring starts with the 1.71 + character at startOffset and ends with the character just before endOffset. 1.72 + If endOffset is lower than startOffset, the result is the same as a call 1.73 + with the two arguments exchanged. The whole text can be defined by passing 1.74 + the indices zero and IAccessibleText::nCharacters. If both indices have the 1.75 + same value, an empty string is defined. 1.76 + 1.77 + Refer to the @ref _specialOffsets 1.78 + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 1.79 + for information about a special offset constant that can be used in %IAccessibleEditableText methods. 1.80 +*/ 1.81 +[object, uuid(A59AA09A-7011-4b65-939D-32B1FB5547E3)] 1.82 +interface IAccessibleEditableText : IUnknown 1.83 +{ 1.84 + 1.85 + /** @brief Copies the text range into the clipboard. 1.86 + 1.87 + The selection is set to the specified offsets and then selection is copied into 1.88 + the system clipboard. 1.89 + 1.90 + @param [in] startOffset 1.91 + Start index of the text to moved into the clipboard. 1.92 + The valid range is 0..length. 1.93 + @param [in] endOffset 1.94 + End index of the text to moved into the clipboard. 1.95 + The valid range is 0..length. 1.96 + @retval S_OK 1.97 + @retval E_INVALIDARG if bad [in] passed 1.98 + @note Refer to @ref _specialOffsets 1.99 + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 1.100 + for information about special offsets that can be used in %IAccessibleEditableText 1.101 + methods. 1.102 + @deprecated This function is available via the application's GUI. 1.103 + */ 1.104 + HRESULT copyText 1.105 + ( 1.106 + [in] long startOffset, 1.107 + [in] long endOffset 1.108 + ); 1.109 + 1.110 + /** @brief Deletes a range of text. 1.111 + 1.112 + The text between and including the two given indices is deleted 1.113 + from the text represented by this object. 1.114 + 1.115 + @param [in] startOffset 1.116 + Start index of the text to be deleted. 1.117 + The valid range is 0..length. 1.118 + @param [in] endOffset 1.119 + End index of the text to be deleted. 1.120 + The valid range is 0..length. 1.121 + @retval S_OK 1.122 + @retval E_INVALIDARG if bad [in] passed 1.123 + @note Refer to @ref _specialOffsets 1.124 + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 1.125 + for information about special offsets that can be used in %IAccessibleEditableText 1.126 + methods. 1.127 + */ 1.128 + HRESULT deleteText 1.129 + ( 1.130 + [in] long startOffset, 1.131 + [in] long endOffset 1.132 + ); 1.133 + 1.134 + /** @brief Inserts text at the specified position. 1.135 + 1.136 + The specified string is inserted at the given index into the text 1.137 + represented by this object. 1.138 + 1.139 + @param [in] offset 1.140 + Index at which to insert the text. 1.141 + The valid range is 0..length. 1.142 + Refer to @ref _specialOffsets 1.143 + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 1.144 + for information about special offsets that can be used in %IAccessibleEditableText 1.145 + methods. 1.146 + @param [in] text 1.147 + Text that is inserted. 1.148 + @retval S_OK 1.149 + @retval E_INVALIDARG if bad [in] passed 1.150 + */ 1.151 + HRESULT insertText 1.152 + ( 1.153 + [in] long offset, 1.154 + [in] BSTR *text 1.155 + ); 1.156 + 1.157 + /** @brief Deletes a range of text and copies it to the clipboard. 1.158 + 1.159 + The selection is set to the specified offsets, the selection is then copied into 1.160 + the system clipboard, and then the selection is deleted. 1.161 + 1.162 + @param [in] startOffset 1.163 + Start index of the text to be deleted. 1.164 + The valid range is 0..length. 1.165 + @param [in] endOffset 1.166 + End index of the text to be deleted. 1.167 + The valid range is 0..length. 1.168 + @retval S_OK 1.169 + @retval E_INVALIDARG if bad [in] passed 1.170 + @note Refer to @ref _specialOffsets 1.171 + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 1.172 + for information about special offsets that can be used in %IAccessibleEditableText 1.173 + methods. 1.174 + @deprecated This function is available via the application's GUI. 1.175 + */ 1.176 + HRESULT cutText 1.177 + ( 1.178 + [in] long startOffset, 1.179 + [in] long endOffset 1.180 + ); 1.181 + 1.182 + /** @brief Pastes content from the clipboard. 1.183 + 1.184 + Any existing selection is removed, the clipboard content is then pasted into 1.185 + this object's text at the given offset. This method is similar to the insertText 1.186 + method. If the index is not valid the system clipboard content is not inserted. The 1.187 + behavior is the same as when Ctrl+V is used, i.e. the pasted contents are not 1.188 + necessarily plain text. 1.189 + 1.190 + @param [in] offset 1.191 + Index at which to insert the content from the system clipboard into 1.192 + the text represented by this object. 1.193 + The valid range is 0..length. 1.194 + Refer to @ref _specialOffsets 1.195 + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 1.196 + for information about special offsets that can be used in %IAccessibleEditableText 1.197 + methods. 1.198 + @retval S_OK 1.199 + @retval E_INVALIDARG if bad [in] passed 1.200 + @deprecated This function is available via the application's GUI. 1.201 + */ 1.202 + HRESULT pasteText 1.203 + ( 1.204 + [in] long offset 1.205 + ); 1.206 + 1.207 + /** @brief Replaces text. 1.208 + 1.209 + The text between the two given indices is replaced by the specified 1.210 + replacement string. This method is equivalent to calling first 1.211 + IAccessibleEditableText::deleteText with the two indices and then 1.212 + calling IAccessibleEditableText::insertText with the replacement text 1.213 + at the start index. 1.214 + 1.215 + @param [in] startOffset 1.216 + Start index of the text to be replaced. 1.217 + The valid range is 0..length. 1.218 + @param [in] endOffset 1.219 + End index of the text to be replaced. 1.220 + The valid range is 0..length. 1.221 + @param [in] text 1.222 + The Text that replaces the text between the given indices. 1.223 + @retval S_OK 1.224 + @retval E_INVALIDARG if bad [in] passed 1.225 + @note Refer to @ref _specialOffsets 1.226 + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 1.227 + for information about special offsets that can be used in %IAccessibleEditableText 1.228 + methods. 1.229 + */ 1.230 + HRESULT replaceText 1.231 + ( 1.232 + [in] long startOffset, 1.233 + [in] long endOffset, 1.234 + [in] BSTR *text 1.235 + ); 1.236 + 1.237 + /** @brief Replaces the attributes of a text range by the given set of attributes. 1.238 + 1.239 + Sets the attributes for the text between the two given indices. The old 1.240 + attributes are replaced by the new list of attributes. 1.241 + 1.242 + @param [in] startOffset 1.243 + Start index of the text whose attributes are modified. 1.244 + The valid range is 0..length. 1.245 + @param [in] endOffset 1.246 + End index of the text whose attributes are modified. 1.247 + The valid range is 0..length. 1.248 + @param [in] attributes 1.249 + Set of attributes that replaces the old list of attributes of 1.250 + the specified text portion. 1.251 + @retval S_OK 1.252 + @retval E_INVALIDARG if bad [in] passed 1.253 + @note Refer to @ref _specialOffsets 1.254 + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 1.255 + for information about special offsets that can be used in %IAccessibleEditableText 1.256 + methods. 1.257 + */ 1.258 + HRESULT setAttributes 1.259 + ( 1.260 + [in] long startOffset, 1.261 + [in] long endOffset, 1.262 + [in] BSTR *attributes 1.263 + ); 1.264 +} 1.265 +