15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * File Name (api_all_headers.idl) 4010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 5010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * IAccessible2 IDL Specification 6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2013 Linux Foundation 8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * All rights reserved. 9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Redistribution and use in source and binary forms, with or without 12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * modification, are permitted provided that the following conditions 13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * are met: 14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * notice, this list of conditions and the following disclaimer. 17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 18010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 19010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * copyright notice, this list of conditions and the following 20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * disclaimer in the documentation and/or other materials 21010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * provided with the distribution. 22010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 23010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 24010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * contributors may be used to endorse or promote products 25010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * derived from this software without specific prior written 26010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * permission. 27010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 28010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 29010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 30010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 31010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 32010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 33010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 34010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 35010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 36010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 37010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 38010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 39010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 40010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 42010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 43010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * BSD License" as published at: 44010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 45010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 46010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 47010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 48010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 49010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 50010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ************************************************************************/ 51010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 52010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)import "objidl.idl"; 53010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)import "oaidl.idl"; 54010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)import "oleacc.idl"; 55010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 56010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/************************************************************************* 57010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (IA2CommonTypes.idl) 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 62010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2013 Linux Foundation 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** These constants control the scrolling of an object or substring into a window. 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This enum is used in IAccessible2::scrollTo and IAccessibleText::scrollSubstringTo. 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum IA2ScrollType { 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Scroll the top left corner of the object or substring such that the top left 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) corner (and as much as possible of the rest of the object or substring) is within 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the top level window. In cases where the entire object or substring fits within 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the top level window, the placement of the object or substring is dependent on 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the application. For example, the object or substring may be scrolled to the 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) closest edge, the furthest edge, or midway between those two edges. In cases 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) where there is a hierarchy of nested scrollable controls, more than one control 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) may have to be scrolled. 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_SCROLL_TYPE_TOP_LEFT, 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Scroll the bottom right corner of the object or substring such that the bottom right 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) corner (and as much as possible of the rest of the object or substring) is within 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the top level window. In cases where the entire object or substring fits within 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the top level window, the placement of the object or substring is dependent on 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the application. For example, the object or substring may be scrolled to the 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) closest edge, the furthest edge, or midway between those two edges. In cases 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) where there is a hierarchy of nested scrollable controls, more than one control 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) may have to be scrolled. 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_SCROLL_TYPE_BOTTOM_RIGHT, 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Scroll the top edge of the object or substring such that the top edge 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) (and as much as possible of the rest of the object or substring) is within the 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) top level window. In cases where the entire object or substring fits within 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the top level window, the placement of the object or substring is dependent on 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the application. For example, the object or substring may be scrolled to the 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) closest edge, the furthest edge, or midway between those two edges. In cases 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) where there is a hierarchy of nested scrollable controls, more than one control 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) may have to be scrolled. 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_SCROLL_TYPE_TOP_EDGE, 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Scroll the bottom edge of the object or substring such that the bottom edge 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) (and as much as possible of the rest of the object or substring) is within the 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) top level window. In cases where the entire object or substring fits within 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the top level window, the placement of the object or substring is dependent on 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the application. For example, the object or substring may be scrolled to the 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) closest edge, the furthest edge, or midway between those two edges. In cases 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) where there is a hierarchy of nested scrollable controls, more than one control 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) may have to be scrolled. 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_SCROLL_TYPE_BOTTOM_EDGE, 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Scroll the left edge of the object or substring such that the left edge 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) (and as much as possible of the rest of the object or substring) is within the 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) top level window. In cases where the entire object or substring fits within 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the top level window, the placement of the object or substring is dependent on 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the application. For example, the object or substring may be scrolled to the 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) closest edge, the furthest edge, or midway between those two edges. In cases 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) where there is a hierarchy of nested scrollable controls, more than one control 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) may have to be scrolled. 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_SCROLL_TYPE_LEFT_EDGE, 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Scroll the right edge of the object or substring such that the right edge 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) (and as much as possible of the rest of the object or substring) is within the 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) top level window. In cases where the entire object or substring fits within 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the top level window, the placement of the object or substring is dependent on 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the application. For example, the object or substring may be scrolled to the 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) closest edge, the furthest edge, or midway between those two edges. In cases 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) where there is a hierarchy of nested scrollable controls, more than one control 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) may have to be scrolled. 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_SCROLL_TYPE_RIGHT_EDGE, 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Scroll the object or substring such that as much as possible of the 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) object or substring is within the top level window. The placement of 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the object is dependent on the application. For example, the object or 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) substring may be scrolled to to closest edge, the furthest edge, or midway 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) between those two edges. 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_SCROLL_TYPE_ANYWHERE 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** These constants define which coordinate system a point is located in. 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This enum is used in IAccessible2::scrollToPoint, IAccessibleImage::imagePosition, 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleText::characterExtents, and IAccessibleText::offsetAtPoint, and 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleText::scrollSubstringToPoint. 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum IA2CoordinateType { 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// The coordinates are relative to the screen. 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_COORDTYPE_SCREEN_RELATIVE, 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The coordinates are relative to the upper left corner of the bounding box 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) of the immediate parent. 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_COORDTYPE_PARENT_RELATIVE 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Special offsets for use in IAccessibleText and IAccessibleEditableText methods 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Refer to @ref _specialOffsets 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for more information. 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum IA2TextSpecialOffsets { 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_TEXT_OFFSET_LENGTH = -1, /**< This offset is equivalent to the length of the string. It eliminates 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the need to call IAccessibleText::nCharacters. */ 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_TEXT_OFFSET_CARET = -2 /**< This offset signifies that the text related to the physical location 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) of the caret should be used. */ 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** These constants specify the kind of change made to a table. 2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This enum is used in the IA2TableModelChange struct which in turn is used by 2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleTable::modelChange and IAccessibleTable2::modelChange. 2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum IA2TableModelChangeType { 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_TABLE_MODEL_CHANGE_INSERT, // = 0; 2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_TABLE_MODEL_CHANGE_DELETE, 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_TABLE_MODEL_CHANGE_UPDATE 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** A structure defining the type of and extents of changes made to a table 2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleTable::modelChange and IAccessibleTable2::modelChange return this struct. 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) In the case of an insertion or change the row and column offsets define the boundaries 2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) of the inserted or changed subtable after the operation. In the case of a deletion 2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the row and column offsets define the boundaries of the subtable being removed before 2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the removal. 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct IA2TableModelChange { 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) enum IA2TableModelChangeType type; // insert, delete, update 2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) long firstRow; ///< 0 based, inclusive 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) long lastRow; ///< 0 based, inclusive 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) long firstColumn; ///< 0 based, inclusive 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) long lastColumn; ///< 0 based, inclusive 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} IA2TableModelChange; 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleRelation.idl) 2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 253010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2013 Linux Foundation 2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 300010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 301010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 302010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @defgroup grpRelations Relations 3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Use the following constants to compare against the BSTRs returned by 3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleRelation::relationType. 3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)///@{ 3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 310010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** The target object is the containing application object. */ 311010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)const WCHAR *const IA2_RELATION_CONTAINING_APPLICATION = L"containingApplication"; 312010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 313010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** The target object is the containing document object. The target object implements 314010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) the IAccessibleDocument interface. 315010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)*/ 316010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)const WCHAR *const IA2_RELATION_CONTAINING_DOCUMENT = L"containingDocument"; 317010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 318010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** The target object is the containing tab pane object. */ 319010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)const WCHAR *const IA2_RELATION_CONTAINING_TAB_PANE = L"containingTabPane"; 320010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 321010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** The target object is the containing window object. */ 322010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)const WCHAR *const IA2_RELATION_CONTAINING_WINDOW = L"containingWindow"; 323010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Some attribute of this object is affected by a target object. */ 3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_CONTROLLED_BY = L"controlledBy"; 3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This object is interactive and controls some attribute of a target object. */ 3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_CONTROLLER_FOR = L"controllerFor"; 3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This object is described by the target object. */ 3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_DESCRIBED_BY = L"describedBy"; 3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This object is describes the target object. */ 3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_DESCRIPTION_FOR = L"descriptionFor"; 3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This object is embedded by a target object. */ 3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_EMBEDDED_BY = L"embeddedBy"; 3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This object embeds a target object. This relation can be used on the 3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) OBJID_CLIENT accessible for a top level window to show where the content 3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) areas are. 3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_EMBEDS = L"embeds"; 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Content flows to this object from a target object. 3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This relation and IA2_RELATION_FLOWS_TO are useful to tie text and non-text 3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) objects together in order to allow assistive technology to follow the 3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) intended reading order. 3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_FLOWS_FROM = L"flowsFrom"; 3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Content flows from this object to a target object. */ 3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_FLOWS_TO = L"flowsTo"; 3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This object is label for a target object. */ 3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_LABEL_FOR = L"labelFor"; 3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This object is labelled by a target object. Note that the double L spelling 3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) which follows is preferred. Please use it instead. This single L version may 3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) be removed in a later version. 3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_LABELED_BY = L"labelledBy"; 3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This object is labelled by a target object. */ 3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_LABELLED_BY = L"labelledBy"; 3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This object is a member of a group of one or more objects. When 3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) there is more than one object in the group each member may have one and the 3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) same target, e.g. a grouping object. It is also possible that each member has 3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) multiple additional targets, e.g. one for every other member in the group. 3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_MEMBER_OF = L"memberOf"; 3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 374010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** The target object is the next object in the tab order. */ 375010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)const WCHAR *const IA2_RELATION_NEXT_TABBABLE = L"nextTabbable"; 376010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 377010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** This object is a logical child of a target object. This relation is the reciprocal 378010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) of the IA2_RELATION_NODE_PARENT_OF relation. In some cases an application's accessible 379010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) tree is such that objects can be in a logical parent-child relationship which is 380010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) different from the hierarchy of the accessible tree. */ 3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_NODE_CHILD_OF = L"nodeChildOf"; 3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 383010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** This object is a logical parent of a target object. This relation is the reciprocal 384010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) of the IA2_RELATION_NODE_CHILD_OF relation. In some cases an application's accessible 385010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) tree is such that objects can be in a logical parent-child relationship which is 386010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) different from the hierarchy of the accessible tree. */ 387010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)const WCHAR *const IA2_RELATION_NODE_PARENT_OF = L"nodeParentOf"; 388010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This object is a parent window of the target object. */ 3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_PARENT_WINDOW_OF = L"parentWindowOf"; 3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This object is a transient component related to the target object. 393010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) When this object is activated the target object doesn't lose focus. 3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_POPUP_FOR = L"popupFor"; 3965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 397010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** The target object is the previous object in the tab order. */ 398010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)const WCHAR *const IA2_RELATION_PREVIOUS_TABBABLE = L"previousTabbable"; 399010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This object is a sub window of a target object. */ 4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const WCHAR *const IA2_RELATION_SUBWINDOW_OF = L"subwindowOf"; 4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)///@} 4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 405010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** This interface gives access to an object's set of relations. 406010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)*/ 4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(7CDF86EE-C3DA-496a-BDA4-281B336E1FDC)] 4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleRelation : IUnknown 4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the type of the relation. 4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] relationType 4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The strings returned are defined @ref grpRelations "in this section of the documentation". 4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT relationType 4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *relationType 4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a localized version of the relation type. 4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] localizedRelationType 4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT localizedRelationType 4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *localizedRelationType 4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the number of targets for this relation. 4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nTargets 4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nTargets 4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nTargets 4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns one accessible relation target. 4395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] targetIndex 4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index 4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] target 4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 443010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 4445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @note Use QueryInterface to get IAccessible2. 4455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 4465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT target 4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 4485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long targetIndex, 4495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IUnknown **target 4505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 4515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns multiple accessible relation targets 4535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] maxTargets 4545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) maximum size of the array allocated by the client 4555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] targets 4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The array of target objects. Note that this array is to be allocated by the 4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) client and freed when no longer needed. Refer to @ref _arrayConsideration 4585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Special Consideration when using Arrays" for more details. You will need to use 4595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) QueryInterface on the IUnknown to get the IAccessible2. 4605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nTargets 4615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) actual number of targets in the returned array (not more than maxTargets) 4625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 463010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, e.g. a negative value 4645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 4655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT targets 4665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 4675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long maxTargets, 4685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, size_is(maxTargets), length_is(*nTargets)] 4695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IUnknown **targets, 4705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nTargets 4715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 4725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 4745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 4755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 4765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleAction.idl) 4775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 4785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 4795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 480010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2013 Linux Foundation 4815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 4825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 4835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 4845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 4855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 4865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 4875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 4885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 4895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 4905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 4915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 4925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 4935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 4945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 4975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 4985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 4995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 5005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 5015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 5025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 5035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 5045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 5055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 5065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 5075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 5085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 5095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 5105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 5115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 5125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 5135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 5145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 5155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 5165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 5175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 5185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 5195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 5205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 5215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 5225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 5235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 5245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 5255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 5265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 527010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 528010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 529010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 530010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 531010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** This enum defines values which are predefined actions for use when implementing 532010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) support for media. 533010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 534010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) This enum is used when specifying an action for IAccessibleAction::doAction. 535010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)*/ 536010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 537010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)enum IA2Actions { 538010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IA2_ACTION_OPEN = -1, /**< Used to inform the server that the client will 539010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) signal via IA2_ACTION_COMPLETE when it has consumed 540010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) the content provided by the object. This action 541010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) allows the object's server to wait for all clients 542010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) to signal their readiness for additional content. 543010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Any form of content generation that requires 544010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) synchronization with an AT would require use of this 545010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) action. One example is the generation of text describing 546010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) visual content not obvious from a video's sound track. 547010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) In this scenario the Text to Speech or Braille output 548010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) may take more time than the related length of silence 549010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) in the video's sound track. */ 550010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IA2_ACTION_COMPLETE = -2, /**< Used by the client to inform the server that it has 551010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) consumed the most recent content provided by this object. */ 552010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IA2_ACTION_CLOSE = -3 /**< Used to inform the server that the client no longer 553010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) requires synchronization. */ 554010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}; 5555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @brief This interface gives access to actions that can be executed 5575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for accessible objects. 5585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Every accessible object that can be manipulated via the native GUI beyond the 5605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) methods available either in the MSAA IAccessible interface or in the set of 5615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessible2 interfaces (other than this IAccessibleAction interface) should 5625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) support the IAccessibleAction interface in order to provide Assistive Technology 5635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) access to all the actions that can be performed by the object. Each action can 5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) be performed or queried for a name, description or associated key bindings. 5655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Actions are needed more for ATs that assist the mobility impaired, such as 5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) on-screen keyboards and voice command software. By providing actions directly, 5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the AT can present them to the user without the user having to perform the extra 5685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) steps to navigate a context menu. 5695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The first action should be equivalent to the MSAA default action. If there is 5715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) only one action, %IAccessibleAction should also be implemented. 5725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 5735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(B70D9F59-3B5A-4dba-AB9E-22012F607DF5)] 5745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleAction : IUnknown 5755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the number of accessible actions available in this object. 5785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) If there are more than one, the first one is considered the 5805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "default" action of the object. 5815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nActions 5825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The returned value of the number of actions is zero if there are 5835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) no actions. 5845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 5855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @note This method is missing a [propget] prefix in the IDL. The result is the 5865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) method is named nActions in generated C++ code instead of get_nActions. 5875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 5885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT nActions 5895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 5905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out,retval] long* nActions 5915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 5925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Performs the specified Action on the object. 5945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] actionIndex 5955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index specifying the action to perform. If it lies outside 5965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the valid range no action is performed. 5975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 598010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if action could not be performed 599010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 600010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note If implementing support for media, refer to the predefined constants in the ::IA2Actions enum. 6015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 6025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT doAction 6035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 6045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long actionIndex 6055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 6065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a description of the specified action of the object. 6085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] actionIndex 6095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index specifying which action's description to return. 6105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) If it lies outside the valid range an empty string is returned. 6115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] description 6125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The returned value is a localized string of the specified action. 6135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 6145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 615010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 6165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 6175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT description 6185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 6195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long actionIndex, 6205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *description 6215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 6225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns an array of BSTRs describing one or more key bindings, if 6245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) there are any, associated with the specified action. 6255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The returned strings are the localized human readable key sequences to be 6275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) used to activate each action, e.g. "Ctrl+Shift+D". Since these key 6285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) sequences are to be used when the object has focus, they are like 6295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mnemonics (access keys), and not like shortcut (accelerator) keys. 6305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) There is no need to implement this method for single action controls since 6325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) that would be redundant with the standard MSAA programming practice of 6335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) getting the mnemonic from get_accKeyboardShortcut. 6345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) An AT such as an On Screen Keyboard might not expose these bindings but 6365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) provide alternative means of activation. 6375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Note: the client allocates and passes in an array of pointers. The server 6395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) allocates the BSTRs and passes back one or more pointers to these BSTRs into 6405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the array of pointers allocated by the client. The client is responsible 6415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for deallocating the BSTRs. 6425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] actionIndex 6445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index specifying which action's key bindings should be returned. 6455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] nMaxBindings 6465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This parameter is ignored. Refer to @ref _arrayConsideration 6475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Special Consideration when using Arrays" for more details. 6485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] keyBindings 6495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) An array of BSTRs, allocated by the server, one for each key binding. 650010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The client must free it with CoTaskMemFree. 6515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nBindings 6525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The number of key bindings returned; the size of the returned array. 6535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 654010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if there are no key bindings, [out] values are NULL and 0 respectively 655010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 6565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 6575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT keyBinding 6585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 6595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long actionIndex, 6605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long nMaxBindings, 6615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, size_is(,nMaxBindings), length_is(,*nBindings)] BSTR **keyBindings, 6625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nBindings 6635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 6645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the non-localized name of specified action. 6665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] actionIndex 6675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index specifying which action's non-localized name should be returned. 6685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] name 6695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 6705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 671010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 6725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 6735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT name 6745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 6755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long actionIndex, 6765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *name 6775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 6785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the localized name of specified action. 6805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] actionIndex 6815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index specifying which action's localized name should be returned. 6825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] localizedName 6835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 6845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 685010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 6865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 6875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT localizedName 6885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 6895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long actionIndex, 6905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *localizedName 6915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 6925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 6945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 6955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 6965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleRole.idl) 6975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 6985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 6995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 700010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2013 Linux Foundation 7015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 7025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 7035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 7045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 7055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 7065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 7075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 7085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 7095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 7105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 7115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 7125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 7135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 7145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 7155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 7165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 7175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 7185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 7195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 7205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 7215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 7225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 7235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 7245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 7255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 7265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 7275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 7285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 7295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 7305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 7315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 7325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 7335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 7345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 7355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 7365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 7375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 7385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 7395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 7405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 7415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 7425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 7435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 7445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 7455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 7465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 747010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 7485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Collection of roles 7505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This enumerator defines an extended set of accessible roles of objects implementing 7525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the %IAccessible2 interface. These roles are in addition to the MSAA roles obtained 7535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) through the MSAA get_accRole method. Examples are 'footnote', 'heading', and 7545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 'label'. You obtain an object's %IAccessible2 roles by calling IAccessible2::role. 7555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 7565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum IA2Role { 7575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Unknown role. The object contains some Accessible information, but its 7595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) role is not known. 7605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 7615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_UNKNOWN = 0, 7625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** An object that can be drawn into and to manage events from the objects 7645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) drawn into it. Also refer to ::IA2_ROLE_FRAME, 7655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE. 7665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 7675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_CANVAS = 0x401, 7685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// A caption describing another object. 7705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_CAPTION, 7715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// Used for check buttons that are menu items. 7735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_CHECK_MENU_ITEM, 7745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// A specialized dialog that lets the user choose a color. 7765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_COLOR_CHOOSER, 7775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// A date editor. 7795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_DATE_EDITOR, 7805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE. 7825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to ::IA2_ROLE_INTERNAL_FRAME. 7835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 7845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_DESKTOP_ICON, 7855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A desktop pane. A pane that supports internal frames and iconified 7875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) versions of those internal frames. Also refer to ::IA2_ROLE_INTERNAL_FRAME. 7885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 7895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_DESKTOP_PANE, 7905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A directory pane. A pane that allows the user to navigate through 7925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) and select the contents of a directory. May be used by a file chooser. 7935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to ::IA2_ROLE_FILE_CHOOSER. 7945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 7955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_DIRECTORY_PANE, 7965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 797010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** An editable text object in a toolbar. <b>Deprecated.</b> 798010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The edit bar role was meant for a text area in a tool bar. However, to detect 799010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) a text area in a tool bar the AT can query the parent. 8005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_EDITBAR, 8025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// Embedded (OLE) object. 8045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_EMBEDDED_OBJECT, 8055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// Text that is used as an endnote (footnote at the end of a chapter or section). 8075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_ENDNOTE, 8085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A file chooser. A specialized dialog that displays the files in the 8105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) directory and lets the user select a file, browse a different directory, 8115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) or specify a filename. May use the directory pane to show the contents of 8125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) a directory. 8135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to ::IA2_ROLE_DIRECTORY_PANE. 8145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_FILE_CHOOSER, 8165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A font chooser. A font chooser is a component that lets the user pick 8185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) various attributes for fonts. 8195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_FONT_CHOOSER, 8215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Footer of a document page. 8235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to ::IA2_ROLE_HEADER. 8245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_FOOTER, 8265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// Text that is used as a footnote. Also refer to ::IA2_ROLE_ENDNOTE. 8285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_FOOTNOTE, 8295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A container of form controls. An example of the use of this role is to 8315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) represent an HTML FORM tag. 8325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_FORM, 8345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Frame role. A top level window with a title bar, border, menu bar, etc. 8365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) It is often used as the primary window for an application. Also refer to 8375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2_ROLE_CANVAS and the MSAA roles of dialog and window. 8385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_FRAME, 8405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A glass pane. A pane that is guaranteed to be painted on top of all panes 8425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) beneath it. Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_INTERNAL_FRAME, and 8435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2_ROLE_ROOT_PANE. 8445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_GLASS_PANE, 8465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Header of a document page. 8485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to ::IA2_ROLE_FOOTER. 8495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_HEADER, 8515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 852010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /// Heading. Use the IAccessible2::attributes level attribute to determine the heading level. 8535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_HEADING, 8545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// A small fixed size picture, typically used to decorate components. 8565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_ICON, 8575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** An image map object. Usually a graphic with multiple hotspots, where 8595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) each hotspot can be activated resulting in the loading of another document 8605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) or section of a document. 8615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_IMAGE_MAP, 8635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** An object which is used to allow input of characters not found on a keyboard, 8655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) such as the input of Chinese characters on a Western keyboard. 8665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_INPUT_METHOD_WINDOW, 8685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** An internal frame. A frame-like object that is clipped by a desktop pane. 8705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The desktop pane, internal frame, and desktop icon objects are often used to 8715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) create multiple document interfaces within an application. 8725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROLE_FRAME. 8735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_INTERNAL_FRAME, 8755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// An object used to present an icon or short string in an interface. 8775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_LABEL, 8785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A layered pane. A specialized pane that allows its children to be drawn 8805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) in layers, providing a form of stacking order. This is usually the pane that 8815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) holds the menu bar as well as the pane that contains most of the visual 8825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) components in a window. 8835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_PANE. 8845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_LAYERED_PANE, 8865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 887010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** A section whose content is parenthetic or ancillary to the main content 888010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) of the resource. 889010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 8905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_NOTE, 8915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A specialized pane whose primary use is inside a dialog. 8935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to MSAA's dialog role. 8945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 8955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_OPTION_PANE, 8965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** An object representing a page of document content. It is used in documents 8985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) which are accessed by the user on a page by page basis. 8995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 9005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_PAGE, 9015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// A paragraph of text. 9035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_PARAGRAPH, 9045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A radio button that is a menu item. 9065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to MSAA's button and menu item roles. 9075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 9085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_RADIO_MENU_ITEM, 9095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** An object which is redundant with another object in the accessible hierarchy. 9115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ATs typically ignore objects with this role. 9125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 9135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_REDUNDANT_OBJECT, 9145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A root pane. A specialized pane that has a glass pane and a layered pane 9165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) as its children. 9175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE 9185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 9195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_ROOT_PANE, 9205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A ruler such as those used in word processors. 9225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 9235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_RULER, 9245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A scroll pane. An object that allows a user to incrementally view a large 9265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) amount of information. Its children can include scroll bars and a viewport. 9275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role. 9285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 9295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_SCROLL_PANE, 9305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A container of document content. An example of the use of this role is to 9325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) represent an HTML DIV tag. A section may be used as a region. A region is a 9335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) group of elements that together form a perceivable unit. A region does not 9345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) necessarily follow the logical structure of the content, but follows the 9355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) perceivable structure of the page. A region may have an attribute in the set 9365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) of IAccessible2::attributes which indicates that it is "live". A live region 9375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is content that is likely to change in response to a timed change, a user 9385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) event, or some other programmed logic or event. 9395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 9405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_SECTION, 9415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// Object with graphical representation used to represent content on draw pages. 9435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_SHAPE, 9445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A split pane. A specialized panel that presents two other panels at the 9465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) same time. Between the two panels is a divider the user can manipulate to make 9475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) one panel larger and the other panel smaller. 9485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 9495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_SPLIT_PANE, 9505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** An object that forms part of a menu system but which can be "undocked" 9525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) from or "torn off" the menu system to exist as a separate window. 9535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 9545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_TEAR_OFF_MENU, 9555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// An object used as a terminal emulator. 9575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_TERMINAL, 9585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /// Collection of objects that constitute a logical text entity. 9605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_TEXT_FRAME, 9615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A toggle button. A specialized push button that can be checked or unchecked, 9635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) but does not provide a separate indicator for the current state. 9645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to MSAA's roles of push button, check box, and radio button. 9655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used. Instead, use MSAA's 9665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED. 9675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 9685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_ROLE_TOGGLE_BUTTON, 9695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A viewport. An object usually used in a scroll pane. It represents the 9715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) portion of the entire data that the user can see. As the user manipulates 9725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the scroll bars, the contents of the viewport can change. 9735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also refer to ::IA2_ROLE_SCROLL_PANE. 9745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 975010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IA2_ROLE_VIEW_PORT, 976010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 977010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** An object containing content which is complementary to the main content of 978010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) a document, but remains meaningful when separated from the main content. There 979010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) are various types of content that would appropriately have this role. For example, 980010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) in the case where content is delivered via a web portal to a web browser, this may 981010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) include but not be limited to show times, current weather, related articles, or 982010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) stocks to watch. The complementary role indicates that contained content is relevant 983010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) to the main content. If the complementary content is completely separable main 984010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) content, it may be appropriate to use a more general role. 985010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 986010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IA2_ROLE_COMPLEMENTARY_CONTENT 9875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 9895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 9905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 9915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleStates.idl) 9925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 9935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 9945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 9955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2007, 2010 Linux Foundation 9965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 9975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 9985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 9995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 10005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 10015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 10025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 10035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 10045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 10055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 10065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 10075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 10085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 10095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 10105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 10115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 10125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 10135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 10145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 10155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 10165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 10175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 10185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 10195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 10205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 10215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 10225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 10235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 10245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 10255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 10265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 10275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 10285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 10295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 10305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 10315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 10325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 10335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 10345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 10355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 10365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 10375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 10385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 10395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 10405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 10415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1042010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 10435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef long AccessibleStates; 10455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** %IAccessible2 specific state bit constants 10475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This enum defines the state bits returned by IAccessible2::states. The 10495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) %IAccessible2 state bits are in addition to those returned by MSAA. 10505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 10515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum IA2States { 10525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates a window is currently the active window, or is an active subelement 10545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) within a container or table. 10555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This state can be used to indicate the current active item in a container, even 10575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if the container itself is not currently active. In other words this would indicate 10585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the item that will get focus if you tab to the container. 10595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This information is important for knowing what to report for trees and potentially 10615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) other containers in a virtual buffer. 10625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information. 10645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 10655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_ACTIVE = 0x1, 10665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates that the object is armed. 10685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Used to indicate that the control is "pressed" and will be invoked when the 10705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) actuator, e.g. a mouse button, is "released". An AT which either monitors the 10715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mouse or synthesizes mouse events might need to know that, and possibly a talking 10725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface would even let the user know about it. It could also potentially be 10735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) useful to on screen keyboards or test tools since the information does indicate 10745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) something about the state of the interface, for example, code operating asynchronously 10755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) might need to wait for the armed state to change before doing something else. 10765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 10785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_ARMED = 0x2, 10795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates the user interface object corresponding to this object no longer exists. */ 10815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_DEFUNCT = 0x4, 10825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1083010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** An object with this state has a caret and implements the IAccessibleText interface. 1084010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1085010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Such fields may be read-only, so STATE_SYSTEM_READONLY is valid in combination 1086010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) with IA2_STATE_EDITABLE. 1087010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1088010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)*/ 10895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_EDITABLE = 0x8, 10905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates the orientation of this object is horizontal. */ 10925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_HORIZONTAL = 0x10, 10935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates this object is minimized and is represented only by an icon. */ 10955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_ICONIFIED = 0x20, 10965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates an input validation failure. */ 10985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_INVALID_ENTRY = 0x40, 10995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates that this object manages its children. 11015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Note: Due to the fact that MSAA's WinEvents don't allow the active child index 11035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages 11045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) descendants scheme can't be used. Instead the active child object has to fire 11055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be 11065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) added to provide for event specific data to be passed with the event. At that 11075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and 11085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_STATE_MANAGES_DESCENDANTS state would be useful. 11095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 11105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_MANAGES_DESCENDANTS = 0x80, 11115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates that an object is modal. 11135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Modal objects have the behavior that something must be done with the object 11155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) before the user can interact with an object in a different window. 11165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 11175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_MODAL = 0x100, 11185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates this text object can contain multiple lines of text. */ 11205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_MULTI_LINE = 0x200, 11215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates this object paints every pixel within its rectangular region. */ 11235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_OPAQUE = 0x400, 11245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates that user interaction is required. 11265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) An example of when this state is used is when a field in a form must be filled 11285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) before a form can be processed. 11295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 11305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_REQUIRED = 0x800, 11315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates an object which supports text selection. 11335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Note: This is different than MSAA STATE_SYSTEM_SELECTABLE. 11355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 11365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_SELECTABLE_TEXT = 0x1000, 11375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates that this text object can contain only a single line of text. */ 11395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_SINGLE_LINE = 0x2000, 11405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates that the accessible object is stale. 11425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This state is used when the accessible object no longer accurately 11445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) represents the state of the object which it is representing such as when an 11455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) object is transient or when an object has been or is in the process of being 11465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) destroyed or when the object's index in its parent has changed. 11475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 11485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_STALE = 0x4000, 11495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates that the object implements autocompletion. 11515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This state indicates that a text control will respond to the input of 11535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) one ore more characters and cause a sub-item to become selected. The 11545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) selection may also result in events fired on the parent object. 11555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 11565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000, 11575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates this object is transient. 11595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) An object has this state when its parent object has the state ::IA2_STATE_MANAGES_DESCENDANTS. 11615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) For example, a list item object may be managed by its parent list object and may only 11625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) exist as long as the object is actually rendered. Similarly a table cell's accessible 11635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) object may exist only while the cell has focus. However, from the perspective of an 11645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assistive technology a transient object behaves like a non-transient object. As a 11655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result it is likely that this state is not of use to an assistive technology, but it 11665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is provided in case an assistive technology determines that knowledge of the transient 11675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) nature of the object is useful and also for harmony with the Linux accessibility API. 11685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information. 11705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 11715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IA2_STATE_TRANSIENT = 0x10000, 11725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** Indicates the orientation of this object is vertical. */ 1174010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)IA2_STATE_VERTICAL = 0x20000, 1175010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1176010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** Indicates this object is checkable. 1177010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1178010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The standard checkable objects are check boxes, radio buttons, check box menu 1179010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) items, radio menu items, and toggle buttons. Since assistive technology will 1180010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) determine that these objects are checkable via the object's role the checkable 1181010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) state is not required. However, this state is necessary in those cases where 1182010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) an object has a role which is not one of the previously mentioned roles. An 1183010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) example is a table cell which indicates whether or not an email has an attachment, 1184010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) whether or not an mail is considered spam, and whether or not an email has been read. 1185010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 1186010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)IA2_STATE_CHECKABLE = 0x40000, 1187010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1188010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** Indicates this object is pinned. 1189010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1190010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) This state indicates that an object is fixed at a certain location. One example 1191010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) is a browser tab that when pinned cannot be moved until unpinned. Another example 1192010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) is a movable or floating object that when pinned remains in its pinned location 1193010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) until being unpinned. 1194010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 1195010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)IA2_STATE_PINNED = 0x80000 11965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 11985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 11995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 12005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (Accessible2.idl) 12015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 12025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 12035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1204010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2013 Linux Foundation 12055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 12065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 12075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 12085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 12095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 12105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 12115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 12125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 12135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 12145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 12155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 12165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 12175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 12185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 12195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 12205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 12215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 12225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 12235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 12245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 12255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 12265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 12275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 12285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 12295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 12305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 12315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 12325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 12335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 12345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 12355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 12365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 12375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 12385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 12395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 12405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 12415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 12425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 12435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 12445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 12455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 12465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 12475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 12485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 12495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 12505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 12515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @mainpage 12525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 12535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _interfaces Interfaces 12545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessible2\n 1255010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessible2_2\n 12565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleAction\n 12575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleApplication\n 12585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleComponent\n 1259010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessibleDocument\n 1260010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessibleEditableText\n 12615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleHypertext\n 1262010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessibleHypertext2\n 12635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleHyperlink\n 12645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleImage\n 12655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleRelation\n 1266010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessibleTable [Deprecated]\n 12675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleTable2\n 12685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleTableCell\n 12695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleText\n 1270010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessibleText2\n 12715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleValue 12725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 12735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _structs Structs 12745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2Locale\n 12755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2TableModelChange\n 12765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2TextSegment 12775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 12785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _enums Enums 1279010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ::IA2Actions values are predefined actions for use when implementing support for HTML5 media.\n 12805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2CoordinateType values define the requested coordinate type (screen or parent window).\n 12815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2EventID values identify events.\n 12825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2Role values defines roles which are in addition to the existing MSAA roles.\n 12835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2ScrollType values define where to place an object or substring on the screen.\n 12845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2States values define states which are in addition to the existing MSAA states.\n 12855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2TableModelChangeType values describe the kinds of changes made to a table (insert, delete, update).\n 12865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2TextBoundaryType values define the requested text unit (character, word, sentence, line, paragraph).\n 12875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2TextSpecialOffsets values define special offsets for use in the text interfaces. 12885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 12895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _constants Constants 12905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref grpRelations 12915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 12925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _misc Miscellaneous 12935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _licensePage "BSD License"\n 12945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _generalInfo "General Information"\n 12955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 12965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @page _licensePage BSD License 12975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) %IAccessible2 IDL Specification 12985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1299010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Copyright (c) 2007, 2013 Linux Foundation\n 13005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Copyright (c) 2006 IBM Corporation\n 13015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Copyright (c) 2000, 2006 Sun Microsystems, Inc.\n 13025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) All rights reserved. 13035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Redistribution and use in source and binary forms, with or without 13055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) modification, are permitted provided that the following conditions 13065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) are met: 13075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1. Redistributions of source code must retain the above copyright 13095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) notice, this list of conditions and the following disclaimer. 13105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2. Redistributions in binary form must reproduce the above 13125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) copyright notice, this list of conditions and the following 13135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) disclaimer in the documentation and/or other materials 13145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) provided with the distribution. 13155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3. Neither the name of the Linux Foundation nor the names of its 13175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) contributors may be used to endorse or promote products 13185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) derived from this software without specific prior written 13195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) permission. 13205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 13225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 13235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 13245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 13255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 13265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 13275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 13285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 13295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 13305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 13315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 13325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 13335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 13345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This BSD License conforms to the Open Source Initiative "Simplified 13365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BSD License" as published at: 13375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) http://www.opensource.org/licenses/bsd-license.php 13385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) %IAccessible2 is a trademark of the Linux Foundation. The %IAccessible2 13405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mark may be used in accordance with the 13415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/trademark-policy"> 13425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Linux Foundation Trademark Policy</a> to indicate compliance with the %IAccessible2 specification. 13435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @page _generalInfo General Information 13455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The following information is applicable to two or more interfaces. 13465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _errors\n 13485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _memory\n 13495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _arrayConsideration\n 13505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _indexes\n 1351010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @ref _enumBase\n 13525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _specialOffsets\n 13535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _dicoveringInterfaces\n 13545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _changingInterfaces\n 13555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _applicationInfo\n 13565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _childIDs\n 13575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _variants\n 13585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _iaaction-iahyperlink\n 13595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _trademark 13605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _errors Error Handling 1362010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) HRESULT values are defined by the Microsoft® Win32® API. For more information, refer to 1363010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa378137%28v=vs.85%29.aspx"> 1364010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Interpreting HRESULT Values</a> in MSDN®. 13655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Note that the S_FALSE return value is considered a non-error value and the 13675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SUCCEEDED macro will return TRUE. S_FALSE is used when there is no failure 13685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) but there was nothing valid to return, e.g. in IAccessible2::attributes when 13695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) there are no attributes. When S_FALSE is returned [out] pointer types should 13705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) be NULL and [out] longs should generally be 0, but sometimes -1 is used such 13715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) as IAccessible2::indexInParent, IAccessibleText::caretOffset, and 13725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleHypertext::hyperlinkIndex. 13735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Note that for BSTR [out] variables common COM practice is that the server does 13755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the SysAllocString and the client does the SysFreeString. Also note that when 13765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NULL is returned there is no need for the client to call SysFreeString. Please 13775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) refer to the documentation for each method for more details regarding error handling. 13785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _memory Memory Management 13805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The following memory management issues should be considered: 13815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li Although [out] BSTR variables are declared by the client, their space is 13825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) allocated by the server. They need to be freed with SysFreeString by the 13835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) client at end of life; the same is true when BSTRs are used in structs or 13845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) arrays which are passed to the server. 13855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li If there is no valid [out] BSTR to return, the server should return S_FALSE and 13865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assign NULL to the output, e.g. *theOutBSTR = NULL;. 13875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li COM interfaces need to be referenced with AddRef when used and dereferenced 13885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) with Release at end of life. 13895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li Single [out] longs, HWNDs, booleans, and structs are declared by the caller 13905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) and passed by reference. The marshaller does all the memory management. 13915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 13925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The following articles may be helpful for understanding memory management issues: 13935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li An article by Don Box in a 13945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <a href="http://www.microsoft.com/msj/1196/activex1196.aspx">Q & A section</a> 13955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) of the November 1996 edition of the Microsoft Systems Journal. 13965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li A posting to a CodeGuru forum, 13975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <a href="http://www.codeguru.com/forum/showthread.php?t=364511">Windows SDK 13985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) String: What are the rules for BSTR allocation and deallocation?</a> 13995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 14005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @subsection _arrayConsideration Special Consideration when using Arrays 1401010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) There are several methods which return arrays. In the case of IAccessible2::relations 1402010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) and IAccessibleRelation::targets the client must allocate and free the arrays. 1403010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1404010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) For the remaining methods which return arrays, the server must allocate the array 1405010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) and the client must free the array when no longer needed. These methods are 1406010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessible2::extendedStates, IAccessible2::localizedExtendedStates, 1407010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessible2_2::relationTargetsOfType, IAccessibleAction::keyBinding, 1408010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessibleHypertext2::hyperlinks, IAccessibleTable::selectedChildren, 1409010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessibleTable::selectedColumns, IAccessibleTable::selectedRows, 1410010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessibleTable2::selectedCells, IAccessibleTable2::selectedColumns, 1411010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessibleTable2::selectedRows, IAccessibleTableCell::columnHeaderCells, 1412010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) and IAccessibleTableCell::rowHeaderCells. 1413010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) For those methods, the server must allocate both the top level array and any storage 1414010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) associated with it, e.g. for BSTRs. The server must allocate the arrays with 1415010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) CoTaskMemAlloc and any BSTRs with SysAllocString. The client must use CoTaskMemFree 1416010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) to free the array and any BSTRs must be freed with SysFreeString. 14175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1418010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Also, the IDL for IAccessible2::extendedStates, IAccessible2::localizedExtendedStates, 1419010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessibleAction::keyBinding, IAccessibleTable::selectedChildren, 1420010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessibleTable::selectedColumns, and IAccessibleTable::selectedRows includes an 1421010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) extraneous [in] parameter for the caller to specify the max size of the array. 1422010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) This parameter will be ignored by the COM server. 14235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 14245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _indexes Zero and One Based Indexes 14255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Unless otherwise specified all offsets and indexes are 0 based. 14265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1427010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @section _enumBase Enum Base 14285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Note that enums start at 0. 14295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 14305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _specialOffsets Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods 14315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleText and IAccessibleEditableText can use one or more of the following 14325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) special offset values. They are defined in the ::IA2TextSpecialOffsets enum. 14335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li Using ::IA2_TEXT_OFFSET_LENGTH (-1) as an offset in any of the IAccessibleText or 14345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleEditableText methods is the same as specifying the length of the string. 14355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li Using ::IA2_TEXT_OFFSET_CARET (-2) as an offset for IAccessibleText::textBeforeOffset, 14365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleText::textAtOffset, and IAccessibleText::textAfterOffset indicates that the 14375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) text related to the physical location of the caret should be used. This is needed for 14385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) applications that consider the character offset of the end of one line (as reached by 14395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pressing the End key) the same as the offset of the first character on the next line. 14405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Since the same offset is associated with two different lines a special means is needed 14415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) to fetch text from the line where the caret is physically located. 14425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 14435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _dicoveringInterfaces Discovery of Interfaces 14445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) In general AT (Assistive Technology) should try IAccessible2 interfaces, followed by using 14455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the MSAA (Microsoft® Active Accessibility®) interfaces. (In cases where the an application 14465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is known to have custom interfaces which provide information not supplied by IAccessible2 14475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) or MSAA, then those custom interfaces can be used.) The AT can then, by default, support 14485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) unknown IAccessible2/MSAA applications, without the application developers having to request 14495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) AT vendors for support on an individual application by application basis. 14505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 14515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) When you have a reference to an IAccessible and require a reference to an IAccessible2 use 14525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) QueryService as follows: 14535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @code 14545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // pAcc is a reference to the accessible object's IAccessible interface. 14555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IServiceProvider *pService = NULL; 14565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) hr = pAcc->QueryInterface(IID_IServiceProvider, (void **)&pService); 14575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(SUCCEEDED(hr)) { 14585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessible2 *pIA2 = NULL; 14595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) hr = pService->QueryService(IID_IAccessible, IID_IAccessible2, (void**)&pIA2); 14605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (SUCCEEDED(hr) && pIA2) { 14615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // The control supports IAccessible2. 14625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // pIA2 is the reference to the accessible object's IAccessible2 interface. 14635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 14645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 14655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @endcode 14665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1467010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @section _changingInterfaces Changing between Accessible Interfaces 1468010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Note that developers must always implement MSAA's IAccessible and, if needed, some 1469010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) of the interfaces in the set of IAccessible2 interfaces. Although the IAccessible2 1470010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IDL is coded such that IAccessible2 is a subclass of MSAA's IAccessible, none of 1471010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) MSAA's IAccessible methods are redefined by IAccessible2. 14725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 14735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) QueryService must be used to switch from a reference to an MSAA IAccessible interface 14745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) to another interface. This has been 1475010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) <a href="http://www.atia.org/files/public/Introducing_IAccessibleEx.doc"> 1476010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) documented</a> and the pertinent facts have been extracted below: 14775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 14785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @par 14795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Why use QueryService instead of just using QueryInterface to get IAccessibleEx 14805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) directly? The reason is that since MSAA 2.0, clients don't talk to a server's 14815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessible interface directly; instead they talk to an intermediate MSAA-provided 14825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) wrapper that calls through to the original IAccessible. This wrapper provides services 14835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) such as implementing IDispatch, supplying information from MSAA 2.0's Dynamic Annotation 14845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) service, and scaling locations when running on Windows Vista with DPI scaling enabled. 14855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) QueryService is the supported way to expose additional interfaces from an existing 14865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessible and was originally used by MSHTML to expose IHTMLElement objects corresponding 14875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) to IAccessibles. QueryService is often more convenient for servers to implement than 14885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) QueryInterface because it does not have the same requirements for preserving object 14895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) identity or symmetry/transitivity as QueryInterface, so QueryService allows servers to 14905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) easily implement the interface on the same object or a separate object. The latter is 14915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) often hard to do with QueryInterface unless the original object supports aggregation. 14925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 14935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Two related references in MSDN® are: 14945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li <a href="http://msdn.microsoft.com/en-us/library/ms696078(VS.85).aspx"> 14955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Using QueryService to expose a native object model interface for an IAccessible object"</a> 14965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li <a href="http://msdn.microsoft.com/en-us/library/ms528415.aspx#acc_obj"> 14975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Accessing the Internet Explorer Object Associated with an Accessible Object"</a> 14985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 14995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Based on this information from Microsoft, QueryService must be used to switch back and forth 15005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) between a reference to an MSAA IAccessible interface and any of the IAccessible2 interfaces. 15015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Regarding switching between any of the IAccessible2 interfaces, applications implementing 15035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessible2 should implement the IAccessible2 interfaces on a single object since ATs 15045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) will be using QueryInterface to switch between the IAccessilbe2 interfaces. Implementing 15055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the IAccessible2 interfaces on separate objects would require the use of QueryService. 15065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) There is one exception, IAccessibleApplication can be implemented on a separate object so 15075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) its common code doesn't have to be included in each accessible object. ATs should use 15085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) QueryService to access IAccessibleApplication. 15095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _applicationInfo Access to Information about the Application 15115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Servers implementing IAccessible2 should provide access to the IAccessibleApplication 15125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface via QueryService from any object so that ATs can easily determine specific 15135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) information about the application such as its name or version. 15145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _childIDs Child IDs 15165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The IAccessible2 interfaces do not support child IDs, i.e. simple child elements. 15175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Full accessible objects must be created for each object that supports IAccessible2. 15185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Therefore MSAA's get_accChild should never return a child ID (other than CHILDID_SELF) 15195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for an object that implements any of the IAccessible2 interfaces. 15205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Microsoft's UI Automation specification has the same limitation and this was resolved 15225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) in the UI Automation Express specification by adding IAccessibleEx::GetObjectForChild 15235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) and IAccessibleEx::GetIAccessiblePair. These methods allow mapping back and forth 15245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) between an IAccessibleEx and an {IAccessible, Child ID} pair. A future version of 15255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessible2 may include similar methods to map back and forth between an IAccessible2 15265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) and an {IAccessible, Child ID} pair. 15275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _variants VARIANTs 15295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Some methods return a VARIANT. Implementers need to make sure that the return type is 15305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) specified, i.e. VT_I4, VT_IDISPATCH, etc. The methods that return VARIANTs are 15315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleHyperlink::anchor, IAccessibleHyperlink::anchorTarget, IAccessibleValue::currentValue, 15325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleValue::maximumValue, IAccessibleValue::minimumValue. 15335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _iaaction-iahyperlink IAccessibleHyperlink as subclass of IAccessibleAction 15355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) In this version of the IDL, IAccessibleHyperlink is a subclass of IAccessibleAction. 15365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) However, there is no practical need for that inheritance and in some cases, such as 15375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) an image map of smart tags, it doesn't make sense because such an image map doesn't 15385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) have actionable objects; it's the secondary smart tags that are actionable. As a 15395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result, implementations should not rely on the inheritance as it may be removed in 15405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) a later version of the IDL. 15415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @section _trademark Trademark Attribution 15435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The names of actual companies and products mentioned herein may be the trademarks of 15445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) their respective owners. In particular, Active Accessibility, Microsoft, MSDN, and Win32 15455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) are trademarks of the Microsoft group of companies in the U.S.A. and/or other countries. 15465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)**/ 15485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1549010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1550010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1551010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 15525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** A structure defining the locale of an accessible object. 15575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IAccessible2::locale returns this struct. 15595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 15605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct IA2Locale { 15615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BSTR language; ///< ISO 639-1 Alpha-2 two character language code 15625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BSTR country; ///< ISO 3166-1 Alpha-2 two character country code 15635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BSTR variant; ///< Application specific variant of the locale 15645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} IA2Locale; 15655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1566010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** @brief This interface exposes the primary set of information about an 1567010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessible2 enabled accessible object. 1568010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1569010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) This interface must always be provided for objects that support some 15705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) portion of the collection of the %IAccessible2 interfaces. 15715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Please refer to @ref _changingInterfaces "Changing between Accessible Interfaces" 15735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for special considerations related to use of the MSAA IAccessible interface and 15745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the set of %IAccessible2 interfaces. 15755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 15765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(E89F726E-C4F4-4c19-BB19-B647D7FA8478)] 15775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessible2 : IAccessible 15785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 15795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the number of accessible relations for this object. 15815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nRelations 15825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 15835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 15845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nRelations 15855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 15865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nRelations 15875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 15885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns one accessible relation for this object. 15905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] relationIndex 15915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based 15925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] relation 15935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 1594010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 15955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 15965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT relation 15975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 15985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long relationIndex, 15995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IAccessibleRelation **relation 16005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 16015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 16025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns multiple accessible relations for this object. 16035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] maxRelations 16045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) maximum size of the array allocated by the client 16055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] relations 16065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The array of accessible relation objects. Note that this array is to be 16075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) allocated by the client and freed when no longer needed. Refer to @ref 16085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) _arrayConsideration "Special Consideration when using Arrays" for more details. 16095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nRelations 16105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) actual number of relations in the returned array (not more than maxRelations) 16115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 16125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there are no relations, nRelations is set to 0 1613010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note As a performant alternative, client code should consider using IAccessible2_2::relationTargetsOfType. 16145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 16155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT relations 16165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 16175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long maxRelations, 16185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, size_is(maxRelations), length_is(*nRelations)] 16195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleRelation **relations, 16205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nRelations 16215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 16225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 16235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the role of an %IAccessible2 object. 16245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] role 16255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The role of an %IAccessible2 object. 16265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 16275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @note 16285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li For convenience MSAA roles are also passed through this method so the 16295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) AT doesn't have to also fetch roles through MSAA's get_accRole. 16305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li %IAccessible2 roles should not be passed through MSAA's get_accRole. 16315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li For compatibility with non IAccessible2 enabled ATs, IAccessible2 16325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) applications should also add support to get_accRole to return the closest 16335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MSAA role or ROLE_SYSTEM_CLIENT (the MSAA defined default role) if there 16345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is not a good match. 16355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li This method is missing a [propget] prefix in the IDL. The result is the 16365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) method is named role in generated C++ code instead of get_role. 16375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 16385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT role 16395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 16405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *role 16415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 16425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 16435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Makes an object visible on the screen. 16445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] scrollType 16455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Defines where the object should be placed on the screen. 16465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 16475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 16485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 16495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT scrollTo 16505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 16515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] enum IA2ScrollType scrollType 16525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 16535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 16545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Moves the top left of an object to a specified location. 16555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 16565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] coordinateType 16575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Specifies whether the coordinates are relative to the screen or the parent object. 16585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] x 16595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Defines the x coordinate. 16605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] y 16615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Defines the y coordinate. 16625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 16635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 16645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 16655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT scrollToPoint 16665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 16675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] enum IA2CoordinateType coordinateType, 16685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long x, 16695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long y 16705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 16715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 16725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns grouping information. 16735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 16745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Used for tree items, list items, tab panel labels, radio buttons, etc. 16755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also used for collections of non-text objects. 16765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 16775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] groupLevel 16785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1 based, 0 indicates that this value is not applicable 16795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] similarItemsInGroup 16805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1 based, 0 indicates that this value is not applicable 16815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] positionInGroup 16825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1 based, 0 indicates that this value is not applicable. This is an index 1683010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) into the objects in the current group, not an index into all the objects 1684010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) at the same group level. 16855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK if at least one value is valid 1686010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if no values are valid, [out] values are 0s 16875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @note This method is meant to describe the nature of an object's containment 1688010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) structure. It's exposed by trees, tree grids, nested lists, nested menus, 1689010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) but not headings, which uses the level object attribute. It is also exposed 1690010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) by radio buttons (with groupLevel == 0). 1691010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note This is normally not implemented on a combo box to describe the nature 16925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) of its contents. Normally an AT will get that information from its child list 1693010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) object. However, in some cases when non-edit combo boxes are not able to be structured 1694010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) such that the list is a child of the combo box, this method is implemented on 1695010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) the combo box itself. ATs can use this interface if a child list is not found. 16965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 16975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT groupPosition 16985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 16995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *groupLevel, 17005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *similarItemsInGroup, 17015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *positionInGroup 17025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 17035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the bit strip containing any IAccessible2 states. 17055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The IAccessible2 states are in addition to the MSAA states and are defined in 17075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the IA2States enum. 17085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] states 17105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 17115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 17125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT states 17135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 17145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] AccessibleStates *states 17155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 17165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the extended role. 17185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) An extended role is a role which is dynamically generated by the application. 17205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) It is not predefined by the %IAccessible2 specification. 17215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] extendedRole 17235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 17245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 17255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 17265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT extendedRole 17275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 17285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *extendedRole 17295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 17305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the localized extended role. 17325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] localizedExtendedRole 17335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 17345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 17355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 17365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT localizedExtendedRole 17375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 17385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *localizedExtendedRole 17395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 17405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the number of extended states. 17425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nExtendedStates 17435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 17445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 17455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nExtendedStates 17465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 17475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nExtendedStates 17485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 17495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the extended states (array of strings). 17515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) An extended state is a state which is dynamically generated by the application. 17535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) It is not predefined by the %IAccessible2 specification. 17545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] maxExtendedStates 17565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This parameter is ignored. Refer to @ref _arrayConsideration 17575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Special Consideration when using Arrays" for more details. 17585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] extendedStates 1759010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) This array is allocated by the server. The client must free it with CoTaskMemFree. 17605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nExtendedStates 17615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The number of extended states returned; the size of the returned array. 17625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 17635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there are no states, [out] values are NULL and 0 respectively 17645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 17655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT extendedStates 17665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 17675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long maxExtendedStates, 17685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, size_is(,maxExtendedStates), length_is(,*nExtendedStates)] BSTR **extendedStates, 17695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nExtendedStates 17705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 17715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the localized extended states (array of strings). 1773010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 17745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] maxLocalizedExtendedStates 17755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This parameter is ignored. Refer to @ref _arrayConsideration 17765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Special Consideration when using Arrays" for more details. 17775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] localizedExtendedStates 1778010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) This array is allocated by the server. The client must free it with CoTaskMemFree. 17795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nLocalizedExtendedStates 17805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The number of localized extended states returned; the size of the returned array. 17815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 17825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there are no states, [out] values are NULL and 0 respectively 17835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 17845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT localizedExtendedStates 17855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 17865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long maxLocalizedExtendedStates, 17875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, size_is(,maxLocalizedExtendedStates), length_is(,*nLocalizedExtendedStates)] BSTR **localizedExtendedStates, 17885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nLocalizedExtendedStates 17895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 17905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the unique ID. 17925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The uniqueID is an identifier for this object, is unique within the 17945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current window, and remains the same for the lifetime of the accessible 17955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) object. 17965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The uniqueID is not related to: 17985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) - the MSAA objectID which is used by the server to disambiguate between 17995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibles per HWND or 18005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) - the MSAA childID which is used to disambiguate between children being 18015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) managed by an IAccessible. 18025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This value is provided so the AT can have access to a unique runtime persistent 18045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) identifier even when not handling an event for the object. 18055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) An example of when this value is useful is if the AT wants to build a cache. 18075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The AT could cache the uniqueIDs in addition to other data being cached. 18085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) When an event is fired the AT could map the uniqueID to its internal model. 18095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Thus, if there's a REORDER/SHOW/HIDE event the AT knows which part of the 18105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) internal structure has been invalidated and can refetch just that part. 18115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This value can also be used by an AT to determine when the current control 18135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) has changed. If the role is the same for two controls that are adjacent in 18145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the tab order, this can be used to detect the new control. 18155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Another use of this value by an AT is to identify when a grouping object has 18175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) changed, e.g. when moving from a radio button in one group to a radio button in a 18185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) different group. 18195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) One means of implementing this would be to create a factory with a 32 bit number 18215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) generator and a reuse pool. The number generator would emit numbers starting 18225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) at 1. Each time an object's life cycle ended, its number would be saved into a 1823010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) reuse pool. The number generator would be used whenever the reuse pool was empty. 1824010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1825010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Another way to create a unique ID is to generate it from a pointer value, e.g. an 1826010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) object's address. That would be unique because no two active objects can use the 1827010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) same allocated memory space. 18285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] uniqueID 18305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 18315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 18325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT uniqueID 18335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 18345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *uniqueID 18355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 18365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the window handle for the parent window which contains this object. 18385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This is the same window handle which will be passed for any events that occur on the 18405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) object, but is cached in the accessible object for use when it would be helpful to 18415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) access the window handle in cases where an event isn't fired on this object. 18425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) A use case is when a screen reader is grabbing an entire web page on a page load. 18445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Without the availability of windowHandle, the AT would have to get the window handle 18455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) by using WindowFromAccessibleObject on each IAccessible, which is slow because it's 18465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) implemented by oleacc.dll as a loop which crawls up the ancestor chain and looks for 18475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) a ROLE_WINDOW object, mapping that back to a window handle. 18485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] windowHandle 18505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 18515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 18525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT windowHandle 18535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 18545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] HWND *windowHandle 18555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 18565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the index of this object in its parent object. 18585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] indexInParent 18595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based; -1 indicates there is no parent; the upper bound is the value 18605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) returned by the parent's IAccessible::get_accChildCount. 18615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 18625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if no parent, [out] value is -1 18635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 18645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT indexInParent 18655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 18665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *indexInParent 18675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 18685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the IA2Locale of the accessible object. 18705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] locale 18715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 18725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 18735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT locale 18745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 18755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IA2Locale *locale 18765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 18775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1878010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** @brief Returns the attributes specific to this object, such as a cell's formula. 18795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] attributes 18805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 18815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE returned if there is nothing to return, [out] value is NULL 18825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 18835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT attributes 18845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 18855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *attributes 18865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 18875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 18895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 18905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 18915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1892010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * File Name (Accessible2_2.idl) 1893010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1894010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * IAccessible2 IDL Specification 1895010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1896010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2013 Linux Foundation 1897010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2006 IBM Corporation 1898010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 1899010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * All rights reserved. 1900010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1901010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1902010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Redistribution and use in source and binary forms, with or without 1903010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * modification, are permitted provided that the following conditions 1904010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * are met: 1905010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1906010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 1907010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * notice, this list of conditions and the following disclaimer. 1908010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1909010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 1910010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * copyright notice, this list of conditions and the following 1911010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * disclaimer in the documentation and/or other materials 1912010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * provided with the distribution. 1913010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1914010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 1915010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * contributors may be used to endorse or promote products 1916010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * derived from this software without specific prior written 1917010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * permission. 1918010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1919010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 1920010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 1921010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 1922010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 1923010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 1924010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1925010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 1926010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 1927010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1928010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 1929010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 1930010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 1931010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1932010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1933010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 1934010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * BSD License" as published at: 1935010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 1936010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1937010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 1938010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 1939010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 1940010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1941010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ************************************************************************/ 1942010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1943010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1944010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1945010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1946010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1947010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1948010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** @brief This interface exposes the primary set of information about an 1949010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IAccessible2 enabled accessible object. 1950010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1951010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) This interface must always be provided for objects that support some 1952010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) portion of the collection of the %IAccessible2 interfaces. 1953010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1954010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Please refer to @ref _changingInterfaces "Changing between Accessible Interfaces" 1955010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for special considerations related to use of the MSAA IAccessible interface and 1956010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) the set of %IAccessible2 interfaces. 1957010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 1958010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)[object, uuid(6C9430E9-299D-4E6F-BD01-A82A1E88D3FF)] 1959010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)interface IAccessible2_2 : IAccessible2 1960010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles){ 1961010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** @brief Returns the attribute value of a specified attribute specific to this object. 1962010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [in] name 1963010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [out] attribute 1964010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_OK 1965010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE returned if there is nothing to return, [out] value is NULL. 1966010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed. 1967010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note The output value is a VARIANT. Typically it will be a VT_BSTR, but there 1968010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) are some cases where it will be a VT_I4 or VT_BOOL. Refer to the <a href= 1969010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "http://www.linuxfoundation.org/collaborate/workgroups/accessibility/iaccessible2/objectattributesIAccessible2"> 1970010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Object Attributes specification</a> for more information. 1971010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 1972010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [propget] HRESULT attribute 1973010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ( 1974010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [in] BSTR name, 1975010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, retval] VARIANT *attribute 1976010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ); 1977010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1978010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** @brief Returns the deepest hypertext accessible in the subtree of this object, and the caret offset within it. 1979010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [out] accessible 1980010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [out] caretOffset 1981010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_OK 1982010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE returned if there is no caret in any of the objects in the subtree, [out] accessible is NULL and [out] caretOffset is -1. 1983010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 1984010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [propget] HRESULT accessibleWithCaret 1985010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ( 1986010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out] IUnknown **accessible, 1987010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, retval] long *caretOffset 1988010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ); 1989010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1990010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** @brief Returns relation targets for a specified target type. 1991010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [in] type 1992010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The requested @ref grpRelations "relation type". 1993010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [in] maxTargets 1994010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The number of targets requested. 0 indicates that all targets should be returned. 1995010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [out] targets 1996010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) This array is allocated by the server. The client must free it with CoTaskMemFree. 1997010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [out] nTargets 1998010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The number of targets returned; the size of the returned array. 1999010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_OK 2000010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if there are no targets, [out] values are NULL and 0 respectively. 2001010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed. 2002010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 2003010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [propget] HRESULT relationTargetsOfType 2004010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ( 2005010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [in] BSTR type, 2006010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [in] long maxTargets, 2007010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, size_is(,*nTargets)] IUnknown ***targets, 2008010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, retval] long *nTargets 2009010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ); 2010010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2011010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} 2012010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2013010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/************************************************************************* 2014010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 20155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleComponent.idl) 20165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 20175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 20185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 20195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2007, 2010 Linux Foundation 20205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 20215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 20225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 20235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 20245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 20255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 20265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 20275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 20285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 20295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 20305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 20315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 20325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 20335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 20345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 20355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 20365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 20375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 20385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 20395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 20405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 20415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 20425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 20435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 20445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 20455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 20475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 20505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 20525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 20535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 20545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 20555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 20565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 20575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 20585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 20595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 20605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 20615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 20625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 20635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 20645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 20655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2066010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2067010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2068010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 20695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 20705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** A value specifying a color in ARGB format, where each 8 bit color component 20715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)specifies alpha, red, green, and blue respectively. The alpha value is optional. 20725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 20735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef long IA2Color; 20745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 20755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @brief This interface is implemented by any object that can be rendered 20765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) on the screen. 20775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 20785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This interface provides the standard mechanism for an assistive technology 20795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) to retrieve information concerning the graphical representation of an object. 20805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Coordinates used by the functions of this interface are specified in 20815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) different coordinate systems. Their scale is the same and is equal to 20825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) that of the screen coordinate system. In other words all coordinates 20835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) are measured in pixels. They differ in their respective origin: 20845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <ul> 20855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <li>The screen coordinate system has its origin in the upper left 20865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) corner of the current screen.</li> 20875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <li>The origin of the parent coordinate system is the upper left corner 20885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) of the parent's bounding box. With no parent the screen coordinate 20895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) system is used instead.</li> 20905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) </ul> 20915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 20925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(1546D4B0-4C98-4bda-89AE-9A64748BDDE4)] 20935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleComponent : IUnknown 20945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 20955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 20965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the location of the upper left corner of the object's 20975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bounding box relative to the immediate parent object. 20985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 20995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The coordinates of the bounding box are given relative to the parent's 21005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) coordinate system. The coordinates of the returned position are relative 21015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) to this object's parent or relative to the screen on which this object 21025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is rendered if it has no parent. If the object is not on any screen 21035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the returned position is (0,0). 21045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 21055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] x 21065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] y 21075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 21085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 21095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT locationInParent 21105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 21115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *x, 21125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *y 21135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 21145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 21155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the foreground color of this object. 21165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] foreground 21175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The returned color is the foreground color of this object or, if 21185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) that is not supported, the default foreground color. 21195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 21205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 21215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT foreground 21225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 21235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IA2Color *foreground 21245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 21255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 21265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the background color of this object. 21275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] background 21285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The returned color is the background color of this object or, if 21295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) that is not supported, the default background color. 21305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 21315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 21325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT background 21335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 21345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IA2Color *background 21355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 21365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 21375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 21385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 21395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleValue.idl) 21405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 21415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 21425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 21435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2007, 2010 Linux Foundation 21445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 21455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 21465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 21475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 21485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 21495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 21505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 21515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 21525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 21535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 21545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 21555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 21565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 21575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 21585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 21595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 21605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 21615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 21625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 21635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 21645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 21655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 21665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 21675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 21685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 21695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 21715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 21765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 21775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 21785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 21795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 21805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 21815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 21825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 21835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 21845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 21855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 21865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 21875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 21885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 21895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2190010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2191010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2192010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 21935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 21945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @brief This interface gives access to a single numerical value. 21955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 21965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The %IAccessibleValue interface represents a single numerical value and should 21975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) be implemented by any class that supports numerical value like progress bars 21985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) and spin boxes. This interface lets you access the value and its upper and 21995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) lower bounds. 22005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 22015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(35855B5B-C566-4fd0-A7B1-E65465600394)] 22025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleValue : IUnknown 22035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 22045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 22055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the value of this object as a number. 22065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 22075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The exact return type is implementation dependent. Typical types are long and 22085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) double. 22095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] currentValue 22105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the current value represented by this object. See the section about 22115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _variants "VARIANTs" for additional information. 22125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 2213010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY 22145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 22155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT currentValue 22165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 22175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] VARIANT *currentValue 22185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 22195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 22205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Sets the value of this object to the given number. 22215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 22225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The argument is clipped to the valid interval whose upper and lower 22235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bounds are returned by the methods IAccessibleValue::maximumValue and 22245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleValue::minimumValue, i.e. if it is lower than the minimum 22255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) value the new value will be the minimum and if it is greater than the 22265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) maximum then the new value will be the maximum. 22275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2228010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [in] value 22295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The new value represented by this object. The set of admissible types for 22305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this argument is implementation dependent. 22315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 22325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 22335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT setCurrentValue 22345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 22355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] VARIANT value 22365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 22375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 22385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the maximal value that can be represented by this object. 22395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 22405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The type of the returned value is implementation dependent. It does not have 22415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) to be the same type as that returned by method IAccessibleValue::currentValue. 22425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 22435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] maximumValue 22445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the maximal value in an implementation dependent type. If this object 22455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) has no upper bound then an empty object is returned. See the section about 22465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _variants "VARIANTs" for additional information. 22475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 2248010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY 22495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 22505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT maximumValue 22515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 22525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] VARIANT *maximumValue 22535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 22545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 22555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the minimal value that can be represented by this object. 22565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 22575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The type of the returned value is implementation dependent. It does not have 22585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) to be the same type as that returned by method IAccessibleValue::currentValue. 22595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 22605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] minimumValue 22615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the minimal value in an implementation dependent type. If this object 22625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) has no lower bound then an empty object is returned. See the section about 22635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _variants "VARIANTs" for additional information. 22645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 2265010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY 22665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 22675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT minimumValue 22685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 22695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] VARIANT *minimumValue 22705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 22715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 22725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 22735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 22745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 22755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleText.idl) 22765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 22775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 22785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2279010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2013 Linux Foundation 22805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 22815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 22825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 22835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 22845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 22855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 22865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 22875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 22885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 22895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 22905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 22915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 22925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 22935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 22945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 22955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 22965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 22975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 22985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 22995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 23005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 23015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 23025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 23035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 23045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 23055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 23075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 23095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 23135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 23145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 23165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 23175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 23185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 23195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 23205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 23215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 23225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 23235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 23245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 23255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2326010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2327010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2328010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 23295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** A structure containing a substring and the start and end offsets in the enclosing string. 23325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleText::newText and IAccessibleText::oldText return this struct. 23345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 23355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct IA2TextSegment { 23365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BSTR text; ///< A copy of a segment of text taken from an enclosing paragraph. 23375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) long start; ///< Index of the first character of the segment in the enclosing text. 23385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) long end; ///< Index of the character following the last character of the segment in the enclosing text. 23395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} IA2TextSegment; 23405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** This enum defines values which specify a text boundary type. 23425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_TEXT_BOUNDARY_SENTENCE is optional. When a method doesn't implement this 23445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) method it must return S_FALSE. Typically this feature would not be implemented 23455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) by an application. However, if the application developer was not satisfied with 23465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) how screen readers have handled the reading of sentences this boundary type 23475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) could be implemented and screen readers could use the application's version of a 23485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) sentence rather than the screen reader's. 23495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The rest of the boundary types must be supported. 23515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This enum is used in IAccessibleText::textBeforeOffset, IAccessibleText::textAtOffset, 23535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) and IAccessibleText::textAfterOffset. 23545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 23555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum IA2TextBoundaryType { 2357010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IA2_TEXT_BOUNDARY_CHAR, /**< Typically, a single character is returned. In some cases more than 2358010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) one character is returned, for example, when a document contains field 2359010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) data such as a field containing a date, time, or footnote reference. 2360010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) In this case the caret can move over several characters in one movement 2361010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) of the caret. Note that after the caret moves, the caret offset changes 2362010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) by the number of characters in the field, e.g. by 8 characters in the 2363010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) following date: 03/26/07. */ 2364010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IA2_TEXT_BOUNDARY_WORD, /**< The range provided matches the range observed when the application 2365010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) processes the Ctrl + left arrow and Ctrl + right arrow key sequences. 2366010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Typically this is from the start of one word to the start of the next, but 2367010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) various applications are inconsistent in the handling of the end of a line. */ 2368010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IA2_TEXT_BOUNDARY_SENTENCE, ///< Range is from start of one sentence to the start of another sentence. 2369010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IA2_TEXT_BOUNDARY_PARAGRAPH, ///< Range is from start of one paragraph to the start of another paragraph. 2370010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IA2_TEXT_BOUNDARY_LINE, /**< Range is from start of one line to the start of another line. This 23715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) often means that an end-of-line character will appear at the end of the 2372010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) range. However in the case of some applications an end-of-line character 2373010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) indicates the end of a paragraph and the lines composing the paragraph, 2374010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) other than the last line, do not contain an end of line character. */ 2375010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) IA2_TEXT_BOUNDARY_ALL ///< Using this value will cause all text to be returned. 23765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 23775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @brief This interface gives read-only access to text. 23795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The %IAccessibleText interface should be implemented by all components 23815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) that present textual information on the display like buttons, 23825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) text entry fields, or text portions of the document window. The interface 23835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) provides access to the text's content, attributes, and spatial location. 23845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) However, text can not be modified with this interface. That is the task 23855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) of the IAccessibleEditableText interface. 23865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The text length, i.e. the number of characters in the text, is 23885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) returned by IAccessibleText::nCharacters. All methods that operate 23895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) on particular characters (e.g. IAccessibleText::textAtOffset) use character 23905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) indices from 0 to length-1. All methods that operate on character positions 23915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) (e.g. IAccessibleText::text) use indices from 0 to length. 23925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Please note that accessible text does not necessarily support selection. 23945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) In this case it should behave as if there where no selection. An empty 23955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) selection is used for example to express the current cursor position. 23965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Refer to @ref _specialOffsets 23985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 23995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for information about special offsets that can be used in %IAccessibleText methods. 24005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) E_FAIL is returned in the following cases 24025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li endOffset < startOffset 24035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @li endoffset > length 24045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 24055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B)] 24065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleText : IUnknown 24075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 24085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Adds a text selection 24105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] startOffset 24115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Starting offset ( 0 based). 24125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] endOffset 24135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Offset of first character after new selection (0 based). 24145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 24155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 2416010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note Refer to @ref _specialOffsets 2417010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 2418010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleText methods. 24195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 24205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT addSelection 24215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 24225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long startOffset, 24235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long endOffset 24245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 24255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns text attributes. 24275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] offset 2428010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Text offset (0 based). Refer to @ref _specialOffsets 2429010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 2430010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleText methods. 24315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] startOffset 24325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The starting offset of the character range over which all text attributes match 2433010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) those of offset. (0 based) 24345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] endOffset 24355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The offset of the first character past the character range over which all text 2436010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) attributes match those of offset. (0 based) 24375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] textAttributes 24385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) A string of attributes describing the text. The attributes are described in the 24395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <a href="http://www.linuxfoundation.org/en/Accessibility/IAccessible2/TextAttributes"> 24405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) text attributes specification</a> on the %IAccessible2 web site. 24415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 24425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] values are 0s and NULL respectively 2443010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 24445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 24455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT attributes 24465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 24475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long offset, 24485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *startOffset, 24495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *endOffset, 24505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *textAttributes 24515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 24525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the position of the caret. 24545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the 0-based offset of the caret within the text. If the text is 24565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) implemented as a tree of text objects with embed characters in higher levels 24575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) representing substrings of child text objects and the caret is in one of the 24585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) child text objects, then the offset in the higher level text object would be 24595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) at the embed character representing child text object that contains the caret. 24605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) For example, if the string "one two three" is implemented as a two text objects, 24625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) with a top level text object containing an embed character "one ? three" and a 24635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) child text object containing "two" and if the caret is in the descendant object 24645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) just before the 'o' in "two", then: 24655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <ul> 24665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <li>the caretOffset for the "one ? three" object would be 4, matching the embed character</li> 24675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <li>the caretOffset for "two" would be 2, matching the "o"</li> 24685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) </ul> 24695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The caret position/offset is that of the character logically following it, e.g. 2470010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) to the right of it in a left to right language, or to the left of it in a right 2471010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) to left language. 24725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] offset 24735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The returned offset is relative to the text represented by this object. 24745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 24755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if the caret is not currently active on this object, i.e. the 24765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) caret is located on some other object. The returned offset value will be -1. 24775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @note S_FALSE (and an offset of -1) will not be returned if the caret is somewhere 24785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) in the text object or one of its descendants. 24795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 24805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT caretOffset 24815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 24825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *offset 24835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 24845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the bounding box of the specified position. 24875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The virtual character after the last character of the represented 24895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) text, i.e. the one at position length is a special case. It represents the 24905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current input position and will therefore typically be queried by AT more 24915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) often than other positions. Because it does not represent an existing character 24925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) its bounding box is defined in relation to preceding characters. It should be 24935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) roughly equivalent to the bounding box of some character when inserted at the 24945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) end of the text. Its height typically being the maximal height of all the 24955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) characters in the text or the height of the preceding character, its width being 24965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) at least one pixel so that the bounding box is not degenerate. 24975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Note that the index 'length' is not always valid. Whether it is or not is 24995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) implementation dependent. It typically is when text is editable or otherwise 25005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) when on the screen the caret can be placed behind the text. You can be sure 25015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) that the index is valid after you have received a ::IA2_EVENT_TEXT_CARET_MOVED 25025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) event for this index. 25035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] offset 25045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Index of the character for which to return its bounding box. The valid range 2505010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) is 0..length. Refer to @ref _specialOffsets 2506010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 2507010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleText methods. 25085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] coordType 25095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Specifies if the coordinates are relative to the screen or to the parent window. 25105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] x 25115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) X coordinate of the top left corner of the bounding box of the referenced character. 25125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] y 25135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Y coordinate of the top left corner of the bounding box of the referenced character. 25145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] width 25155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Width of the bounding box of the referenced character. 25165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] height 25175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Height of the bounding box of the referenced character. 25185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 2519010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 25205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 25215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT characterExtents 25225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 25235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long offset, 25245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] enum IA2CoordinateType coordType, 25255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *x, 25265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *y, 25275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *width, 25285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *height 25295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 25305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 25315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 25325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the number of active non-contiguous selections 25335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nSelections 25345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 25355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 25365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nSelections 25375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 25385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nSelections 25395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 25405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 25415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the text position for the specified screen position. 25425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 25435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Given a point return the zero-based index of the character under that 25445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) point. The same functionality could be achieved by using the bounding 25455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) boxes for each character as returned by IAccessibleText::characterExtents. 25465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The method IAccessibleText::offsetAtPoint, however, can be implemented 25475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) more efficiently. 25485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 25495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] x 25505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The position's x value for which to look up the index of the character that 2551010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) is rendered on to the display at that point. 25525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] y 25535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The position's y value for which to look up the index of the character that 2554010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) is rendered on to the display at that point. 25555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] coordType 25565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Screen coordinates or window coordinates. 25575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] offset 25585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Index of the character under the given point or -1 if the point 25595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is invalid or there is no character under the point. 25605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 2561010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if nothing to return, [out] value is -1 2562010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2563010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 25645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 25655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT offsetAtPoint 25665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 25675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long x, 25685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long y, 25695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] enum IA2CoordinateType coordType, 25705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *offset 25715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 25725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 25735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the character offsets of Nth active text selection 2574010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2575010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Returns the 0-based starting and ending offsets of the Nth selection. If the 2576010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) text is implemented as a tree of text objects with embed characters in higher 2577010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) levels representing substrings of child text objects, consider the following. 2578010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) If the starting selection offset is in one of the child text objects, then the 2579010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) starting offset in the higher level text object would be at the embed character 2580010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) representing the child text object that contains the starting selection offset. 2581010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) If the ending selection offset is in one of the child text objects, then the 2582010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ending offset in the higher level text object would be just after the embed 2583010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) character representing the child text object that contains the ending selection 2584010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) offset. 2585010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2586010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) For example, if the string "one two three" is implemented as a two text objects, 2587010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) with a top level text object containing an embed character "one ? three" and a 2588010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) child text object containing "two" and if the selection is the string "two" then: 2589010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) <ul> 2590010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) <li>the startOffset for the "one ? three" object would be 4, matching the embed character and the endOffset would be 5.</li> 2591010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) <li>the startOffset for the "two" object would be 0, and the endOffset would be 3</li> 2592010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) </ul> 2593010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Selection offsets are that of the character logically following it, e.g. 2594010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) to the right of it in a left to right language or to the left of it in a right to left language. 25955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] selectionIndex 25965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Index of selection (0 based). 25975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] startOffset 25985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based offset of first selected character 25995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] endOffset 26005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based offset of one past the last selected character. 26015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 2602010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 26035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 26045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT selection 26055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 26065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long selectionIndex, 26075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *startOffset, 26085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *endOffset 26095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 26105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 26115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the substring between the two given indices. 26125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 26135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The substring starts with the character at startOffset (inclusive) and up to 26145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the character at endOffset (exclusive), if startOffset is less or equal 2615010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) endOffset. If endOffset is lower than startOffset, the result is the same 26165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) as a call with the two arguments being exchanged. 26175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 26185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The whole text can be requested by passing the indices zero and 26195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleText::nCharacters. If both indices have the same value, an empty 2620010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) string is returned. 26215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] startOffset 26225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Index of the first character to include in the returned string. The valid range 26235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is 0..length. 26245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] endOffset 26255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Index of the last character to exclude in the returned string. The valid range 26265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is 0..length. 26275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] text 26285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the substring starting with the character at startOffset (inclusive) 26295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) and up to the character at endOffset (exclusive), if startOffset is less than 26305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) or equal to endOffset. 26315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 2632010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 2633010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note 2634010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @li The returned string may be longer than endOffset-startOffset bytes if text 2635010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) contains multi-byte characters. 2636010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @li Refer to @ref _specialOffsets 2637010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 2638010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleText methods. 26395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 26405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT text 26415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 26425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long startOffset, 26435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long endOffset, 26445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *text 26455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 26465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 26475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a text portion before the given position. 26485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 26495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the substring of the specified text type that is located before the 26505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) given character and does not include it. The result of this method should be 26515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) same as a result for IAccessibleText::textAtOffset with a suitably decreased 26525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) index value. 26535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 26545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete 26555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) word that is closest to and located before offset is returned. 26565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2657010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) If the index is valid, but no text is found, S_FALSE is returned along with out 2658010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) values of 0, 0, and a NULL pointer. This would happen for boundary types other 2659010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) than character when the text consists entirely of whitespace. 26605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 26615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] offset 26625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Index of the character for which to return the text part before it. The index 26635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) character will not be part of the returned string. The valid range is 0..length. 2664010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Refer to @ref _specialOffsets 2665010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 2666010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleText methods. 26675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] boundaryType 26685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The type of the text portion to return. See ::IA2TextBoundaryType for the 2669010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) complete list. 26705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] startOffset 26715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based offset of first character. 26725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] endOffset 26735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based offset of one past the last character. 26745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] text 26755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the requested text portion. This portion may be empty or invalid when 26765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) no appropriate text portion is found or text type is invalid. 26775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 26785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if the requested boundary type is not implemented, such as 26795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; 2680010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out] values are 0s and NULL respectively 2681010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 26825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 26835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT textBeforeOffset 26845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 26855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long offset, 26865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] enum IA2TextBoundaryType boundaryType, 26875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *startOffset, 26885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *endOffset, 26895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *text 26905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 26915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 26925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a text portion after the given position. 26935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 26945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the substring of the specified text type that is located after the 26955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) given character and does not include it. The result of this method should be 26965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) same as a result for IAccessibleText::textAtOffset with a suitably increased 26975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) index value. 26985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 26995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete 27005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) word that is closest to and located after offset is returned. 27015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2702010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) If the index is valid, but no text is found, S_FALSE is returned along with out 2703010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) values of 0, 0, and a NULL pointer. This would happen for boundary types other 2704010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) than character when the text consists entirely of whitespace. 27055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 27065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] offset 2707010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Index of the character for which to return the text part after it. The index 27085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) character will not be part of the returned string. The valid range is 0..length. 2709010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Refer to @ref _specialOffsets 2710010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 2711010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleText methods. 27125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] boundaryType 27135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The type of the text portion to return. See ::IA2TextBoundaryType for the complete 27145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) list. 27155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] startOffset 27165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based offset of first character. 27175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] endOffset 27185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based offset of one past the last character. 27195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] text 27205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the requested text portion. This portion may be empty or invalid when 27215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) no appropriate text portion is found or text type is invalid. 27225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 27235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if the requested boundary type is not implemented, such as 27245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; 2725010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out] values are 0s and NULL respectively 2726010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 27275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 27285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT textAfterOffset 27295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 27305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long offset, 27315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] enum IA2TextBoundaryType boundaryType, 27325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *startOffset, 27335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *endOffset, 27345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *text 27355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 27365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 27375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a text portion that spans the given position. 27385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2739010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Returns the substring defined by the specified boundary type at the specified 2740010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) offset. Refer to IA2TextBoundaryType for more details. 2741010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2742010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) For the word boundary type the returned string will contain the word at the 2743010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) offset if the offset is inside a word and will contain the word before the 2744010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) offset if the offset is not inside a word. All offsets from the first to the 2745010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) last characters of a word are considered inside the word. Boundary types of 2746010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) sentence and paragraph should exhibit similar behavior. 2747010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2748010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) If the index is valid, but no text is found, S_FALSE is returned along with out 2749010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) values of 0, 0, and a NULL pointer. This would happen for boundary types other 2750010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) than character when the text consists entirely of whitespace. 27515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 27525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] offset 2753010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Index of the character for which to return the text part it belongs to. The valid 2754010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) range is 0..length. 2755010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Refer to @ref _specialOffsets 2756010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 2757010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleText methods. 27585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] boundaryType 27595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The type of the text portion to return. See ::IA2TextBoundaryType for the complete 27605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) list. 27615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] startOffset 27625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based offset of first character. 27635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] endOffset 27645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based offset of one past the last character. 27655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] text 27665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the requested text portion. This portion may be empty or invalid when 27675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) no appropriate text portion is found or text type is invalid. 27685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 27695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if the requested boundary type is not implemented, such as 27705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; 2771010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out] values are 0s and NULL respectively 2772010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 27735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 27745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT textAtOffset 27755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 27765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long offset, 27775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] enum IA2TextBoundaryType boundaryType, 27785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *startOffset, 27795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *endOffset, 27805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *text 27815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 27825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 27835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Unselects a range of text. 27845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] selectionIndex 27855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Index of selection to remove (0 based). 27865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 27875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 27885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 27895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT removeSelection 27905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 27915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long selectionIndex 27925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 27935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 27945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Sets the position of the caret. 27955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 27965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The caret position/offset is that of the character logically following it, 27975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) e.g. to the right of it in a left to right language. 27985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 27995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Setting the caret position may or may not alter the current selection. A 28005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) change of the selection is notified to the accessibility event listeners with 28015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) an ::IA2_EVENT_TEXT_SELECTION_CHANGED event. 28025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 28035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) When the new caret position differs from the old one (which, of course, is the 28045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) standard case) this is notified to the accessibility event listeners with an 28055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2_EVENT_TEXT_CARET_MOVED event. 28065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] offset 28075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The new index of the caret. This caret is actually placed to the left side of 28085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the character with that index. An index of 0 places the caret so that the next 28095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) insertion goes before the first character. An index of IAccessibleText::nCharacters 2810010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) leads to insertion after the last character. Refer to @ref _specialOffsets 2811010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 2812010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleText methods. 28135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 28145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_FAIL if the caret cannot be set 28155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 28165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 28175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT setCaretOffset 28185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 28195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long offset 28205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 28215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 28225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Changes the bounds of an existing selection. 28235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] selectionIndex 28245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Index of selection to change (0 based) 28255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] startOffset 28265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) New starting offset (0 based) 28275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] endOffset 28285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) New ending offset (0 based) - the offset of the character just past the last character of the selection. 28295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 28305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 2831010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note Refer to @ref _specialOffsets 2832010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 2833010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleText methods. 28345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 28355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT setSelection 28365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 28375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long selectionIndex, 28385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long startOffset, 28395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long endOffset 28405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 28415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 28425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns total number of characters. 28435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 28445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Note that this may be different than the total number of bytes required to store the 28455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) text, if the text contains multi-byte characters. 28465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nCharacters 28475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 28485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 28495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nCharacters 28505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 28515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nCharacters 28525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 28535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 28545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Makes a specific part of string visible on screen. 28555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] startIndex 28565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based character offset. 28575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] endIndex 28585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based character offset - the offset of the character just past the last character of the string. 28595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] scrollType 28605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Defines where the object should be placed on the screen. 28615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 28625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 2863010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note Refer to @ref _specialOffsets 2864010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 2865010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleText methods. 28665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 28675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT scrollSubstringTo 28685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 28695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long startIndex, 28705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long endIndex, 2871010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [in] enum IA2ScrollType scrollType 28725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 28735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 28745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Moves the top left of a substring to a specified location. 28755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 28765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] startIndex 28775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based character offset. 28785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] endIndex 28795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based character offset - the offset of the character just past the last character of the string. 28805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] coordinateType 28815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Specifies whether the coordinates are relative to the screen or the parent object. 28825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] x 28835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Defines the x coordinate. 28845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] y 28855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Defines the y coordinate. 28865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 28875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if the object is already at the specified location. 28885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 2889010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note Refer to @ref _specialOffsets 2890010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 2891010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleText methods. 28925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 28935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT scrollSubstringToPoint 28945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 28955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long startIndex, 28965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long endIndex, 28975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] enum IA2CoordinateType coordinateType, 2898010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [in] long x, 2899010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [in] long y 29005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 29015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 29025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns any inserted text. 29035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 29045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Provided for use by the ::IA2_EVENT_TEXT_INSERTED and ::IA2_EVENT_TEXT_UPDATED 29055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) event handlers. 29065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 29075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This data is only guaranteed to be valid while the thread notifying the event 29085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) continues. Once the handler has returned, the validity of the data depends on 29095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) how the server manages the life cycle of its objects. Also, note that the server 29105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) may have different life cycle management strategies for controls depending on 29115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) whether or not a control manages its children. Lists, trees, and tables can have 29125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) a large number of children and thus it's possible that the child objects for those 29135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) controls would only be created as needed. Servers should document their life cycle 29145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) strategy as this will be of interest to assistive technology or script engines 29155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) accessing data out of process or from other threads. Servers only need to save the 29165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) last inserted block of text and a scope of the entire application is adequate. 29175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 29185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] newText 29195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The text that was just inserted. 29205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 2921010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE If there is nothing to return, the values of IA2TextSegment 2922010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) struct are set as follows: text = NULL, start = 0, end = 0. 2923010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 29245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 29255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT newText 29265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 2927010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, retval] IA2TextSegment *newText 2928010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ); 29295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 29305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns any removed text. 29315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 29325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Provided for use by the IA2_EVENT_TEXT_REMOVED/UPDATED event handlers. 29335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 29345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This data is only guaranteed to be valid while the thread notifying the event 29355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) continues. Once the handler has returned, the validity of the data depends on 29365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) how the server manages the life cycle of its objects. Also, note that the server 29375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) may have different life cycle management strategies for controls depending on 29385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) whether or not a control manages its children. Lists, trees, and tables can have 29395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) a large number of children and thus it's possible that the child objects for those 29405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) controls would only be created as needed. Servers should document their life cycle 29415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) strategy as this will be of interest to assistive technology or script engines 29425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) accessing data out of process or from other threads. Servers only need to save the 29435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) last removed block of text and a scope of the entire application is adequate. 29445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 29455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] oldText 29465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The text that was just removed. 29475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 2948010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE If there is nothing to return, the values of IA2TextSegment 2949010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) struct are set as follows: text = NULL, start = 0, end = 0. 29505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 29515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT oldText 29525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 2953010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, retval] IA2TextSegment *oldText 2954010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ); 2955010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 2956010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} 2957010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/************************************************************************* 2958010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2959010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * File Name (AccessibleText2.idl) 2960010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2961010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * IAccessible2 IDL Specification 2962010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2963010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2013 Linux Foundation 2964010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2006 IBM Corporation 2965010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 2966010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * All rights reserved. 2967010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2968010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2969010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Redistribution and use in source and binary forms, with or without 2970010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * modification, are permitted provided that the following conditions 2971010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * are met: 2972010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2973010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 2974010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * notice, this list of conditions and the following disclaimer. 2975010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2976010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 2977010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * copyright notice, this list of conditions and the following 2978010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * disclaimer in the documentation and/or other materials 2979010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * provided with the distribution. 2980010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2981010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 2982010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * contributors may be used to endorse or promote products 2983010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * derived from this software without specific prior written 2984010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * permission. 2985010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2986010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 2987010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 2988010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 2989010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 2990010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 2991010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2992010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 2993010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 2994010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2995010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2996010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 2997010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 2998010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2999010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3000010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 3001010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * BSD License" as published at: 3002010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 3003010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3004010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 3005010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 3006010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 3007010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3008010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ************************************************************************/ 3009010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3010010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3011010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3012010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3013010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3014010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3015010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3016010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** @brief This interface gives read-only access to text. 3017010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3018010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The %IAccessibleText2 interface extends the functionality of the 3019010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) %IAccessibleText interface. 3020010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)*/ 3021010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)[object, uuid(9690A9CC-5C80-4DF5-852E-2D5AE4189A54)] 3022010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)interface IAccessibleText2 : IAccessibleText 3023010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles){ 3024010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3025010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** @brief Returns the range and of the specified set of attributes. 3026010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3027010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Return the range (start and end offsets) and text attributes that correspond 3028010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) to the given attributes filter at the given offset. 3029010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3030010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [in] offset 3031010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The offset at which to search for the attributes specified in the filter. 3032010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [in] filter 3033010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The requested attribute names. The filter format is "attribute1, attribute2". 3034010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [out] startOffset 3035010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The starting (0-based) offset of the text containing the specified attributes. 3036010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [out] endOffset 3037010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The (0-based) offset one past the last character of the text containing the 3038010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) specified attributes. 3039010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [out] attributeValues 3040010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The values of the requested attributes. 3041010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_OK 3042010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if nothing to return, [out] values are -1, -1, NULL respectively. 3043010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed. 3044010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 3045010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [propget] HRESULT attributeRange 3046010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ( 3047010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [in] long offset, 3048010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [in] BSTR filter, 3049010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out] long *startOffset, 3050010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out] long *endOffset, 3051010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, retval] BSTR *attributeValues 3052010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ); 30535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 30545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 30555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 30565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 30575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleEditableText.idl) 30585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 30595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 30605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3061010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2012 Linux Foundation 30625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 30635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 30645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 30655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 30665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 30675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 30685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 30695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 30705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 30715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 30725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 30735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 30745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 30755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 30765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 30775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 30785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 30795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 30805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 30815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 30825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 30835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 30845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 30855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 30865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 30875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 30885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 30895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 30915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 30925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 30945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 30955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 30965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 30985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 30995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 31005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 31015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 31025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 31035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 31045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 31055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 31065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 31075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3108010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3109010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3110010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 31115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @brief This interface provides clipboard capability to text objects. 31145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This interface is typically used in conjunction with the IAccessibleText 31165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface and complements that interface with the additional capability of 31175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) clipboard operations. Note that even a read only text object can support 31185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the copy capability so this interface is not limited to editable objects. 31195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The substrings used with this interface are specified as follows: 31215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) If startOffset is less than endOffset, the substring starts with the 31225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) character at startOffset and ends with the character just before endOffset. 31235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) If endOffset is lower than startOffset, the result is the same as a call 31245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) with the two arguments exchanged. The whole text can be defined by passing 31255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the indices zero and IAccessibleText::nCharacters. If both indices have the 31265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) same value, an empty string is defined. 31275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Refer to the @ref _specialOffsets 31295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 31305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for information about a special offset constant that can be used in %IAccessibleEditableText methods. 31315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 31325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(A59AA09A-7011-4b65-939D-32B1FB5547E3)] 31335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleEditableText : IUnknown 31345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 31355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Copies the text range into the clipboard. 31375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3138010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The selection is set to the specified offsets and then selection is copied into 3139010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) the system clipboard. 31405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] startOffset 31425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Start index of the text to moved into the clipboard. 31435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The valid range is 0..length. 31445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] endOffset 31455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) End index of the text to moved into the clipboard. 31465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The valid range is 0..length. 31475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 31485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 3149010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note Refer to @ref _specialOffsets 3150010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 3151010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleEditableText 3152010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) methods. 3153010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @deprecated This function is available via the application's GUI. 31545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 31555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT copyText 31565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 31575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long startOffset, 31585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long endOffset 31595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 31605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Deletes a range of text. 31625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The text between and including the two given indices is deleted 31645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) from the text represented by this object. 31655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] startOffset 31675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Start index of the text to be deleted. 31685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The valid range is 0..length. 31695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] endOffset 31705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) End index of the text to be deleted. 31715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The valid range is 0..length. 31725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 31735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 3174010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note Refer to @ref _specialOffsets 3175010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 3176010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleEditableText 3177010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) methods. 31785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 31795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT deleteText 31805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 31815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long startOffset, 31825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long endOffset 31835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 31845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Inserts text at the specified position. 31865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The specified string is inserted at the given index into the text 31885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) represented by this object. 31895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 31905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] offset 31915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Index at which to insert the text. 31925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The valid range is 0..length. 3193010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Refer to @ref _specialOffsets 3194010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 3195010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleEditableText 3196010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) methods. 31975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] text 31985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Text that is inserted. 31995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 32005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 32015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 32025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT insertText 32035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 32045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long offset, 32055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] BSTR *text 32065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 32075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 32085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Deletes a range of text and copies it to the clipboard. 32095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3210010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The selection is set to the specified offsets, the selection is then copied into 3211010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) the system clipboard, and then the selection is deleted. 32125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 32135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] startOffset 32145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Start index of the text to be deleted. 32155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The valid range is 0..length. 32165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] endOffset 32175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) End index of the text to be deleted. 32185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The valid range is 0..length. 32195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 32205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 3221010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note Refer to @ref _specialOffsets 3222010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 3223010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleEditableText 3224010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) methods. 3225010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @deprecated This function is available via the application's GUI. 32265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 32275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT cutText 32285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 32295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long startOffset, 32305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long endOffset 32315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 32325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3233010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** @brief Pastes content from the clipboard. 32345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3235010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Any existing selection is removed, the clipboard content is then pasted into 3236010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) this object's text at the given offset. This method is similar to the insertText 3237010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) method. If the index is not valid the system clipboard content is not inserted. The 3238010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) behavior is the same as when Ctrl+V is used, i.e. the pasted contents are not 3239010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) necessarily plain text. 3240010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 32415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] offset 3242010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Index at which to insert the content from the system clipboard into 32435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the text represented by this object. 32445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The valid range is 0..length. 3245010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Refer to @ref _specialOffsets 3246010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 3247010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleEditableText 3248010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) methods. 32495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 32505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 3251010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @deprecated This function is available via the application's GUI. 32525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 32535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT pasteText 32545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 32555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long offset 32565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 32575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 32585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Replaces text. 32595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 32605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The text between the two given indices is replaced by the specified 32615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) replacement string. This method is equivalent to calling first 32625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleEditableText::deleteText with the two indices and then 32635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) calling IAccessibleEditableText::insertText with the replacement text 32645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) at the start index. 32655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 32665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] startOffset 32675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Start index of the text to be replaced. 32685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The valid range is 0..length. 32695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] endOffset 3270010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) End index of the text to be replaced. 32715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The valid range is 0..length. 32725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] text 32735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The Text that replaces the text between the given indices. 32745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 32755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 3276010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note Refer to @ref _specialOffsets 3277010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 3278010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleEditableText 3279010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) methods. 32805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 32815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT replaceText 32825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 32835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long startOffset, 32845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long endOffset, 32855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] BSTR *text 32865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 32875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 32885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Replaces the attributes of a text range by the given set of attributes. 32895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 32905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Sets the attributes for the text between the two given indices. The old 32915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) attributes are replaced by the new list of attributes. 32925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 32935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] startOffset 32945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Start index of the text whose attributes are modified. 32955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The valid range is 0..length. 32965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] endOffset 3297010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) End index of the text whose attributes are modified. 32985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The valid range is 0..length. 32995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] attributes 33005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Set of attributes that replaces the old list of attributes of 33015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the specified text portion. 33025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 33035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 3304010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note Refer to @ref _specialOffsets 3305010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" 3306010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) for information about special offsets that can be used in %IAccessibleEditableText 3307010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) methods. 33085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 33095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT setAttributes 33105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 33115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long startOffset, 33125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long endOffset, 33135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] BSTR *attributes 33145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 33155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 33165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 33175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 33185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 33195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleHyperlink.idl) 33205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 33215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 33225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 33235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2007, 2010 Linux Foundation 33245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 33255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 33265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 33275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 33285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 33295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 33305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 33315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 33325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 33335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 33345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 33355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 33365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 33375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 33385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 33395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 33405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 33415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 33425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 33435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 33445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 33455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 33465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 33475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 33485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 33495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 33505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 33515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 33525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 33535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 33545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 33565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 33575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 33585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 33605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 33615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 33625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 33635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 33645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 33655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 33665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 33675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 33685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 33695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3370010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3371010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3372010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 33735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 33745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 33755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @brief This interface represents hyperlinks. 33765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 33775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This interface represents a hyperlink associated with a single substring 33785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) of text or single non-text object. Non-text objects can have either a 33795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) single link or a collection of links such as when the non-text object is 33805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) an image map. 33815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 33825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Linked objects and anchors are implementation dependent. This interface is derived 33835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) from IAccessibleAction. IAccessibleAction::nActions is one greater than the 33845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) maximum value for the indices used with the methods of this interface. 33855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 33865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Furthermore, the object that implements this interface has to be connected 33875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) implicitly or explicitly with an object that implements IAccessibleText. 33885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleHyperlink::startIndex and IAccessibleHyperlink::endIndex are 33895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) indices with respect to the text exposed by IAccessibleText. 33905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 33915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This interface provides access to a single object which can have multiple actions. 33925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) An example is an image map which is an image with multiple links each of which is 33935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) associated with a separate non-overlapping area of the image. This interface could 33945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) also be applied to other kinds of objects with multiple actions such as "smart tags" 33955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) which are objects, typically strings, which have multiple actions such as 33965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Activate URI", "Bookmark URI", etc. 33975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 33985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) An interesting use case is an image map where each area is associated with multiple 33995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) actions, e.g. an image map of smart tags. In this case you would have to implement 34005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) two levels of accessible hyperlinks. The first level hyperlinks would only implement 34015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) anchor and anchorTarget. The anchors would all reference the image object. The 34025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) anchorTargets would reference the second level accessible hyperlink objects. None 34035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) of the IAccessibleAction methods would be implemented on the first level hyperlink 34045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) objects. The second level hyperlink objects would implement the IAccessibleAction 34055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) methods. Their anchors would also reference the image object and their anchorTargets 34065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) would reference URLs or the objects that would be activated. 34075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This use case demonstrates that in some cases there is no need for IAccessibleHyperlink 34095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) to derive from IAccessibleAction. As a result it may be removed in a later version of 34105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the IDL and it is suggested that implementations should not rely on the inheritance. 34115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 34135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(01C20F2B-3DD2-400f-949F-AD00BDAB1D41)] 34145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleHyperlink : IAccessibleAction 34155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 34165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns an object that represents the link anchor, as appropriate 34185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for the link at the specified index. 34195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] index 34205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) A 0 based index identifies the anchor when, as in the case of an image map, 34215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) there is more than one link represented by this object. The valid maximal 34225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) index is indicated by IAccessibleAction::nActions. 34235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] anchor 34245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This is an implementation dependent value. For example, for a text link this 34255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) method could return the substring of the containing string where the substring 34265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is overridden with link behavior, and for an image link this method could return 34275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) an IUnknown VARIANT for IAccessibleImage. See the section about 34285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _variants "VARIANTs" for additional information. 34295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 3430010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 34315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 34325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT anchor 34335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 34345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long index, 34355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] VARIANT *anchor 34365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 34375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns an object representing the target of the link, as appropriate 34395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for the link at the specified index. 34405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] index 34415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) A 0 based index identifies the anchor when, as in the case of an image map, 34425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) there is more than one link represented by this object. The valid maximal 34435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) index is indicated by IAccessibleAction::nActions. 34445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] anchorTarget 34455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This is an implementation dependent value. For example this method could 34465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return a BSTR VARIANT of the URI. Alternatively this method could return an 34475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IUnknown VARIANT of a COM interface representing a target object to be 34485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) activated when the link is activated. See the section about 34495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @ref _variants "VARIANTs" for additional information. 34505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 3451010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 34525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 34535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT anchorTarget 34545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 34555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long index, 34565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] VARIANT *anchorTarget 34575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 34585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the 0 based character offset at which the textual representation of the hyperlink starts. 34605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The returned value is related to the IAccessibleText interface of the object that 34625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) owns this hyperlink. 34635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] index 34645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 34655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 34665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT startIndex 34675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 34685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *index 34695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 34705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the 0 based character offset at which the textual representation of the hyperlink ends. 34725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The returned value is related to the IAccessibleText interface of the object that 34745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) owns this hyperlink. The character at the index is not part of the hypertext. 34755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] index 34765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 34775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 34785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT endIndex 34795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 34805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *index 34815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 34825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns whether the target object referenced by this link is still valid. 34845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This is a volatile state that may change without sending an appropriate event. 34865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns TRUE if the referenced target is still valid and FALSE otherwise. 34875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This has also been used to indicate whether or not the URI of the anchorTarget 34895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is malformed. 34905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 34915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] valid 3492010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) If false, one or more of the object's links are invalid. 3493010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) If true, all of the object's links are valid. 34945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 3495010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is FALSE 3496010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @note This method is not being used, is deprecated, and should not be implemented or 3497010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) used. It is likely that this method will be removed in a later version of the IDL. 34985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 34995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT valid 35005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 35015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] boolean *valid 35025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 35035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 35045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 35055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleHypertext.idl) 35075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 35095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2007, 2010 Linux Foundation 35115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 35125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 35135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 35145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 35175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 35185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 35195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 35215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 35225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 35245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 35255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 35265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 35275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 35295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 35305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 35315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 35325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 35345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 35355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 35365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 35375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 35385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 35395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 35405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 35415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 35435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 35455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 35485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 35495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 35505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 35525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 35535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 35545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 35565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3557010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3558010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3559010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 35605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 35615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 35625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 35635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @brief This interface exposes information about hypertext in a document. 35645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 35655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The %IAccessibleHypertext interface is the main interface to expose 35665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) hyperlinks in a document, typically a text document, that are used 35675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) to reference other documents. A typical implementation is to implement 35685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this interface on the smallest text object such as a paragraph of text. 35695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 35705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(6B4F8BBF-F1F2-418a-B35E-A195BC4103B9)] 35715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleHypertext : IAccessibleText 35725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 35735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 35745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the number of links and link groups contained within this hypertext 35755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) paragraph. 35765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] hyperlinkCount 35775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The number of links and link groups within this hypertext paragraph. 35785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns 0 if there is no link. 35795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 35805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 35815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nHyperlinks 35825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 35835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *hyperlinkCount 35845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 35855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 35865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the specified link. 35875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 35885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The returned IAccessibleHyperlink object encapsulates the hyperlink and 35895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) provides several kinds of information describing it. 35905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] index 35915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This 0 based index specifies the hyperlink to return. 35925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] hyperlink 35935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) If the given index is valid, i.e. lies in the interval from 0 to the number 35945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) of links minus one, a reference to the specified hyperlink object is returned. 35955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) If the index is invalid then a NULL pointer is returned. 35965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 3597010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 35985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 35995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT hyperlink 36005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 36015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long index, 36025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IAccessibleHyperlink **hyperlink 36035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 36045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 36055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the index of the hyperlink that is associated with this character index. 36065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 36075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This is the case when a link spans the given character index. 36085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] charIndex 36095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) A 0 based index of the character for which to return the link index. If 36105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleText is used to represent the text containing the link, then the 36115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) character index is only valid if it is greater than or equal to zero and 36125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) lower than the number of characters in the text. 36135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] hyperlinkIndex 36145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the 0 based index of the hyperlink that is associated with this 36155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) character index, or -1 if charIndex is not on a link. 36165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 36175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is -1 3618010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 36195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 36205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT hyperlinkIndex 36215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 36225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long charIndex, 36235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *hyperlinkIndex 36245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 36255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 36265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 36275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 36285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3629010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * File Name (AccessibleHypertext2.idl) 3630010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3631010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * IAccessible2 IDL Specification 3632010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3633010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2013 Linux Foundation 3634010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2006 IBM Corporation 3635010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 3636010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * All rights reserved. 3637010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3638010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3639010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Redistribution and use in source and binary forms, with or without 3640010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * modification, are permitted provided that the following conditions 3641010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * are met: 3642010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3643010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 3644010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * notice, this list of conditions and the following disclaimer. 3645010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3646010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 3647010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * copyright notice, this list of conditions and the following 3648010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * disclaimer in the documentation and/or other materials 3649010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * provided with the distribution. 3650010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3651010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 3652010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * contributors may be used to endorse or promote products 3653010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * derived from this software without specific prior written 3654010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * permission. 3655010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3656010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 3657010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 3658010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 3659010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 3660010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 3661010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 3662010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 3663010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 3664010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3665010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 3666010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 3667010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 3668010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3669010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3670010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 3671010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * BSD License" as published at: 3672010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 3673010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3674010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 3675010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 3676010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 3677010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3678010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ************************************************************************/ 3679010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3680010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3681010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3682010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3683010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3684010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3685010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3686010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** @brief This interface exposes information about hypertext in a document. 3687010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3688010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The %IAccessibleHypertext2 interface extends the functinality of the 3689010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) %IAccessibleHypertext inteface. 3690010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)*/ 3691010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)[object, uuid(CF64D89F-8287-4B44-8501-A827453A6077)] 3692010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)interface IAccessibleHypertext2 : IAccessibleHypertext 3693010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles){ 3694010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3695010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** @brief Returns the links for this object. 3696010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3697010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The returned IAccessibleHyperlink objects encapsulate the hyperlink and 3698010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) provides several kinds of information describing it. 3699010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3700010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [out] hyperlinks 3701010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) This array is allocated by the server. The client must free it with CoTaskMemFree. 3702010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [out] nHyperlinks 3703010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The number of links returned; the size of the returned array. 3704010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_OK 3705010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if there are no links, [out] values are NULL and 0 respectively 3706010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 3707010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [propget] HRESULT hyperlinks 3708010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ( 3709010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, size_is(,*nHyperlinks)] IAccessibleHyperlink ***hyperlinks, 3710010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, retval] long *nHyperlinks 3711010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ); 3712010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3713010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} 3714010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/************************************************************************* 3715010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 37165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleTable.idl) 37175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 37185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 37195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3720010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2013 Linux Foundation 37215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 37225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 37235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 37245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 37255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 37265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 37275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 37285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 37295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 37305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 37315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 37325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 37335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 37345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 37355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 37365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 37375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 37385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 37395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 37405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 37415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 37425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 37435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 37445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 37455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 37465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 37475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 37485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 37495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 37505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 37515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 37525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 37535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 37545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 37555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 37575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 37585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 37595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 37605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 37615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 37625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 37635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 37645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 37655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 37665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3767010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3768010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 3769010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 37705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 37715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 37725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 37735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @brief This interface gives access to a two-dimensional table. 37745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 37755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Typically all accessible objects that represent cells or cell-clusters of a table 37765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) will be at the same time children of the table. In this case IAccessible2::indexInParent 37775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) will return the child index which then can be used when calling IAccessibleTable::rowIndex 37785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) and IAccessibleTable::columnIndex. 37795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 37805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) However, in some cases that kind of implementation will not be possible. When 37815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the table cells are not direct children of a table, the object representing 37825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the cell can define a "table-cell-index" object attribute identifying the 0 37835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) based table cell index. This object attribute is obtained by parsing the 37845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) attribute string returned by IAccessible2::attributes. The "table-cell-index" 37855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) attribute can be used just like a child index of the typical case. ATs should 37865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) first test for the presence of the "table-cell-index" attribute and if it is not 37875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) present then IAccessible2::indexInParent can be used as in the typical case 37885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) where cells are direct children of the table. 37895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 37905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The range of valid coordinates for this interface are implementation dependent. 37915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) However, that range includes at least the intervals from the from the first row 37925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) or column with the index 0 up to the last (but not including) used row or column 37935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) as returned by IAccessibleTable::nRows and IAccessibleTable::nColumns. 37945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 37955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Note that newer implementations are now using IAccessibleTable2 and IAccessibleTableCell 37965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rather than this interface. 37975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 37985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(35AD8070-C20C-4fb4-B094-F4F7275DD469)] 37995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleTable : IUnknown 38005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 38015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 38025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the accessible object at the specified row and column in 38035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the table. This object could be an IAccessible or an IAccessible2. 38045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 38055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The 0 based row index for which to retrieve the cell. 38065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 38075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The 0 based column index for which to retrieve the cell. 38085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] accessible 38095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) If both row and column index are valid then the corresponding accessible 38105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) object is returned that represents the requested cell regardless of whether 38115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the cell is currently visible (on the screen). 38125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 38135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, [out] value is NULL 38145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 38155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT accessibleAt 38165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 38175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row, 38185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column, 38195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IUnknown **accessible 38205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 38215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 38225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the caption for the table. The returned object could be 38235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) an IAccessible or an IAccessible2. 38245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] accessible 38255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) If the table has a caption then a reference to it is returned, else a NULL 38265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pointer is returned. 38275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 38285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 38295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 38305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT caption 38315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 38325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IUnknown **accessible 38335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 38345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 38355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Translates the given row and column indexes into the corresponding cell index. 38365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] rowIndex 38375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based row index for the cell. 38385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] columnIndex 38395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based column index for the cell. 38405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] cellIndex 38415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the 0 based index of the cell at the specified row and column indexes. 38425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 38435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, [out] value is 0 38445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @note The returned value is not necessarily a child index of the immediate parent. 38455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) In cases where the table cells are not direct children of the table the index 38465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is actually the cell index, i.e. conceptually it's an index into a one dimensional 38475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) array of cells laid out in row order. 38485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 38495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT childIndex 38505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 38515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long rowIndex, 38525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long columnIndex, 38535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *cellIndex 38545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 38555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 38565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the description text of the specified column in the table. 38575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 38585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The 0 based index of the column for which to retrieve the description. 38595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] description 38605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the description text of the specified column in the table if such a 38615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) description exists. Otherwise a NULL pointer is returned. 38625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 38635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 38645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, [out] value is NULL 38655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 38665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT columnDescription 38675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 38685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column, 38695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *description 38705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 38715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 38725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the number of columns occupied by the accessible object 38735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) at the specified row and column in the table. 38745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 38755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The result is greater than 1 if the specified cell spans multiple columns. 38765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 38775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based row index of the accessible for which to return the column extent. 38785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 38795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based column index of the accessible for which to return the column extent. 38805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nColumnsSpanned 38815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the 1 based column extent of the specified cell. 38825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 38835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, [out] value is 0 38845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 38855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT columnExtentAt 38865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 38875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row, 38885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column, 38895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nColumnsSpanned 38905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 38915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 38925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the column headers as an %IAccessibleTable object. 38935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 38945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Content and size of the returned table are implementation dependent. 38955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] accessibleTable 38965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The column header 38975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] startingRowIndex 38985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The 0 based row index where the header starts, usually 0. 38995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 39005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively 39015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 39025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT columnHeader 39035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 39045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] IAccessibleTable **accessibleTable, 39055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *startingRowIndex 39065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 39075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 39085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Translates the given cell index into the corresponding column index. 39095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] cellIndex 39105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the cell in the parent or closest ancestor table. Typically this 39115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is the value returned from IAccessible2::indexInParent, but in the case where the 39125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) table cells are not direct children of the table this is the cell index specified 39135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) by the "table-cell-index" object attribute obtained from parsing the attributes 39145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) string returned by calling IAccessible2::attributes on the cell object. 39155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] columnIndex 39165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the 0 based column index of the cell of the specified child or the index of 39175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the first column if the child spans multiple columns. 39185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 39195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, [out] value is 0 39205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 39215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT columnIndex 39225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 39235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long cellIndex, 39245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *columnIndex 39255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 39265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 39275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the total number of columns in table 39285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] columnCount 39295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of columns in table (including columns outside the current viewport) 39305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 39315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 39325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nColumns 39335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 39345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *columnCount 39355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 39365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 39375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the total number of rows in table 39385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] rowCount 39395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of rows in table (including rows outside the current viewport) 39405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 39415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 39425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nRows 39435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 39445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *rowCount 39455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 39465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 39475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the total number of selected cells 39485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] cellCount 39495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of cells currently selected 39505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 39515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 39525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nSelectedChildren 39535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 39545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *cellCount 39555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 39565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 39575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the total number of selected columns 39585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] columnCount 39595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of columns currently selected 39605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 39615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 39625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nSelectedColumns 39635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 39645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *columnCount 39655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 39665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 39675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the total number of selected rows 39685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] rowCount 39695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of rows currently selected 39705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 39715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 39725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nSelectedRows 39735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 39745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *rowCount 39755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 39765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 39775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the description text of the specified row in the table. 39785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 39795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The 0 based index of the row for which to retrieve the description. 39805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] description 39815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the description text of the specified row in the table if such a 39825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) description exists. Otherwise a NULL pointer is returned. 39835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 39845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 39855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, [out] value is NULL 39865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 39875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT rowDescription 39885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 39895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row, 39905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *description 39915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 39925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 39935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the number of rows occupied by the accessible object 39945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) at the specified row and column in the table. 39955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 39965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The result is greater than 1 if the specified cell spans multiple rows. 39975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 39985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based row index of the accessible for which to return the row extent. 39995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 40005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based column index of the accessible for which to return the row extent. 40015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nRowsSpanned 40025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the row extent of the specified cell. 40035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 40045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, [out] value is 0 40055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 40065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT rowExtentAt 40075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 40085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row, 40095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column, 40105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nRowsSpanned 40115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 40125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 40135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the row headers as an %IAccessibleTable object. 40145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 40155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Content and size of the returned table are implementation dependent. 40165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] accessibleTable 40175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The row header. 40185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] startingColumnIndex 40195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The 0 based column index where the header starts, usually 0. 40205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 40215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively 40225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 40235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT rowHeader 40245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 40255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] IAccessibleTable **accessibleTable, 40265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *startingColumnIndex 40275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 40285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 40295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Translates the given cell index into a row index. 40305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] cellIndex 40315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the cell in the parent or closest ancestor table. Typically this 40325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is the value returned from IAccessible2::indexInParent, but in the case where the 40335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) table cells are not direct children of the table this is the cell index specified 40345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) by the "table-cell-index" object attribute obtained from parsing the attributes 40355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) string returned by calling IAccessible2::attributes on the cell object. 40365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] rowIndex 40375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based row index 40385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 40395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, [out] value is 0 40405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 40415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT rowIndex 40425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 40435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long cellIndex, 40445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *rowIndex 40455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 40465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 40475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a list of cell indexes currently selected (0 based). 40485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] maxChildren 40495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This parameter is ignored. Refer to @ref _arrayConsideration 40505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Special Consideration when using Arrays" for more details. 40515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] children 40525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) An array of cell indexes of selected cells (each index is 0 based), 4053010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) allocated by the server. The client must free it with CoTaskMemFree. 40545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nChildren 40555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The number of cell indexes returned; the size of the returned array. 40565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 40575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there are none, [out] values are NULL and 0 respectively 40585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 40595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT selectedChildren 40605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 40615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long maxChildren, 40625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, size_is(,maxChildren), length_is(,*nChildren)] long **children, 40635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nChildren 40645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 40655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 40665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a list of column indexes currently selected (0 based). 40675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] maxColumns 40685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This parameter is ignored. Refer to @ref _arrayConsideration 40695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Special Consideration when using Arrays" for more details. 40705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] columns 40715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) An array of column indexes of selected columns (each index is 0 based), allocated 4072010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) by the server. The client must free it with CoTaskMemFree. 40735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nColumns 40745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The number of column indexes returned; the size of the returned array. 40755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 40765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there are none, [out] values are NULL and 0 respectively 40775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 40785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT selectedColumns 40795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 40805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long maxColumns, 40815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, size_is(,maxColumns), length_is(,*nColumns)] long **columns, 40825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nColumns 40835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 40845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 40855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a list of row indexes currently selected (0 based). 40865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] maxRows 40875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This parameter is ignored. Refer to @ref _arrayConsideration 40885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Special Consideration when using Arrays" for more details. 40895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] rows 40905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) An array of row indexes of selected rows (each index is 0 based), allocated 4091010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) by the server. The client must free it with CoTaskMemFree. 40925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nRows 40935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The number of row indexes returned; the size of the returned array. 40945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 40955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there are none, [out] values are NULL and 0 respectively 40965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 40975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT selectedRows 40985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 40995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long maxRows, 41005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, size_is(,maxRows), length_is(,*nRows)] long **rows, 41015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nRows 41025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 41035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 41045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the summary description of the table. The returned object could be 41055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) an IAccessible or an IAccessible2. 41065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] accessible 41075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns a reference to an implementation dependent accessible object 41085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) representing the table's summary or a NULL pointer if the table 41095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) does not support a summary. 41105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 41115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 41125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 41135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT summary 41145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 41155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IUnknown **accessible 41165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 41175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 41185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a boolean value indicating whether the specified column is 41195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) completely selected. 41205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 41215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the column for which to determine whether it is selected. 41225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] isSelected 41235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns TRUE if the specified column is selected completely and FALSE otherwise. 41245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 41255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE 41265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 41275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT isColumnSelected 41285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 41295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column, 41305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] boolean *isSelected 41315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 41325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 41335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a boolean value indicating whether the specified row is completely 41345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) selected. 41355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 41365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the row for which to determine whether it is selected. 41375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] isSelected 41385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns TRUE if the specified row is selected completely and FALSE otherwise. 41395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 41405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE 41415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 41425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT isRowSelected 41435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 41445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row, 41455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] boolean *isSelected 41465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 41475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 41485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a boolean value indicating whether the specified cell is selected. 41495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 41505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the row for the cell to determine whether it is selected. 41515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 41525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the column for the cell to determine whether it is selected. 41535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] isSelected 41545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns TRUE if the specified cell is selected and FALSE otherwise. 41555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 41565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE 41575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 41585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT isSelected 41595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 41605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row, 41615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column, 41625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] boolean *isSelected 41635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 41645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 41655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Selects a row and unselects all previously selected rows. 41665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 41675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the row to be selected. 41685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 41695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 41705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 41715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT selectRow 41725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 41735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row 41745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 41755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 41765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Selects a column and unselects all previously selected columns. 41775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 41785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the column to be selected. 41795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 41805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 41815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 41825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT selectColumn 41835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 41845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column 41855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 41865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 41875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Unselects one row, leaving other selected rows selected (if any). 41885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 41895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the row to be unselected. 41905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 41915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 41925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 41935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT unselectRow 41945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 41955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row 41965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 41975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 41985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Unselects one column, leaving other selected columns selected (if any). 41995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 42005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the column to be unselected. 42015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 42025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 42035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 42045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT unselectColumn 42055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 42065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column 42075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 42085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 42095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Given a cell index, gets the row and column indexes and extents of a cell 42105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) and whether or not it is selected. 42115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 42125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This is a convenience function. It is not mandatory to implement it. 42135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] index 42145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of this cell in the table. 42155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] row 42165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based row index. 42175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] column 42185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based column index. 42195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] rowExtents 42205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of cells spanned by this cell in this row. 42215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] columnExtents 42225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of cells spanned by this cell in this column. 42235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] isSelected 42245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Indicates if the specified cell is selected. 42255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 42265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed, [out] values are 0s and FALSE respectively 42275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 42285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT rowColumnExtentsAtIndex 42295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 42305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long index, 42315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *row, 42325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *column, 42335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *rowExtents, 42345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *columnExtents, 42355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] boolean *isSelected 42365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 42375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 42385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the type and extents describing how a table changed. 42395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 42405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Provided for use by the IA2_EVENT_TABLE_MODEL_CHANGED event handler. 42415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 42425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This data is only guaranteed to be valid while the thread notifying the event 42435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) continues. Once the handler has returned, the validity of the data depends on 42445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) how the server manages the life cycle of its objects. Also, note that the server 42455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) may have different life cycle management strategies for controls depending on 42465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) whether or not a control manages its children. Lists, trees, and tables can have 42475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) a large number of children and thus it's possible that the child objects for those 42485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) controls would only be created as needed. Servers should document their life cycle 42495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) strategy as this will be of interest to assistive technology or script engines 42505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) accessing data out of process or from other threads. Servers only need to save the 42515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) most recent row and column values associated with the change and a scope of the 42525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) entire application is adequate. 42535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 42545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] modelChange 42555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) A struct of (type(insert, delete, update), firstRow, lastRow, firstColumn, lastColumn). 42565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 42575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 42585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 42595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT modelChange 42605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 42615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IA2TableModelChange *modelChange 42625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 42635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 42645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 42655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 42665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 42675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleTable2.idl) 42685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 42695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 42705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 4271010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2012 Linux Foundation 42725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 42735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 42745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 42755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 42765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 42775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 42785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 42795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 42805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 42815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 42825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 42835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 42845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 42855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 42865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 42875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 42885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 42895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 42905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 42915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 42925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 42935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 42945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 42955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 42965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 42975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 42985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 42995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 43005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 43015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 43025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 43035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 43045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 43055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 43065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 43075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 43085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 43095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 43105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 43115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 43125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 43135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 43145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 43155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 43165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 43175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4318010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 4319010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 4320010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 43215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 43225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 43235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 43245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @brief This interface gives access to a two-dimensional table. 43255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 43265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Please also refer to the IAccessibleTableCell interface. 43275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 43285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) If you want to support older applications you should also support the 43295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IAccessibleTable inteface. 43305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 43315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(6167f295-06f0-4cdd-a1fa-02e25153d869)] 43325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleTable2 : IUnknown 43335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 43345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 43355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the accessible object at the specified row and column in 43365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the table. This object could be an IAccessible or an IAccessible2. 43375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 43385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The 0 based row index for which to retrieve the cell. 43395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 43405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The 0 based column index for which to retrieve the cell. 43415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] cell 43425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) If both row and column index are valid then the corresponding accessible 43435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) object is returned that represents the requested cell regardless of whether 43445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the cell is currently visible (on the screen). 43455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 4346010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 43475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 43485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT cellAt 43495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 43505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row, 43515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column, 43525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IUnknown **cell 43535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 43545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 43555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the caption for the table. The returned object could be 43565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) an IAccessible or an IAccessible2. 43575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] accessible 43585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) If the table has a caption then a reference to it is returned, else a NULL 43595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pointer is returned. 43605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 4361010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 4362010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @deprecated use a describedBy relation 43635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 43645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT caption 43655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 43665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IUnknown **accessible 43675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 43685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 43695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the description text of the specified column in the table. 43705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 43715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The 0 based index of the column for which to retrieve the description. 43725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] description 43735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the description text of the specified column in the table if such a 43745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) description exists. Otherwise a NULL pointer is returned. 43755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 43765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 4377010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 43785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 43795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT columnDescription 43805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 43815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column, 43825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *description 43835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 43845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 43855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 43865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the total number of columns in table 43875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] columnCount 43885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of columns in table (including columns outside the current viewport) 43895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 43905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 43915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nColumns 43925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 43935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *columnCount 43945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 43955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 43965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the total number of rows in table 43975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] rowCount 43985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of rows in table (including rows outside the current viewport) 43995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 44005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 44015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nRows 44025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 44035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *rowCount 44045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 44055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 44065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the total number of selected cells 44075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] cellCount 44085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of cells currently selected 44095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 44105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 44115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nSelectedCells 44125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 44135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *cellCount 44145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 44155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 44165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the total number of selected columns 44175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] columnCount 44185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of columns currently selected 44195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 44205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 44215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nSelectedColumns 44225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 44235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *columnCount 44245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 44255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 44265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the total number of selected rows 44275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] rowCount 44285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of rows currently selected 44295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 44305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 44315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT nSelectedRows 44325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 44335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *rowCount 44345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 44355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 44365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the description text of the specified row in the table. 44375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 44385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The 0 based index of the row for which to retrieve the description. 44395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] description 44405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the description text of the specified row in the table if such a 44415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) description exists. Otherwise a NULL pointer is returned. 44425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 44435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 4444010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 44455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 44465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT rowDescription 44475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 44485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row, 44495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *description 44505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 44515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 44525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a list of accessibles currently selected. 44535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] cells 44545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Pointer to an array of references to selected accessibles. The array is 4455010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) allocated by the server with CoTaskMemAlloc and freed by the client with 4456010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) CoTaskMemFree. 44575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nSelectedCells 44585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The number of accessibles returned; the size of the returned array. 44595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 44605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there are none, [out] values are NULL and 0 respectively 44615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 44625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT selectedCells 44635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 4464010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, size_is(,*nSelectedCells)] IUnknown ***cells, 44655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nSelectedCells 44665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 44675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 44685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a list of column indexes currently selected (0 based). 44695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] selectedColumns 44705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) A pointer to an array of column indexes of selected columns (each index is 4471010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 0 based). The array is allocated by the server with CoTaskMemAlloc and 4472010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) freed by the client with CoTaskMemFree. 44735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nColumns 44745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The number of column indexes returned; the size of the returned array. 44755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 44765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there are none, [out] values are NULL and 0 respectively 44775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 44785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT selectedColumns 44795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 44805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, size_is(,*nColumns)] long **selectedColumns, 44815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nColumns 44825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 44835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 44845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a list of row indexes currently selected (0 based). 44855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] selectedRows 4486010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) An array of row indexes of selected rows (each index is 0 based). The array 4487010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) is allocated by the server with CoTaskMemAlloc and freed by the client with 4488010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) CoTaskMemFree. 44895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nRows 44905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The number of row indexes returned; the size of the returned array. 44915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 44925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there are none, [out] values are NULL and 0 respectively 44935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 44945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT selectedRows 44955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 44965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, size_is(,*nRows)] long **selectedRows, 44975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nRows 44985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 44995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the summary description of the table. The returned object could be 45015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) an IAccessible or an IAccessible2. 45025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] accessible 45035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns a reference to an implementation dependent accessible object 45045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) representing the table's summary or a NULL pointer if the table 45055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) does not support a summary. 45065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 4507010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 4508010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @deprecated Use the labeledBy relation 45095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 45105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT summary 45115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 45125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IUnknown **accessible 45135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 45145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a boolean value indicating whether the specified column is 45165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) completely selected. 45175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 45185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the column for which to determine whether it is selected. 45195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] isSelected 45205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns TRUE if the specified column is selected completely and FALSE otherwise. 45215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 4522010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 45235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 45245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT isColumnSelected 45255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 45265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column, 45275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] boolean *isSelected 45285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 45295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a boolean value indicating whether the specified row is completely 45315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) selected. 45325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 45335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the row for which to determine whether it is selected. 45345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] isSelected 45355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns TRUE if the specified row is selected completely and FALSE otherwise. 45365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 4537010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 45385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 45395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT isRowSelected 45405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 45415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row, 45425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] boolean *isSelected 45435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 45445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Selects a row and unselects all previously selected rows. 45465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The behavior should mimic that of the application, but for those applications 45485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) which do not have a means in the GUI to select a full row of cells the behavior 45495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) should be as follows: First any selected rows in the table are unselected. Then 45505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the entire row of cells for the specified row is selected. If any of the 45515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cells in the selected row span additional rows, the cells in those rows 45525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) are also selected. 45535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 45545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the row to be selected. 45555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 45565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 45575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 45585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT selectRow 45595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 45605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row 45615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 45625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Selects a column and unselects all previously selected columns. 45645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The behavior should mimic that of the application, but for those applications 45665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) which do not have a means in the GUI to select a full column of cells the behavior 45675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) should be as follows: First any selected columns in the table are unselected. Then 45685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the entire column of cells for the specified column is selected. If any of the 45695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cells in the selected column span additional columns, the cells in those columns 45705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) are also selected. 45715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 45725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the column to be selected. 45735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 45745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 45755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 45765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT selectColumn 45775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 45785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column 45795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 45805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Unselects one row, leaving other selected rows selected (if any). 45825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The behavior should mimic that of the application, but for those applications 45845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) which do not have a means in the GUI to unselect a full row of cells the 45855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) behavior should be as follows: The entire row of cells for the specified 45865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) row is unselected. If any of the cells in the selected row span additional 45875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rows, the cells in those rows are also unselected. 45885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] row 45895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the row to be unselected. 45905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 45915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 45925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 45935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT unselectRow 45945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 45955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long row 45965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 45975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Unselects one column, leaving other selected columns selected (if any). 45995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 46005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The behavior should mimic that of the application, but for those applications 46015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) which do not have a means in the GUI to unselect a full column of cells the 46025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) behavior should be as follows: The entire column of cells for the specified 46035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) column is unselected. If any of the cells in the selected column span additional 46045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) columns, the cells in those columns are also unselected. 46055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] column 46065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based index of the column to be unselected. 46075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 46085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval E_INVALIDARG if bad [in] passed 46095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 46105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HRESULT unselectColumn 46115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 46125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] long column 46135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 46145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 46155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the type and extents describing how a table changed. 46165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 46175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Provided for use by the IA2_EVENT_TABLE_MODEL_CHANGED event handler. 46185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 46195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This data is only guaranteed to be valid while the thread notifying the event 46205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) continues. Once the handler has returned, the validity of the data depends on 46215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) how the server manages the life cycle of its objects. Also, note that the server 46225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) may have different life cycle management strategies for controls depending on 46235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) whether or not a control manages its children. Lists, trees, and tables can have 46245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) a large number of children and thus it's possible that the child objects for those 46255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) controls would only be created as needed. Servers should document their life cycle 46265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) strategy as this will be of interest to assistive technology or script engines 46275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) accessing data out of process or from other threads. Servers only need to save the 46285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) most recent row and column values associated with the change and a scope of the 46295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) entire application is adequate. 46305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 46315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] modelChange 46325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) A struct of (type(insert, delete, update), firstRow, lastRow, firstColumn, lastColumn). 46335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 46345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 46355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 46365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT modelChange 46375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 46385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IA2TableModelChange *modelChange 46395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 46405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 46415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 46425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 46435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 46445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleTableCell.idl) 46455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 46465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 46475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 4648010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2013 Linux Foundation 46495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 46505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 46515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 46525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 46535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 46545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 46555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 46565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 46575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 46585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 46595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 46605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 46615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 46625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 46635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 46645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 46655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 46665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 46675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 46685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 46695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 46705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 46715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 46725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 46735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 46745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 46755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 46765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 46775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 46785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 46795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 46805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 46815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 46825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 46835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 46845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 46855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 46865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 46875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 46885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 46895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 46905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 46915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 46925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 46935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 46945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4695010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 4696010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 4697010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 46985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 46995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @brief This interface gives access to the cells of a two-dimensional table. 47015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Please also refer to the IAccessibleTable2 interface. 47035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 47055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(594116B1-C99F-4847-AD06-0A7A86ECE645)] 47065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleTableCell : IUnknown 47075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 47085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the number of columns occupied by this cell accessible. 47105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The result is greater than 1 if the specified cell spans multiple columns. 47125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nColumnsSpanned 47135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the 1 based column extent of the specified cell. 47145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 47155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 47165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT columnExtent 47175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 47185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nColumnsSpanned 47195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 47205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the column headers as an array of cell accessibles. 47225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] cellAccessibles 47245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Pointer to an array of references to cell accessibles. The array is allocated 4725010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) by the server. The client must free it with CoTaskMemFree. 47265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nColumnHeaderCells 47275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The number of accessibles returned; the size of the returned array. 47285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 47295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively 47305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 47315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT columnHeaderCells 47325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 4733010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, size_is(,*nColumnHeaderCells)] IUnknown ***cellAccessibles, 47345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nColumnHeaderCells 47355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 47365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Translates this cell accessible into the corresponding column index. 47385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] columnIndex 47405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the 0 based column index of the cell of the specified cell or the index of 47415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the first column if the cell spans multiple columns. 47425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 47435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 47445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT columnIndex 47455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 47465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *columnIndex 47475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 47485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the number of rows occupied by this cell accessible. 47505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nRowsSpanned 47525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the row extent of the specified cell. 47535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 47545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 47555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT rowExtent 47565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 47575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nRowsSpanned 47585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 47595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the row headers as an array of cell accessibles. 47615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] cellAccessibles 47635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Pointer to an array of references to cell accessibles. The array is allocated 4764010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) by the server. The client must free it with CoTaskMemFree. 47655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] nRowHeaderCells 47665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) The number of accessibles returned; the size of the returned array. 47675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 47685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively 47695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 47705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT rowHeaderCells 47715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 4772010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, size_is(,*nRowHeaderCells)] IUnknown ***cellAccessibles, 47735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *nRowHeaderCells 47745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 47755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Translates this cell accessible into the corresponding row index. 47775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] rowIndex 47795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns the 0 based row index of the specified cell or the index of 47805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) the first row if the cell spans multiple rows. 47815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 47825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 47835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT rowIndex 47845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 47855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *rowIndex 47865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 47875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a boolean value indicating whether this cell is selected. 47895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] isSelected 47915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns TRUE if the specified cell is selected and FALSE otherwise. 47925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 47935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 47945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT isSelected 47955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 47965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] boolean *isSelected 47975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 47985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 47995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Gets the row and column indexes and extents of this cell accessible 48005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) and whether or not it is selected. 48015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 48025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This is a convenience function. It is not mandatory to implement it. 48035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] row 48045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based row index. 48055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] column 48065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 0 based column index. 48075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] rowExtents 48085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of cells spanned by this cell in this row. 48095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] columnExtents 48105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Number of cells spanned by this cell in this column. 48115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] isSelected 48125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Indicates if the specified cell is selected. 48135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 48145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 48155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT rowColumnExtents 48165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 48175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *row, 48185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *column, 48195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *rowExtents, 48205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *columnExtents, 48215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] boolean *isSelected 48225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 48235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 48245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns a reference to the accessbile of the containing table. 48255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 48265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] table 48275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns a reference to the IUnknown of the containing table. 48285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 48295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 48305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT table 48315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 48325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] IUnknown **table 48335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 48345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 48355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 48365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 48375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 48385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleImage.idl) 48395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 48405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 48415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 48425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2007, 2010 Linux Foundation 48435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 48445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 48455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 48465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 48475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 48485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 48495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 48505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 48515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 48525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 48535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 48545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 48555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 48565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 48575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 48585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 48595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 48605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 48615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 48625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 48635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 48645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 48655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 48665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 48675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 48685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 48695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 48705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 48715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 48725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 48735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 48755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 48765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 48775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 48785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 48795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 48805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 48815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 48825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 48835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 48845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 48855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 48865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 48875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 48885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4889010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 4890010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 4891010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 48925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 48935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 48945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @brief This interface represents images and icons. 48955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 48965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This interface is used for a representation of images like icons on buttons. 48975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) %IAccessibleImage only needs to be implemented in certain situations. Some 48985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) examples are: 48995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <ol> 49005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <li>The accessible name and description are not enough to fully 49015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) describe the image, e.g. when the accessible description is used to define the 49025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) behavior of an actionable image and the image itself conveys semantically 49035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) significant information. 49045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) <li>The user can edit the content that includes an 49055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) image and therefore the user needs to be able to review the image's position. 49065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) </ol> 49075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 49085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE)] 49095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleImage : IUnknown 49105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 49115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the localized description of the image. 49125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] description 49135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 49145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 49155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 49165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT description 49175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 49185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *description 49195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 49205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 49215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the coordinates of the image. 49225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [in] coordinateType 49235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Specifies whether the returned coordinates should be relative to the screen or the parent object. 49245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] x 49255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] y 49265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 49275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 49285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT imagePosition 49295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 49305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] enum IA2CoordinateType coordinateType, 49315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *x, 49325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *y 49335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 49345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 49355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the size of the image in units specified by parent's coordinate system. 49365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] height 49375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] width 49385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 49395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 49405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 49415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT imageSize 49425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 49435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out] long *height, 49445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] long *width 49455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 49465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 49475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 49485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 49495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleEventID.idl) 49505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 49515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 49525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 49535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2007, 2010 Linux Foundation 49545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 49555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 49565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 49575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 49585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 49595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 49605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 49615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 49625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 49635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 49645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 49655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 49665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 49675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 49685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 49695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 49705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 49715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 49725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 49735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 49745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 49755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 49765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 49775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 49785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 49795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 49805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 49815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 49825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 49835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 49845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 49855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 49865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 49875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 49885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 49895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 49905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 49915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 49925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 49935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 49945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 49955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 49965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 49975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 49985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 49995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** %IAccessible2 specific event constants 50015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This enum defines the event IDs fired by %IAccessible2 objects. The event IDs 50035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) are in addition to those used by MSAA. 50045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 50055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum IA2EventID { 50065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The change of the number or attributes of actions of an accessible 50085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) object is signaled by events of this type. 50095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_ACTION_CHANGED = 0x101, 50115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5012010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** <b>Deprecated.</b> The active descendant of a component has changed. 50135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Note: This event constant is misspelled and thus is deprecated and will be 50155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) removed in a later version. Please use the correctly spelled version which 50165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) follows. 50175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_ACTIVE_DECENDENT_CHANGED, 50195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The active descendant of a component has changed. The active descendant 50215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) is used in objects with transient children. 50225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Note: Due to the fact that MSAA's WinEvents don't allow the active child index 50245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event the manages 50255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) descendants scheme can't be used. Instead the active child object has to fire 50265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be 50275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) added to provide for event specific data to be passed with the event. At that 50285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and 50295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_STATE_MANAGES_DESCENDANTS state would be useful. 50305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED, 50325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The document wide attributes of the document object have changed. 50345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED, 50365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The contents of the document have changed. 50385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_DOCUMENT_CONTENT_CHANGED, 50405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The loading of the document has completed. 50425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_DOCUMENT_LOAD_COMPLETE, 50445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The loading of the document was interrupted. 50465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_DOCUMENT_LOAD_STOPPED, 50485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The document contents are being reloaded. 50505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_DOCUMENT_RELOAD, 50525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The ending index of this link within the containing string has changed. 50545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_HYPERLINK_END_INDEX_CHANGED, 50565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The number of anchors associated with this hyperlink object has changed. 50585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED, 50605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The hyperlink selected state changed from selected to unselected or 50625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) from unselected to selected. 50635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED, 50655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** One of the links associated with the hypertext object has been activated. 50675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_HYPERTEXT_LINK_ACTIVATED, 50695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** One of the links associated with the hypertext object has been selected. 50715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_HYPERTEXT_LINK_SELECTED, 50735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The starting index of this link within the containing string has changed. 50755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_HYPERLINK_START_INDEX_CHANGED, 50775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Focus has changed from one hypertext object to another, or focus moved 50795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) from a non-hypertext object to a hypertext object, or focus moved from a 50805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) hypertext object to a non-hypertext object. 50815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_HYPERTEXT_CHANGED, 50835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The number of hyperlinks associated with a hypertext object changed 50855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_HYPERTEXT_NLINKS_CHANGED, 50875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** An object's attributes changed. 50895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also see ::IA2_EVENT_TEXT_ATTRIBUTE_CHANGED. 50905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED, 50925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A slide changed in a presentation document or a page boundary was 50945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) crossed in a word processing document. 50955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 50965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_PAGE_CHANGED, 50975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The caret moved from one section to the next. 50995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_SECTION_CHANGED, 51015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A table caption changed. 51035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TABLE_CAPTION_CHANGED, 51055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A table's column description changed. 51075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED, 51095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A table's column header changed. 51115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED, 51135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A table's data changed. 51155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TABLE_MODEL_CHANGED, 51175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A table's row description changed. 51195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED, 51215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A table's row header changed. 51235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TABLE_ROW_HEADER_CHANGED, 51255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A table's summary changed. 51275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TABLE_SUMMARY_CHANGED, 51295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A text object's attributes changed. 51315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Also see ::IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED. 51325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TEXT_ATTRIBUTE_CHANGED, 51345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The caret has moved to a new position. 51365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TEXT_CARET_MOVED, 51385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** <b>Deprecated.</b> This event is equivalent to ::IA2_EVENT_TEXT_UPDATED. 51405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TEXT_CHANGED, 51425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The caret moved from one column to the next. 51445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TEXT_COLUMN_CHANGED, 51465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Text was inserted. 51485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TEXT_INSERTED, 51505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** Text was removed. 51525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TEXT_REMOVED, 51545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** This event indicates general text changes, i.e. changes to text that are 51565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) exposed through the IAccessibleText interface. For compatibility with ATK/AT-SPI 51575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) which does not have an equivalent event, servers can alternatively fire 51585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ::IA2_EVENT_TEXT_REMOVED and ::IA2_EVENT_TEXT_INSERTED. 51595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TEXT_UPDATED, 51615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** The text selection changed. Later versions of Microsoft development environments 51635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) have an equivalent event identified, EVENT_OBJECT_TEXTSELECTIONCHANGED. Servers 51645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) should use that if it is available and use IA2_EVENT_TEXT_SELECTION_CHANGED otherwise. 51655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Clients should be prepared to respond to either event. 51665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_TEXT_SELECTION_CHANGED, 51695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** A visible data event indicates the change of the visual appearance 51715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) of an accessible object. This includes for example most of the 51725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) attributes available via the IAccessibleComponent interface. 51735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 51745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IA2_EVENT_VISIBLE_DATA_CHANGED 51755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 51775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 51785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 51795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (AccessibleApplication.idl) 51805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 51815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 51825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 51835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2007, 2010 Linux Foundation 51845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 51855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 51865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 51875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 51885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 51895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 51905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 51915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 51925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 51935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 51945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 51955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 51965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 51975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 51985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 51995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 52005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 52015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 52025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 52035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 52045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 52055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 52065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 52075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 52085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 52095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 52105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 52115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 52125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 52135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 52145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 52155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 52165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 52175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 52185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 52195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 52205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 52215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 52225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 52235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 52245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 52255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 52265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 52275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 52285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 52295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5231010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5232010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5233010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 52345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** @brief This interface gives access to the application's name and version information. 52365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) This interface provides the AT with the information it needs to differentiate 52385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this application from other applications, from other versions of this 52395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) application, or from other versions of this application running on different 52405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) versions of an accessibility bridge or accessibility toolkit. 52415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Servers implementing IAccessible2 should provide access to the %IAccessibleApplication 52435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface via QueryService from any object so that ATs can easily determine specific 52445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) information about the application such as its name or version. 52455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 52465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[object, uuid(D49DED83-5B25-43F4-9B95-93B44595979E)] 52475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface IAccessibleApplication : IUnknown 52485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 52495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the application name. 52515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] name 52525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 52535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 52545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 52555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT appName 52565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 52575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *name 52585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 52595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the application version. 52615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] version 5262010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The version string must not contain levels when it is know beforehand that 5263010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) this information will never require a change in a client's behavior. 5264010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) For example, use "3.6.0" rather than "3.6.0.v201005131500". 52655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 52665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 52675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 52685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT appVersion 52695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 52705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *version 52715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 52725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the toolkit/bridge name. 52745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] name 52755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 52765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 52775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 52785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT toolkitName 52795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 52805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *name 52815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 52825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @brief Returns the toolkit/bridge version. 52845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @param [out] version 5285010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) The version string must not contain levels when it is know beforehand that 5286010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) this information will never require a change in a client's behavior. 5287010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) For example, use "3.6.0" rather than "3.6.0.v201005131500". 52885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_OK 52895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @retval S_FALSE if there is nothing to return, [out] value is NULL 52905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 52915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [propget] HRESULT toolkitVersion 52925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ( 52935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [out, retval] BSTR *version 52945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ); 52955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 52975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/************************************************************************* 52995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 5300010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * File Name (AccessibleDocument.idl) 5301010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 5302010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * IAccessible2 IDL Specification 5303010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 5304010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2013 Linux Foundation 5305010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * All rights reserved. 5306010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 5307010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 5308010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Redistribution and use in source and binary forms, with or without 5309010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * modification, are permitted provided that the following conditions 5310010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * are met: 5311010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 5312010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 5313010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * notice, this list of conditions and the following disclaimer. 5314010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 5315010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 5316010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * copyright notice, this list of conditions and the following 5317010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * disclaimer in the documentation and/or other materials 5318010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * provided with the distribution. 5319010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 5320010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 5321010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * contributors may be used to endorse or promote products 5322010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * derived from this software without specific prior written 5323010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * permission. 5324010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 5325010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 5326010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 5327010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 5328010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 5329010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 5330010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 5331010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 5332010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 5333010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 5334010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 5335010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 5336010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 5337010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 5338010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 5339010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 5340010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * BSD License" as published at: 5341010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 5342010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 5343010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 5344010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 5345010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 5346010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 5347010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ************************************************************************/ 5348010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5349010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5350010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5351010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5352010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5353010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** @brief This interface represents documents. 5354010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5355010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) This interface is used for a representation of documents. 5356010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)*/ 5357010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)[object, uuid(C48C7FCF-4AB5-4056-AFA6-902D6E1D1149)] 5358010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)interface IAccessibleDocument : IUnknown 5359010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles){ 5360010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** @brief Returns the most recently used anchor target within a document. 5361010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5362010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) A document's most recently targeted in-page anchor is returned. A typical use 5363010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) of this method is to fetch the anchor target within an HTML document. In this 5364010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) case anchor targets are those which have been defined with the <a> tag. 5365010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5366010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @param [out] accessible 5367010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_OK 5368010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) @retval S_FALSE if there are no existing valid anchor targets, [out] value is NULL. 5369010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 5370010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [propget] HRESULT anchorTarget 5371010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ( 5372010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) [out, retval] IUnknown **accessible 5373010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ); 5374010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5375010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} 5376010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/************************************************************************* 5377010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * 53785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * File Name (IA2TypeLibrary.idl) 53795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 53805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 IDL Specification 53815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 5382010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Copyright (c) 2007, 2012 Linux Foundation 53835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2006 IBM Corporation 53845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2000, 2006 Sun Microsystems, Inc. 53855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * All rights reserved. 53865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 53875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 53885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 53895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * modification, are permitted provided that the following conditions 53905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * are met: 53915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 53925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 53935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 53945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 53955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above 53965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * copyright notice, this list of conditions and the following 53975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * disclaimer in the documentation and/or other materials 53985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * provided with the distribution. 53995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 54005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 3. Neither the name of the Linux Foundation nor the names of its 54015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * contributors may be used to endorse or promote products 54025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * derived from this software without specific prior written 54035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * permission. 54045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 54055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 54065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 54075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 54085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 54095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 54105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 54115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 54125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 54135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 54145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 54155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 54165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 54175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 54185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 54195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This BSD License conforms to the Open Source Initiative "Simplified 54205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BSD License" as published at: 54215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.opensource.org/licenses/bsd-license.php 54225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 54235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 54245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * mark may be used in accordance with the Linux Foundation Trademark 54255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Policy to indicate compliance with the IAccessible2 specification. 54265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 54275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ************************************************************************/ 54285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 54295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This is not a standalone file. It is to be appended to the end of the 54305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// merged IDL file. 54315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 54325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cpp_quote("") 54335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cpp_quote("// Type Library Definitions") 54345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cpp_quote("") 54355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 54365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[ 5437010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) uuid(CE3F726E-D1D3-44FE-B995-FF1DB3B48B2B), 54385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) helpstring("IAccessible2 Type Library"), 5439010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) version(1.3), 54405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) hidden 54415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)] 54425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 54435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)library IAccessible2Lib 54445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 54455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) importlib ("stdole2.tlb"); 5446010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) importlib ("oleacc.dll"); 54475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessible2; 5448010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) interface IAccessible2_2; 54495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleAction; 54505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleApplication; 54515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleComponent; 5452010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) interface IAccessibleDocument; 54535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleEditableText; 54545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleHyperlink; 54555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleHypertext; 5456010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) interface IAccessibleHypertext2; 54575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleImage; 54585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleRelation; 54595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleTable; 54605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleTable2; 54615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleTableCell; 54625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleText; 5463010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) interface IAccessibleText2; 54645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) interface IAccessibleValue; 54655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) enum IA2CoordinateType; 54665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) enum IA2EventID; 54675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) enum IA2Role; 54685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) enum IA2ScrollType; 54695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) enum IA2States; 54705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) enum IA2TableModelChangeType; 54715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) enum IA2TextBoundaryType; 54725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) enum IA2TextSpecialOffsets; 54735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 5474