1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/other-licenses/ia2/AccessibleStates.idl Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,209 @@ 1.4 +/************************************************************************* 1.5 + * 1.6 + * File Name (AccessibleStates.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 +import "objidl.idl"; 1.58 + 1.59 +typedef long AccessibleStates; 1.60 + 1.61 +/** %IAccessible2 specific state bit constants 1.62 + 1.63 + This enum defines the state bits returned by IAccessible2::states. The 1.64 + %IAccessible2 state bits are in addition to those returned by MSAA. 1.65 +*/ 1.66 +enum IA2States { 1.67 + 1.68 +/** Indicates a window is currently the active window, or is an active subelement 1.69 + within a container or table. 1.70 + 1.71 + This state can be used to indicate the current active item in a container, even 1.72 + if the container itself is not currently active. In other words this would indicate 1.73 + the item that will get focus if you tab to the container. 1.74 + 1.75 + This information is important for knowing what to report for trees and potentially 1.76 + other containers in a virtual buffer. 1.77 + 1.78 + Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information. 1.79 +*/ 1.80 +IA2_STATE_ACTIVE = 0x1, 1.81 + 1.82 +/** Indicates that the object is armed. 1.83 + 1.84 + Used to indicate that the control is "pressed" and will be invoked when the 1.85 + actuator, e.g. a mouse button, is "released". An AT which either monitors the 1.86 + mouse or synthesizes mouse events might need to know that, and possibly a talking 1.87 + interface would even let the user know about it. It could also potentially be 1.88 + useful to on screen keyboards or test tools since the information does indicate 1.89 + something about the state of the interface, for example, code operating asynchronously 1.90 + might need to wait for the armed state to change before doing something else. 1.91 + 1.92 +*/ 1.93 +IA2_STATE_ARMED = 0x2, 1.94 + 1.95 +/** Indicates the user interface object corresponding to this object no longer exists. */ 1.96 +IA2_STATE_DEFUNCT = 0x4, 1.97 + 1.98 +/** An object with this state has a caret and implements the IAccessibleText interface. 1.99 + 1.100 + Such fields may be read-only, so STATE_SYSTEM_READONLY is valid in combination 1.101 + with IA2_STATE_EDITABLE. 1.102 + 1.103 +*/ 1.104 +IA2_STATE_EDITABLE = 0x8, 1.105 + 1.106 +/** Indicates the orientation of this object is horizontal. */ 1.107 +IA2_STATE_HORIZONTAL = 0x10, 1.108 + 1.109 +/** Indicates this object is minimized and is represented only by an icon. */ 1.110 +IA2_STATE_ICONIFIED = 0x20, 1.111 + 1.112 +/** Indicates an input validation failure. */ 1.113 +IA2_STATE_INVALID_ENTRY = 0x40, 1.114 + 1.115 +/** Indicates that this object manages its children. 1.116 + 1.117 + Note: Due to the fact that MSAA's WinEvents don't allow the active child index 1.118 + to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages 1.119 + descendants scheme can't be used. Instead the active child object has to fire 1.120 + MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be 1.121 + added to provide for event specific data to be passed with the event. At that 1.122 + time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and 1.123 + IA2_STATE_MANAGES_DESCENDANTS state would be useful. 1.124 +*/ 1.125 +IA2_STATE_MANAGES_DESCENDANTS = 0x80, 1.126 + 1.127 +/** Indicates that an object is modal. 1.128 + 1.129 + Modal objects have the behavior that something must be done with the object 1.130 + before the user can interact with an object in a different window. 1.131 +*/ 1.132 +IA2_STATE_MODAL = 0x100, 1.133 + 1.134 +/** Indicates this text object can contain multiple lines of text. */ 1.135 +IA2_STATE_MULTI_LINE = 0x200, 1.136 + 1.137 +/** Indicates this object paints every pixel within its rectangular region. */ 1.138 +IA2_STATE_OPAQUE = 0x400, 1.139 + 1.140 +/** Indicates that user interaction is required. 1.141 + 1.142 + An example of when this state is used is when a field in a form must be filled 1.143 + before a form can be processed. 1.144 +*/ 1.145 +IA2_STATE_REQUIRED = 0x800, 1.146 + 1.147 +/** Indicates an object which supports text selection. 1.148 + 1.149 + Note: This is different than MSAA STATE_SYSTEM_SELECTABLE. 1.150 +*/ 1.151 +IA2_STATE_SELECTABLE_TEXT = 0x1000, 1.152 + 1.153 +/** Indicates that this text object can contain only a single line of text. */ 1.154 +IA2_STATE_SINGLE_LINE = 0x2000, 1.155 + 1.156 +/** Indicates that the accessible object is stale. 1.157 + 1.158 + This state is used when the accessible object no longer accurately 1.159 + represents the state of the object which it is representing such as when an 1.160 + object is transient or when an object has been or is in the process of being 1.161 + destroyed or when the object's index in its parent has changed. 1.162 +*/ 1.163 +IA2_STATE_STALE = 0x4000, 1.164 + 1.165 +/** Indicates that the object implements autocompletion. 1.166 + 1.167 + This state indicates that a text control will respond to the input of 1.168 + one ore more characters and cause a sub-item to become selected. The 1.169 + selection may also result in events fired on the parent object. 1.170 +*/ 1.171 +IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000, 1.172 + 1.173 +/** Indicates this object is transient. 1.174 + 1.175 + An object has this state when its parent object has the state ::IA2_STATE_MANAGES_DESCENDANTS. 1.176 + For example, a list item object may be managed by its parent list object and may only 1.177 + exist as long as the object is actually rendered. Similarly a table cell's accessible 1.178 + object may exist only while the cell has focus. However, from the perspective of an 1.179 + assistive technology a transient object behaves like a non-transient object. As a 1.180 + result it is likely that this state is not of use to an assistive technology, but it 1.181 + is provided in case an assistive technology determines that knowledge of the transient 1.182 + nature of the object is useful and also for harmony with the Linux accessibility API. 1.183 + 1.184 + Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information. 1.185 + */ 1.186 +IA2_STATE_TRANSIENT = 0x10000, 1.187 + 1.188 +/** Indicates the orientation of this object is vertical. */ 1.189 +IA2_STATE_VERTICAL = 0x20000, 1.190 + 1.191 +/** Indicates this object is checkable. 1.192 + 1.193 + The standard checkable objects are check boxes, radio buttons, check box menu 1.194 + items, radio menu items, and toggle buttons. Since assistive technology will 1.195 + determine that these objects are checkable via the object's role the checkable 1.196 + state is not required. However, this state is necessary in those cases where 1.197 + an object has a role which is not one of the previously mentioned roles. An 1.198 + example is a table cell which indicates whether or not an email has an attachment, 1.199 + whether or not an mail is considered spam, and whether or not an email has been read. 1.200 + */ 1.201 +IA2_STATE_CHECKABLE = 0x40000, 1.202 + 1.203 +/** Indicates this object is pinned. 1.204 + 1.205 + This state indicates that an object is fixed at a certain location. One example 1.206 + is a browser tab that when pinned cannot be moved until unpinned. Another example 1.207 + is a movable or floating object that when pinned remains in its pinned location 1.208 + until being unpinned. 1.209 + */ 1.210 +IA2_STATE_PINNED = 0x80000 1.211 + 1.212 +};