1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/other-licenses/ia2/IA2CommonTypes.idl Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,191 @@ 1.4 +/************************************************************************* 1.5 + * 1.6 + * File Name (IA2CommonTypes.idl) 1.7 + * 1.8 + * IAccessible2 IDL Specification 1.9 + * 1.10 + * Copyright (c) 2007, 2010 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 + /** These constants control the scrolling of an object or substring into a window. 1.58 + 1.59 + This enum is used in IAccessible2::scrollTo and IAccessibleText::scrollSubstringTo. 1.60 +*/ 1.61 +enum IA2ScrollType { 1.62 + 1.63 + /** Scroll the top left corner of the object or substring such that the top left 1.64 + corner (and as much as possible of the rest of the object or substring) is within 1.65 + the top level window. In cases where the entire object or substring fits within 1.66 + the top level window, the placement of the object or substring is dependent on 1.67 + the application. For example, the object or substring may be scrolled to the 1.68 + closest edge, the furthest edge, or midway between those two edges. In cases 1.69 + where there is a hierarchy of nested scrollable controls, more than one control 1.70 + may have to be scrolled. 1.71 + */ 1.72 + IA2_SCROLL_TYPE_TOP_LEFT, 1.73 + 1.74 + /** Scroll the bottom right corner of the object or substring such that the bottom right 1.75 + corner (and as much as possible of the rest of the object or substring) is within 1.76 + the top level window. In cases where the entire object or substring fits within 1.77 + the top level window, the placement of the object or substring is dependent on 1.78 + the application. For example, the object or substring may be scrolled to the 1.79 + closest edge, the furthest edge, or midway between those two edges. In cases 1.80 + where there is a hierarchy of nested scrollable controls, more than one control 1.81 + may have to be scrolled. 1.82 + */ 1.83 + IA2_SCROLL_TYPE_BOTTOM_RIGHT, 1.84 + 1.85 + /** Scroll the top edge of the object or substring such that the top edge 1.86 + (and as much as possible of the rest of the object or substring) is within the 1.87 + top level window. In cases where the entire object or substring fits within 1.88 + the top level window, the placement of the object or substring is dependent on 1.89 + the application. For example, the object or substring may be scrolled to the 1.90 + closest edge, the furthest edge, or midway between those two edges. In cases 1.91 + where there is a hierarchy of nested scrollable controls, more than one control 1.92 + may have to be scrolled. 1.93 + */ 1.94 + IA2_SCROLL_TYPE_TOP_EDGE, 1.95 + 1.96 + /** Scroll the bottom edge of the object or substring such that the bottom edge 1.97 + (and as much as possible of the rest of the object or substring) is within the 1.98 + top level window. In cases where the entire object or substring fits within 1.99 + the top level window, the placement of the object or substring is dependent on 1.100 + the application. For example, the object or substring may be scrolled to the 1.101 + closest edge, the furthest edge, or midway between those two edges. In cases 1.102 + where there is a hierarchy of nested scrollable controls, more than one control 1.103 + may have to be scrolled. 1.104 + */ 1.105 + IA2_SCROLL_TYPE_BOTTOM_EDGE, 1.106 + 1.107 + /** Scroll the left edge of the object or substring such that the left edge 1.108 + (and as much as possible of the rest of the object or substring) is within the 1.109 + top level window. In cases where the entire object or substring fits within 1.110 + the top level window, the placement of the object or substring is dependent on 1.111 + the application. For example, the object or substring may be scrolled to the 1.112 + closest edge, the furthest edge, or midway between those two edges. In cases 1.113 + where there is a hierarchy of nested scrollable controls, more than one control 1.114 + may have to be scrolled. 1.115 + */ 1.116 + IA2_SCROLL_TYPE_LEFT_EDGE, 1.117 + 1.118 + /** Scroll the right edge of the object or substring such that the right edge 1.119 + (and as much as possible of the rest of the object or substring) is within the 1.120 + top level window. In cases where the entire object or substring fits within 1.121 + the top level window, the placement of the object or substring is dependent on 1.122 + the application. For example, the object or substring may be scrolled to the 1.123 + closest edge, the furthest edge, or midway between those two edges. In cases 1.124 + where there is a hierarchy of nested scrollable controls, more than one control 1.125 + may have to be scrolled. 1.126 + */ 1.127 + IA2_SCROLL_TYPE_RIGHT_EDGE, 1.128 + 1.129 + /** Scroll the object or substring such that as much as possible of the 1.130 + object or substring is within the top level window. The placement of 1.131 + the object is dependent on the application. For example, the object or 1.132 + substring may be scrolled to to closest edge, the furthest edge, or midway 1.133 + between those two edges. 1.134 + */ 1.135 + IA2_SCROLL_TYPE_ANYWHERE 1.136 +}; 1.137 + 1.138 +/** These constants define which coordinate system a point is located in. 1.139 + 1.140 + This enum is used in IAccessible2::scrollToPoint, IAccessibleImage::imagePosition, 1.141 + IAccessibleText::characterExtents, and IAccessibleText::offsetAtPoint, and 1.142 + IAccessibleText::scrollSubstringToPoint. 1.143 +*/ 1.144 +enum IA2CoordinateType { 1.145 + 1.146 + /// The coordinates are relative to the screen. 1.147 + IA2_COORDTYPE_SCREEN_RELATIVE, 1.148 + 1.149 + /** The coordinates are relative to the upper left corner of the bounding box 1.150 + of the immediate parent. 1.151 + */ 1.152 + IA2_COORDTYPE_PARENT_RELATIVE 1.153 + 1.154 +}; 1.155 + 1.156 +/** Special offsets for use in IAccessibleText and IAccessibleEditableText methods 1.157 + 1.158 + Refer to @ref _specialOffsets 1.159 + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 1.160 + for more information. 1.161 +*/ 1.162 +enum IA2TextSpecialOffsets { 1.163 + IA2_TEXT_OFFSET_LENGTH = -1, /**< This offset is equivalent to the length of the string. It eliminates 1.164 + the need to call IAccessibleText::nCharacters. */ 1.165 + IA2_TEXT_OFFSET_CARET = -2 /**< This offset signifies that the text related to the physical location 1.166 + of the caret should be used. */ 1.167 +}; 1.168 + 1.169 +/** These constants specify the kind of change made to a table. 1.170 + 1.171 + This enum is used in the IA2TableModelChange struct which in turn is used by 1.172 + IAccessibleTable::modelChange and IAccessibleTable2::modelChange. 1.173 +*/ 1.174 +enum IA2TableModelChangeType { 1.175 + IA2_TABLE_MODEL_CHANGE_INSERT, // = 0; 1.176 + IA2_TABLE_MODEL_CHANGE_DELETE, 1.177 + IA2_TABLE_MODEL_CHANGE_UPDATE 1.178 +}; 1.179 + 1.180 +/** A structure defining the type of and extents of changes made to a table 1.181 + 1.182 + IAccessibleTable::modelChange and IAccessibleTable2::modelChange return this struct. 1.183 + In the case of an insertion or change the row and column offsets define the boundaries 1.184 + of the inserted or changed subtable after the operation. In the case of a deletion 1.185 + the row and column offsets define the boundaries of the subtable being removed before 1.186 + the removal. 1.187 +*/ 1.188 +typedef struct IA2TableModelChange { 1.189 + enum IA2TableModelChangeType type; // insert, delete, update 1.190 + long firstRow; ///< 0 based, inclusive 1.191 + long lastRow; ///< 0 based, inclusive 1.192 + long firstColumn; ///< 0 based, inclusive 1.193 + long lastColumn; ///< 0 based, inclusive 1.194 +} IA2TableModelChange;