other-licenses/ia2/IA2CommonTypes.idl

changeset 0
6474c204b198
     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;

mercurial