diff --git a/accessible/public/ia2/Makefile.in b/accessible/public/ia2/Makefile.in index aa26c189405207..7454229bcfd776 100644 --- a/accessible/public/ia2/Makefile.in +++ b/accessible/public/ia2/Makefile.in @@ -26,18 +26,22 @@ SRCS_IN_OBJDIR = 1 # Makefile is ported over. MIDL_INTERFACES = \ Accessible2.idl \ + Accessible2_2.idl \ AccessibleAction.idl \ AccessibleApplication.idl \ AccessibleComponent.idl \ + AccessibleDocument.idl \ AccessibleEditableText.idl \ AccessibleHyperlink.idl \ AccessibleHypertext.idl \ + AccessibleHypertext2.idl \ AccessibleImage.idl \ AccessibleRelation.idl \ AccessibleTable.idl \ AccessibleTable2.idl \ AccessibleTableCell.idl \ AccessibleText.idl \ + AccessibleText2.idl \ AccessibleValue.idl \ $(NULL) diff --git a/accessible/public/ia2/moz.build b/accessible/public/ia2/moz.build index 5b46b2bb20b544..7a0023a7b6d2b9 100644 --- a/accessible/public/ia2/moz.build +++ b/accessible/public/ia2/moz.build @@ -10,18 +10,22 @@ MODULE = 'accessibility' # is ported over. midl_interfaces = [ 'Accessible2', + 'Accessible2_2', 'AccessibleAction', 'AccessibleApplication', 'AccessibleComponent', + 'AccessibleDocument', 'AccessibleEditableText', 'AccessibleHyperlink', 'AccessibleHypertext', + 'AccessibleHypertext2', 'AccessibleImage', 'AccessibleRelation', 'AccessibleTable', 'AccessibleTable2', 'AccessibleTableCell', 'AccessibleText', + 'AccessibleText2', 'AccessibleValue', ] diff --git a/other-licenses/ia2/Accessible2.idl b/other-licenses/ia2/Accessible2.idl index 814ee52dc04044..9046f2ece35323 100644 --- a/other-licenses/ia2/Accessible2.idl +++ b/other-licenses/ia2/Accessible2.idl @@ -1,45 +1,76 @@ /************************************************************************* * * File Name (Accessible2.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2009 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ /** @mainpage @section _interfaces Interfaces IAccessible2\n + IAccessible2_2\n IAccessibleAction\n IAccessibleApplication\n IAccessibleComponent\n + IAccessibleDocument\n + IAccessibleEditableText\n IAccessibleHypertext\n + IAccessibleHypertext2\n IAccessibleHyperlink\n IAccessibleImage\n IAccessibleRelation\n - IAccessibleTable [deprecated]\n + IAccessibleTable [Deprecated]\n IAccessibleTable2\n IAccessibleTableCell\n IAccessibleText\n - IAccessibleEditableText\n + IAccessibleText2\n IAccessibleValue @section _structs Structs @@ -48,6 +79,7 @@ IA2TextSegment @section _enums Enums + ::IA2Actions values are predefined actions for use when implementing support for HTML5 media.\n ::IA2CoordinateType values define the requested coordinate type (screen or parent window).\n ::IA2EventID values identify events.\n ::IA2Role values defines roles which are in addition to the existing MSAA roles.\n @@ -61,31 +93,56 @@ @ref grpRelations @section _misc Miscellaneous - @ref _licensePage "LGPL License"\n + @ref _licensePage "BSD License"\n @ref _generalInfo "General Information"\n - @page _licensePage LGPL License - IAccessible2 IDL Specification - - Copyright (c) Linux Foundation 2007, 2008\n - Copyright (c) IBM Corp. 2006\n - Copyright (c) Sun Microsystems, Inc. 2000, 2006 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License version 2.1, as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. + @page _licensePage BSD License + %IAccessible2 IDL Specification - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. + Copyright (c) 2007, 2013 Linux Foundation\n + Copyright (c) 2006 IBM Corporation\n + Copyright (c) 2000, 2006 Sun Microsystems, Inc.\n + All rights reserved. - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - You may also refer to http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + + 3. Neither the name of the Linux Foundation nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + This BSD License conforms to the Open Source Initiative "Simplified + BSD License" as published at: + http://www.opensource.org/licenses/bsd-license.php + + %IAccessible2 is a trademark of the Linux Foundation. The %IAccessible2 + mark may be used in accordance with the + + Linux Foundation Trademark Policy to indicate compliance with the %IAccessible2 specification. @page _generalInfo General Information The following information is applicable to two or more interfaces. @@ -105,9 +162,9 @@ @ref _trademark @section _errors Error Handling - HRESULT values are defined by the Microsoft® Win32® API. For more information, refer to - Interpreting HRESULT Values - in MSDN®. + HRESULT values are defined by the Microsoft® Win32® API. For more information, refer to + + Interpreting HRESULT Values in MSDN®. Note that the S_FALSE return value is considered a non-error value and the SUCCEEDED macro will return TRUE. S_FALSE is used when there is no failure @@ -144,21 +201,28 @@ String: What are the rules for BSTR allocation and deallocation? @subsection _arrayConsideration Special Consideration when using Arrays - There are several methods which return arrays. It is considered a best practice - for the client to allocate and free the arrays. This can be done for - IAccessible2::relations and IAccessibleRelation::targets. However, due to the - coding of the IDL for the remaining methods which return arrays, the server must - allocate the array and the client must free the array when no longer needed. - These methods are IAccessible2::extendedStates, IAccessible2::localizedExtendedStates, - IAccessibleAction::keyBinding, IAccessibleTable::selectedChildren, - IAccessibleTable::selectedColumns, and IAccessibleTable::selectedRows. For those - methods, the server must allocate both the top level array and any storage - associated with it, e.g. for BSTRs. The client must use CoTaskMemFree to free - the array and any BSTRs must be freed with SysFreeString. + There are several methods which return arrays. In the case of IAccessible2::relations + and IAccessibleRelation::targets the client must allocate and free the arrays. + + For the remaining methods which return arrays, the server must allocate the array + and the client must free the array when no longer needed. These methods are + IAccessible2::extendedStates, IAccessible2::localizedExtendedStates, + IAccessible2_2::relationTargetsOfType, IAccessibleAction::keyBinding, + IAccessibleHypertext2::hyperlinks, IAccessibleTable::selectedChildren, + IAccessibleTable::selectedColumns, IAccessibleTable::selectedRows, + IAccessibleTable2::selectedCells, IAccessibleTable2::selectedColumns, + IAccessibleTable2::selectedRows, IAccessibleTableCell::columnHeaderCells, + and IAccessibleTableCell::rowHeaderCells. + For those methods, the server must allocate both the top level array and any storage + associated with it, e.g. for BSTRs. The server must allocate the arrays with + CoTaskMemAlloc and any BSTRs with SysAllocString. The client must use CoTaskMemFree + to free the array and any BSTRs must be freed with SysFreeString. - Also, the IDL for those methods includes an extraneous [in] parameter for the - caller to specify the max size of the array. This parameter will be ignored by - the COM server. + Also, the IDL for IAccessible2::extendedStates, IAccessible2::localizedExtendedStates, + IAccessibleAction::keyBinding, IAccessibleTable::selectedChildren, + IAccessibleTable::selectedColumns, and IAccessibleTable::selectedRows includes an + extraneous [in] parameter for the caller to specify the max size of the array. + This parameter will be ignored by the COM server. @section _indexes Zero and One Based Indexes Unless otherwise specified all offsets and indexes are 0 based. @@ -203,18 +267,16 @@ } @endcode - @section _changingInterfaces Changing between Accessible Interfaces - Note that developers must always implement MSAA's IAccessible and, if needed, some - of the interfaces in the set of IAccessible2 interfaces. Although the IAccessible2 - IDL is currently coded such that IAccessible2 is a subclass of MSAA's IAccessible, - none of MSAA's IAccessible methods are overridden or extended. In order to allow - future removal of the inheritance, Assistive Technologies (ATs) should not rely on - that inheritance. + @section _changingInterfaces Changing between Accessible Interfaces + Note that developers must always implement MSAA's IAccessible and, if needed, some + of the interfaces in the set of IAccessible2 interfaces. Although the IAccessible2 + IDL is coded such that IAccessible2 is a subclass of MSAA's IAccessible, none of + MSAA's IAccessible methods are redefined by IAccessible2. QueryService must be used to switch from a reference to an MSAA IAccessible interface to another interface. This has been - - documented by Microsoft and the pertinent facts have been extracted below: + + documented and the pertinent facts have been extracted below: @par Why use QueryService instead of just using QueryInterface to get IAccessibleEx @@ -304,13 +366,15 @@ typedef struct IA2Locale { BSTR variant; ///< Application specific variant of the locale } IA2Locale; -/** This interface must always be provided for objects that support some +/** @brief This interface exposes the primary set of information about an + IAccessible2 enabled accessible object. + + This interface must always be provided for objects that support some portion of the collection of the %IAccessible2 interfaces. Please refer to @ref _changingInterfaces "Changing between Accessible Interfaces" for special considerations related to use of the MSAA IAccessible interface and the set of %IAccessible2 interfaces. - */ [object, uuid(E89F726E-C4F4-4c19-BB19-B647D7FA8478)] interface IAccessible2 : IAccessible @@ -330,7 +394,7 @@ interface IAccessible2 : IAccessible 0 based @param [out] relation @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT relation ( @@ -349,6 +413,7 @@ interface IAccessible2 : IAccessible actual number of relations in the returned array (not more than maxRelations) @retval S_OK @retval S_FALSE if there are no relations, nRelations is set to 0 + @note As a performant alternative, client code should consider using IAccessible2_2::relationTargetsOfType. */ [propget] HRESULT relations ( @@ -418,16 +483,19 @@ interface IAccessible2 : IAccessible 1 based, 0 indicates that this value is not applicable @param [out] positionInGroup 1 based, 0 indicates that this value is not applicable. This is an index - into the objects in the current group, not an index into all the objects - at the same group level. + into the objects in the current group, not an index into all the objects + at the same group level. @retval S_OK if at least one value is valid - @retval S_FALSE if no values are valid + @retval S_FALSE if no values are valid, [out] values are 0s @note This method is meant to describe the nature of an object's containment - structure. This is normally not implemented on a combo box to describe the nature + structure. It's exposed by trees, tree grids, nested lists, nested menus, + but not headings, which uses the level object attribute. It is also exposed + by radio buttons (with groupLevel == 0). + @note This is normally not implemented on a combo box to describe the nature of its contents. Normally an AT will get that information from its child list - object. However, in some cases when combo boxes are not able to be structured - such that the list is a child of the combo box, this method is implemented - on the combo box itself. ATs can use this interface if a child list is not found. + object. However, in some cases when non-edit combo boxes are not able to be structured + such that the list is a child of the combo box, this method is implemented on + the combo box itself. ATs can use this interface if a child list is not found. */ [propget] HRESULT groupPosition ( @@ -491,7 +559,7 @@ interface IAccessible2 : IAccessible This parameter is ignored. Refer to @ref _arrayConsideration "Special Consideration when using Arrays" for more details. @param [out] extendedStates - This array is allocated by the server. Free it with CoTaskMemFree. + This array is allocated by the server. The client must free it with CoTaskMemFree. @param [out] nExtendedStates The number of extended states returned; the size of the returned array. @retval S_OK @@ -505,11 +573,12 @@ interface IAccessible2 : IAccessible ); /** @brief Returns the localized extended states (array of strings). + @param [in] maxLocalizedExtendedStates This parameter is ignored. Refer to @ref _arrayConsideration "Special Consideration when using Arrays" for more details. @param [out] localizedExtendedStates - This array is allocated by the server. Free it with CoTaskMemFree. + This array is allocated by the server. The client must free it with CoTaskMemFree. @param [out] nLocalizedExtendedStates The number of localized extended states returned; the size of the returned array. @retval S_OK @@ -554,7 +623,11 @@ interface IAccessible2 : IAccessible One means of implementing this would be to create a factory with a 32 bit number generator and a reuse pool. The number generator would emit numbers starting at 1. Each time an object's life cycle ended, its number would be saved into a - resuse pool. The number generator would be used whenever the reuse pool was empty. + reuse pool. The number generator would be used whenever the reuse pool was empty. + + Another way to create a unique ID is to generate it from a pointer value, e.g. an + object's address. That would be unique because no two active objects can use the + same allocated memory space. @param [out] uniqueID @retval S_OK @@ -605,7 +678,7 @@ interface IAccessible2 : IAccessible [out, retval] IA2Locale *locale ); - /** @brief Returns the attributes specific to this %IAccessible2 object, such as a cell's formula. + /** @brief Returns the attributes specific to this object, such as a cell's formula. @param [out] attributes @retval S_OK @retval S_FALSE returned if there is nothing to return, [out] value is NULL @@ -616,3 +689,4 @@ interface IAccessible2 : IAccessible ); } + diff --git a/other-licenses/ia2/Accessible2_2.idl b/other-licenses/ia2/Accessible2_2.idl new file mode 100644 index 00000000000000..e90c2a348d4882 --- /dev/null +++ b/other-licenses/ia2/Accessible2_2.idl @@ -0,0 +1,123 @@ +/************************************************************************* + * + * File Name (Accessible2_2.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + +import "objidl.idl"; +import "oaidl.idl"; +import "oleacc.idl"; +import "Accessible2.idl"; + +/** @brief This interface exposes the primary set of information about an + IAccessible2 enabled accessible object. + + This interface must always be provided for objects that support some + portion of the collection of the %IAccessible2 interfaces. + + Please refer to @ref _changingInterfaces "Changing between Accessible Interfaces" + for special considerations related to use of the MSAA IAccessible interface and + the set of %IAccessible2 interfaces. + */ +[object, uuid(6C9430E9-299D-4E6F-BD01-A82A1E88D3FF)] +interface IAccessible2_2 : IAccessible2 +{ + /** @brief Returns the attribute value of a specified attribute specific to this object. + @param [in] name + @param [out] attribute + @retval S_OK + @retval S_FALSE returned if there is nothing to return, [out] value is NULL. + @retval E_INVALIDARG if bad [in] passed. + @note The output value is a VARIANT. Typically it will be a VT_BSTR, but there + are some cases where it will be a VT_I4 or VT_BOOL. Refer to the + Object Attributes specification for more information. + */ + [propget] HRESULT attribute + ( + [in] BSTR name, + [out, retval] VARIANT *attribute + ); + + /** @brief Returns the deepest hypertext accessible in the subtree of this object, and the caret offset within it. + @param [out] accessible + @param [out] caretOffset + @retval S_OK + @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. + */ + [propget] HRESULT accessibleWithCaret + ( + [out] IUnknown **accessible, + [out, retval] long *caretOffset + ); + + /** @brief Returns relation targets for a specified target type. + @param [in] type + The requested @ref grpRelations "relation type". + @param [in] maxTargets + The number of targets requested. 0 indicates that all targets should be returned. + @param [out] targets + This array is allocated by the server. The client must free it with CoTaskMemFree. + @param [out] nTargets + The number of targets returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are no targets, [out] values are NULL and 0 respectively. + @retval E_INVALIDARG if bad [in] passed. + */ + [propget] HRESULT relationTargetsOfType + ( + [in] BSTR type, + [in] long maxTargets, + [out, size_is(,*nTargets)] IUnknown ***targets, + [out, retval] long *nTargets + ); + +} + diff --git a/other-licenses/ia2/AccessibleAction.idl b/other-licenses/ia2/AccessibleAction.idl index 6ed94da5c39ffa..7366f69f806a70 100644 --- a/other-licenses/ia2/AccessibleAction.idl +++ b/other-licenses/ia2/AccessibleAction.idl @@ -2,31 +2,83 @@ * * File Name (AccessibleAction.idl) * - * IAccessible2 IDL Specification + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * Copyright (c) Linux Foundation 2007, 2008 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; import "oaidl.idl"; import "oleacc.idl"; + +/** This enum defines values which are predefined actions for use when implementing + support for media. + + This enum is used when specifying an action for IAccessibleAction::doAction. +*/ + +enum IA2Actions { + IA2_ACTION_OPEN = -1, /**< Used to inform the server that the client will + signal via IA2_ACTION_COMPLETE when it has consumed + the content provided by the object. This action + allows the object's server to wait for all clients + to signal their readiness for additional content. + Any form of content generation that requires + synchronization with an AT would require use of this + action. One example is the generation of text describing + visual content not obvious from a video's sound track. + In this scenario the Text to Speech or Braille output + may take more time than the related length of silence + in the video's sound track. */ + IA2_ACTION_COMPLETE = -2, /**< Used by the client to inform the server that it has + consumed the most recent content provided by this object. */ + IA2_ACTION_CLOSE = -3 /**< Used to inform the server that the client no longer + requires synchronization. */ +}; /** @brief This interface gives access to actions that can be executed for accessible objects. @@ -70,7 +122,9 @@ interface IAccessibleAction : IUnknown 0 based index specifying the action to perform. If it lies outside the valid range no action is performed. @retval S_OK - @retval E_INVALIDARG if bad [in] passed + @retval S_FALSE if action could not be performed + @retval E_INVALIDARG if bad [in] passed + @note If implementing support for media, refer to the predefined constants in the ::IA2Actions enum. */ HRESULT doAction ( @@ -85,7 +139,7 @@ interface IAccessibleAction : IUnknown The returned value is a localized string of the specified action. @retval S_OK @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT description ( @@ -120,12 +174,12 @@ interface IAccessibleAction : IUnknown "Special Consideration when using Arrays" for more details. @param [out] keyBindings An array of BSTRs, allocated by the server, one for each key binding. - Free it with CoTaskMemFree. + The client must free it with CoTaskMemFree. @param [out] nBindings The number of key bindings returned; the size of the returned array. @retval S_OK - @retval S_FALSE if there are no relations, [out] values are NULL and 0 respectively - @retval E_INVALIDARG if bad [in] passed, [out] values are NULL and 0 respectively + @retval S_FALSE if there are no key bindings, [out] values are NULL and 0 respectively + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT keyBinding ( @@ -141,7 +195,7 @@ interface IAccessibleAction : IUnknown @param [out] name @retval S_OK @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT name ( @@ -155,7 +209,7 @@ interface IAccessibleAction : IUnknown @param [out] localizedName @retval S_OK @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT localizedName ( diff --git a/other-licenses/ia2/AccessibleApplication.idl b/other-licenses/ia2/AccessibleApplication.idl index bc210c8127d146..2586334122bf22 100644 --- a/other-licenses/ia2/AccessibleApplication.idl +++ b/other-licenses/ia2/AccessibleApplication.idl @@ -1,28 +1,56 @@ /************************************************************************* * * File Name (AccessibleApplication.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2008 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + import "objidl.idl"; import "oaidl.idl"; @@ -55,6 +83,9 @@ interface IAccessibleApplication : IUnknown /** @brief Returns the application version. @param [out] version + The version string must not contain levels when it is know beforehand that + this information will never require a change in a client's behavior. + For example, use "3.6.0" rather than "3.6.0.v201005131500". @retval S_OK @retval S_FALSE if there is nothing to return, [out] value is NULL */ @@ -75,6 +106,9 @@ interface IAccessibleApplication : IUnknown /** @brief Returns the toolkit/bridge version. @param [out] version + The version string must not contain levels when it is know beforehand that + this information will never require a change in a client's behavior. + For example, use "3.6.0" rather than "3.6.0.v201005131500". @retval S_OK @retval S_FALSE if there is nothing to return, [out] value is NULL */ diff --git a/other-licenses/ia2/AccessibleComponent.idl b/other-licenses/ia2/AccessibleComponent.idl index f1d86805c0b855..568997d875ffa8 100644 --- a/other-licenses/ia2/AccessibleComponent.idl +++ b/other-licenses/ia2/AccessibleComponent.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (AccessibleComponent.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2008 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; import "oaidl.idl"; diff --git a/other-licenses/ia2/AccessibleDocument.idl b/other-licenses/ia2/AccessibleDocument.idl new file mode 100644 index 00000000000000..3968f7cc1e8d7e --- /dev/null +++ b/other-licenses/ia2/AccessibleDocument.idl @@ -0,0 +1,78 @@ +/************************************************************************* + * + * File Name (AccessibleDocument.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2013 Linux Foundation + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + +import "objidl.idl"; +import "oaidl.idl"; +import "oleacc.idl"; + +/** @brief This interface represents documents. + + This interface is used for a representation of documents. +*/ +[object, uuid(C48C7FCF-4AB5-4056-AFA6-902D6E1D1149)] +interface IAccessibleDocument : IUnknown +{ + /** @brief Returns the most recently used anchor target within a document. + + A document's most recently targeted in-page anchor is returned. A typical use + of this method is to fetch the anchor target within an HTML document. In this + case anchor targets are those which has been defined with the tag. + + @param [out] accessible + @retval S_OK + @retval S_FALSE if there are no existing valid anchor targets, [out] value is NULL. + */ + [propget] HRESULT anchorTarget + ( + [out, retval] IUnknown **accessible + ); + +} diff --git a/other-licenses/ia2/AccessibleEditableText.idl b/other-licenses/ia2/AccessibleEditableText.idl index 64bd3be758334c..08fcbcdbedf7b7 100644 --- a/other-licenses/ia2/AccessibleEditableText.idl +++ b/other-licenses/ia2/AccessibleEditableText.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (AccessibleEditableText.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2012 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2008 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; import "oaidl.idl"; @@ -54,8 +81,8 @@ interface IAccessibleEditableText : IUnknown /** @brief Copies the text range into the clipboard. - The specified text between the two given indices is copied into the - system clipboard. + The selection is set to the specified offsets and then selection is copied into + the system clipboard. @param [in] startOffset Start index of the text to moved into the clipboard. @@ -65,6 +92,11 @@ interface IAccessibleEditableText : IUnknown The valid range is 0..length. @retval S_OK @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. + @deprecated This function is available via the application's GUI. */ HRESULT copyText ( @@ -85,6 +117,10 @@ interface IAccessibleEditableText : IUnknown The valid range is 0..length. @retval S_OK @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. */ HRESULT deleteText ( @@ -100,6 +136,10 @@ interface IAccessibleEditableText : IUnknown @param [in] offset Index at which to insert the text. The valid range is 0..length. + Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. @param [in] text Text that is inserted. @retval S_OK @@ -113,8 +153,8 @@ interface IAccessibleEditableText : IUnknown /** @brief Deletes a range of text and copies it to the clipboard. - The text between the two given indices is deleted from the text - represented by this object and copied to the clipboard. + The selection is set to the specified offsets, the selection is then copied into + the system clipboard, and then the selection is deleted. @param [in] startOffset Start index of the text to be deleted. @@ -124,6 +164,11 @@ interface IAccessibleEditableText : IUnknown The valid range is 0..length. @retval S_OK @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. + @deprecated This function is available via the application's GUI. */ HRESULT cutText ( @@ -131,19 +176,25 @@ interface IAccessibleEditableText : IUnknown [in] long endOffset ); - /** @brief Pastes text from the clipboard. + /** @brief Pastes content from the clipboard. - The text in the system clipboard is pasted into the text represented - by this object at the given index. This method is similar to the - IAccessibleEditableText::insertText method. If the index is not valid - the system clipboard text is not inserted. - + Any existing selection is removed, the clipboard content is then pasted into + this object's text at the given offset. This method is similar to the insertText + method. If the index is not valid the system clipboard content is not inserted. The + behavior is the same as when Ctrl+V is used, i.e. the pasted contents are not + necessarily plain text. + @param [in] offset - Index at which to insert the text from the system clipboard into + Index at which to insert the content from the system clipboard into the text represented by this object. The valid range is 0..length. + Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. @retval S_OK @retval E_INVALIDARG if bad [in] passed + @deprecated This function is available via the application's GUI. */ HRESULT pasteText ( @@ -162,12 +213,16 @@ interface IAccessibleEditableText : IUnknown Start index of the text to be replaced. The valid range is 0..length. @param [in] endOffset - Start index of the text to be replaced. + End index of the text to be replaced. The valid range is 0..length. @param [in] text The Text that replaces the text between the given indices. @retval S_OK @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. */ HRESULT replaceText ( @@ -185,13 +240,17 @@ interface IAccessibleEditableText : IUnknown Start index of the text whose attributes are modified. The valid range is 0..length. @param [in] endOffset - Start index of the text whose attributes are modified. + End index of the text whose attributes are modified. The valid range is 0..length. @param [in] attributes Set of attributes that replaces the old list of attributes of the specified text portion. @retval S_OK @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleEditableText + methods. */ HRESULT setAttributes ( diff --git a/other-licenses/ia2/AccessibleEventId.idl b/other-licenses/ia2/AccessibleEventId.idl index 63aa5c3f1fbe2c..5df057db33a1de 100644 --- a/other-licenses/ia2/AccessibleEventId.idl +++ b/other-licenses/ia2/AccessibleEventId.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (AccessibleEventID.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2008 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ /** %IAccessible2 specific event constants @@ -36,7 +63,7 @@ enum IA2EventID { */ IA2_EVENT_ACTION_CHANGED = 0x101, - /** The active descendant of a component has changed. + /** Deprecated. The active descendant of a component has changed. Note: This event constant is misspelled and thus is deprecated and will be removed in a later version. Please use the correctly spelled version which diff --git a/other-licenses/ia2/AccessibleHyperlink.idl b/other-licenses/ia2/AccessibleHyperlink.idl index b548e75e055125..76b8acdfe6fbe3 100644 --- a/other-licenses/ia2/AccessibleHyperlink.idl +++ b/other-licenses/ia2/AccessibleHyperlink.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (AccessibleHyperlink.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2008 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; import "oaidl.idl"; @@ -84,8 +111,7 @@ interface IAccessibleHyperlink : IAccessibleAction an IUnknown VARIANT for IAccessibleImage. See the section about @ref _variants "VARIANTs" for additional information. @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT anchor ( @@ -106,8 +132,7 @@ interface IAccessibleHyperlink : IAccessibleAction activated when the link is activated. See the section about @ref _variants "VARIANTs" for additional information. @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT anchorTarget ( @@ -147,12 +172,13 @@ interface IAccessibleHyperlink : IAccessibleAction This has also been used to indicate whether or not the URI of the anchorTarget is malformed. - Note: This method is not being used, is deprecated, and should not be implemented or - used. It is likely that this method will be removed in a later version of the IDL. - @param [out] valid + If false, one or more of the object's links are invalid. + If true, all of the object's links are valid. @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is FALSE + @retval S_FALSE if there is nothing to return, [out] value is FALSE + @note This method is not being used, is deprecated, and should not be implemented or + used. It is likely that this method will be removed in a later version of the IDL. */ [propget] HRESULT valid ( diff --git a/other-licenses/ia2/AccessibleHypertext.idl b/other-licenses/ia2/AccessibleHypertext.idl index 468c79d5ab4222..03afe5b021637d 100644 --- a/other-licenses/ia2/AccessibleHypertext.idl +++ b/other-licenses/ia2/AccessibleHypertext.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (AccessibleHypertext.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2008 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; import "oaidl.idl"; @@ -64,7 +91,7 @@ interface IAccessibleHypertext : IAccessibleText of links minus one, a reference to the specified hyperlink object is returned. If the index is invalid then a NULL pointer is returned. @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT hyperlink ( @@ -85,7 +112,7 @@ interface IAccessibleHypertext : IAccessibleText character index, or -1 if charIndex is not on a link. @retval S_OK @retval S_FALSE if there is nothing to return, [out] value is -1 - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT hyperlinkIndex ( diff --git a/other-licenses/ia2/AccessibleHypertext2.idl b/other-licenses/ia2/AccessibleHypertext2.idl new file mode 100644 index 00000000000000..2eba16b98635d1 --- /dev/null +++ b/other-licenses/ia2/AccessibleHypertext2.idl @@ -0,0 +1,87 @@ +/************************************************************************* + * + * File Name (AccessibleHypertext2.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + +import "objidl.idl"; +import "oaidl.idl"; +import "oleacc.idl"; +import "AccessibleHypertext.idl"; +import "AccessibleHyperlink.idl"; + +/** @brief This interface exposes information about hypertext in a document. + + The %IAccessibleHypertext2 interface extends the functinality of the + %IAccessibleHypertext inteface. +*/ +[object, uuid(CF64D89F-8287-4B44-8501-A827453A6077)] +interface IAccessibleHypertext2 : IAccessibleHypertext +{ + + /** @brief Returns the links for this object. + + The returned IAccessibleHyperlink objects encapsulate the hyperlink and + provides several kinds of information describing it. + + @param [out] hyperlinks + This array is allocated by the server. The client must free it with CoTaskMemFree. + @param [out] nHyperlinks + The number of links returned; the size of the returned array. + @retval S_OK + @retval S_FALSE if there are no links, [out] values are NULL and 0 respectively + */ + [propget] HRESULT hyperlinks + ( + [out, size_is(,*nHyperlinks)] IAccessibleHyperlink ***hyperlinks, + [out, retval] long *nHyperlinks + ); + +} diff --git a/other-licenses/ia2/AccessibleImage.idl b/other-licenses/ia2/AccessibleImage.idl index 2ee5d4fa9685a2..21fe0985e50b92 100644 --- a/other-licenses/ia2/AccessibleImage.idl +++ b/other-licenses/ia2/AccessibleImage.idl @@ -1,28 +1,55 @@ /************************************************************************* * - * File Name (AccessibleImage) + * File Name (AccessibleImage.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2008 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; import "oaidl.idl"; diff --git a/other-licenses/ia2/AccessibleRelation.idl b/other-licenses/ia2/AccessibleRelation.idl index c9ee9064a10046..0869166bd56217 100644 --- a/other-licenses/ia2/AccessibleRelation.idl +++ b/other-licenses/ia2/AccessibleRelation.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (AccessibleRelation.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2009 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; import "oaidl.idl"; @@ -34,6 +61,20 @@ import "oleacc.idl"; */ ///@{ +/** The target object is the containing application object. */ +const WCHAR *const IA2_RELATION_CONTAINING_APPLICATION = L"containingApplication"; + +/** The target object is the containing document object. The target object implements + the IAccessibleDocument interface. +*/ +const WCHAR *const IA2_RELATION_CONTAINING_DOCUMENT = L"containingDocument"; + +/** The target object is the containing tab pane object. */ +const WCHAR *const IA2_RELATION_CONTAINING_TAB_PANE = L"containingTabPane"; + +/** The target object is the containing window object. */ +const WCHAR *const IA2_RELATION_CONTAINING_WINDOW = L"containingWindow"; + /** Some attribute of this object is affected by a target object. */ const WCHAR *const IA2_RELATION_CONTROLLED_BY = L"controlledBy"; @@ -84,23 +125,39 @@ const WCHAR *const IA2_RELATION_LABELLED_BY = L"labelledBy"; */ const WCHAR *const IA2_RELATION_MEMBER_OF = L"memberOf"; -/** This object is a child of a target object. */ +/** The target object is the next object in the tab order. */ +const WCHAR *const IA2_RELATION_NEXT_TABBABLE = L"nextTabbable"; + +/** This object is a logical child of a target object. This relation is the reciprocal + of the IA2_RELATION_NODE_PARENT_OF relation. In some cases an application's accessible + tree is such that objects can be in a logical parent-child relationship which is + different from the hierarchy of the accessible tree. */ const WCHAR *const IA2_RELATION_NODE_CHILD_OF = L"nodeChildOf"; +/** This object is a logical parent of a target object. This relation is the reciprocal + of the IA2_RELATION_NODE_CHILD_OF relation. In some cases an application's accessible + tree is such that objects can be in a logical parent-child relationship which is + different from the hierarchy of the accessible tree. */ +const WCHAR *const IA2_RELATION_NODE_PARENT_OF = L"nodeParentOf"; + /** This object is a parent window of the target object. */ const WCHAR *const IA2_RELATION_PARENT_WINDOW_OF = L"parentWindowOf"; /** This object is a transient component related to the target object. - When this object is activated the target object doesn't loose focus. + When this object is activated the target object doesn't lose focus. */ const WCHAR *const IA2_RELATION_POPUP_FOR = L"popupFor"; +/** The target object is the previous object in the tab order. */ +const WCHAR *const IA2_RELATION_PREVIOUS_TABBABLE = L"previousTabbable"; + /** This object is a sub window of a target object. */ const WCHAR *const IA2_RELATION_SUBWINDOW_OF = L"subwindowOf"; ///@} -/// This interface gives access to an object's set of relations. +/** This interface gives access to an object's set of relations. +*/ [object, uuid(7CDF86EE-C3DA-496a-BDA4-281B336E1FDC)] interface IAccessibleRelation : IUnknown { @@ -137,8 +194,7 @@ interface IAccessibleRelation : IUnknown 0 based index @param [out] target @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed @note Use QueryInterface to get IAccessible2. */ [propget] HRESULT target @@ -158,7 +214,7 @@ interface IAccessibleRelation : IUnknown @param [out] nTargets actual number of targets in the returned array (not more than maxTargets) @retval S_OK - @retval S_FALSE if there is nothing to return, nTargets is set to 0 + @retval E_INVALIDARG if bad [in] passed, e.g. a negative value */ [propget] HRESULT targets ( diff --git a/other-licenses/ia2/AccessibleRole.idl b/other-licenses/ia2/AccessibleRole.idl index b9443b8c42a6f1..abcdf768daa03d 100644 --- a/other-licenses/ia2/AccessibleRole.idl +++ b/other-licenses/ia2/AccessibleRole.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (AccessibleRole.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2008 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; @@ -74,10 +101,9 @@ enum IA2Role { */ IA2_ROLE_DIRECTORY_PANE, - /** An editable text object in a toolbar. -
Note: This role has been deprecated. The edit bar role was meant - for a text area in a tool bar. However, to detect a text area in a tool bar - the AT can query the parent. + /** An editable text object in a toolbar. Deprecated. + The edit bar role was meant for a text area in a tool bar. However, to detect + a text area in a tool bar the AT can query the parent. */ IA2_ROLE_EDITBAR, @@ -130,7 +156,7 @@ enum IA2Role { */ IA2_ROLE_HEADER, - /// Heading. Use the IAccessible2::attributes heading-level attribute to determine the heading level. + /// Heading. Use the IAccessible2::attributes level attribute to determine the heading level. IA2_ROLE_HEADING, /// A small fixed size picture, typically used to decorate components. @@ -165,7 +191,9 @@ enum IA2Role { */ IA2_ROLE_LAYERED_PANE, - /// An embedded note which is not visible until activated. + /** A section whose content is parenthetic or ancillary to the main content + of the resource. + */ IA2_ROLE_NOTE, /** A specialized pane whose primary use is inside a dialog. @@ -251,6 +279,17 @@ enum IA2Role { the scroll bars, the contents of the viewport can change. Also refer to ::IA2_ROLE_SCROLL_PANE. */ - IA2_ROLE_VIEW_PORT + IA2_ROLE_VIEW_PORT, + + /** An object containing content which is complementary to the main content of + a document, but remains meaningful when separated from the main content. There + are various types of content that would appropriately have this role. For example, + in the case where content is delivered via a web portal to a web browser, this may + include but not be limited to show times, current weather, related articles, or + stocks to watch. The complementary role indicates that contained content is relevant + to the main content. If the complementary content is completely separable main + content, it may be appropriate to use a more general role. + */ + IA2_ROLE_COMPLEMENTARY_CONTENT }; diff --git a/other-licenses/ia2/AccessibleStates.idl b/other-licenses/ia2/AccessibleStates.idl index a186a7fc258c80..bb0eba5c73523c 100644 --- a/other-licenses/ia2/AccessibleStates.idl +++ b/other-licenses/ia2/AccessibleStates.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (AccessibleStates.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2008 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; @@ -65,7 +92,12 @@ IA2_STATE_ARMED = 0x2, /** Indicates the user interface object corresponding to this object no longer exists. */ IA2_STATE_DEFUNCT = 0x4, -/** Indicates the user can change the contents of this object. */ +/** An object with this state has a caret and implements the IAccessibleText interface. + + Such fields may be read-only, so STATE_SYSTEM_READONLY is valid in combination + with IA2_STATE_EDITABLE. + +*/ IA2_STATE_EDITABLE = 0x8, /** Indicates the orientation of this object is horizontal. */ @@ -151,6 +183,27 @@ IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000, IA2_STATE_TRANSIENT = 0x10000, /** Indicates the orientation of this object is vertical. */ -IA2_STATE_VERTICAL = 0x20000 +IA2_STATE_VERTICAL = 0x20000, + +/** Indicates this object is checkable. + + The standard checkable objects are check boxes, radio buttons, check box menu + items, radio menu items, and toggle buttons. Since assistive technology will + determine that these objects are checkable via the object's role the checkable + state is not required. However, this state is necessary in those cases where + an object has a role which is not one of the previously mentioned roles. An + example is a table cell which indicates whether or not an email has an attachment, + whether or not an mail is considered spam, and whether or not an email has been read. + */ +IA2_STATE_CHECKABLE = 0x40000, + +/** Indicates this object is pinned. + + This state indicates that an object is fixed at a certain location. One example + is a browser tab that when pinned cannot be moved until unpinned. Another example + is a movable or floating object that when pinned remains in its pinned location + until being unpinned. + */ +IA2_STATE_PINNED = 0x80000 }; diff --git a/other-licenses/ia2/AccessibleTable.idl b/other-licenses/ia2/AccessibleTable.idl index 7d5e440df4a540..24df659e1a1cef 100644 --- a/other-licenses/ia2/AccessibleTable.idl +++ b/other-licenses/ia2/AccessibleTable.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (AccessibleTable.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2009 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; import "oaidl.idl"; @@ -310,7 +337,7 @@ interface IAccessibleTable : IUnknown "Special Consideration when using Arrays" for more details. @param [out] children An array of cell indexes of selected cells (each index is 0 based), - allocated by the server. Free it with CoTaskMemFree. + allocated by the server. The client must free it with CoTaskMemFree. @param [out] nChildren The number of cell indexes returned; the size of the returned array. @retval S_OK @@ -329,7 +356,7 @@ interface IAccessibleTable : IUnknown "Special Consideration when using Arrays" for more details. @param [out] columns An array of column indexes of selected columns (each index is 0 based), allocated - by the server. Free it with CoTaskMemFree. + by the server. The client must free it with CoTaskMemFree. @param [out] nColumns The number of column indexes returned; the size of the returned array. @retval S_OK @@ -348,7 +375,7 @@ interface IAccessibleTable : IUnknown "Special Consideration when using Arrays" for more details. @param [out] rows An array of row indexes of selected rows (each index is 0 based), allocated - by the server. Free it with CoTaskMemFree. + by the server. The client must free it with CoTaskMemFree. @param [out] nRows The number of row indexes returned; the size of the returned array. @retval S_OK diff --git a/other-licenses/ia2/AccessibleTable2.idl b/other-licenses/ia2/AccessibleTable2.idl index f1e6bab1bd6055..860062c371c0c6 100644 --- a/other-licenses/ia2/AccessibleTable2.idl +++ b/other-licenses/ia2/AccessibleTable2.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (AccessibleTable2.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2012 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2009 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; import "oaidl.idl"; @@ -52,7 +79,7 @@ interface IAccessibleTable2 : IUnknown object is returned that represents the requested cell regardless of whether the cell is currently visible (on the screen). @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT cellAt ( @@ -67,7 +94,8 @@ interface IAccessibleTable2 : IUnknown If the table has a caption then a reference to it is returned, else a NULL pointer is returned. @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL + @retval S_FALSE if there is nothing to return, [out] value is NULL + @deprecated use a describedBy relation */ [propget] HRESULT caption ( @@ -82,7 +110,7 @@ interface IAccessibleTable2 : IUnknown description exists. Otherwise a NULL pointer is returned. @retval S_OK @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT columnDescription ( @@ -149,7 +177,7 @@ interface IAccessibleTable2 : IUnknown description exists. Otherwise a NULL pointer is returned. @retval S_OK @retval S_FALSE if there is nothing to return, [out] value is NULL - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT rowDescription ( @@ -160,7 +188,8 @@ interface IAccessibleTable2 : IUnknown /** @brief Returns a list of accessibles currently selected. @param [out] cells Pointer to an array of references to selected accessibles. The array is - allocated by the server. Free it with CoTaskMemFree. + allocated by the server with CoTaskMemAlloc and freed by the client with + CoTaskMemFree. @param [out] nSelectedCells The number of accessibles returned; the size of the returned array. @retval S_OK @@ -168,14 +197,15 @@ interface IAccessibleTable2 : IUnknown */ [propget] HRESULT selectedCells ( - [out, size_is(,*nSelectedCells,)] IUnknown ***cells, + [out, size_is(,*nSelectedCells)] IUnknown ***cells, [out, retval] long *nSelectedCells ); /** @brief Returns a list of column indexes currently selected (0 based). @param [out] selectedColumns A pointer to an array of column indexes of selected columns (each index is - 0 based). The array is allocated by the server. Free it with CoTaskMemFree. + 0 based). The array is allocated by the server with CoTaskMemAlloc and + freed by the client with CoTaskMemFree. @param [out] nColumns The number of column indexes returned; the size of the returned array. @retval S_OK @@ -189,8 +219,9 @@ interface IAccessibleTable2 : IUnknown /** @brief Returns a list of row indexes currently selected (0 based). @param [out] selectedRows - An array of row indexes of selected rows (each index is 0 based), allocated - by the server. Free it with CoTaskMemFree. + An array of row indexes of selected rows (each index is 0 based). The array + is allocated by the server with CoTaskMemAlloc and freed by the client with + CoTaskMemFree. @param [out] nRows The number of row indexes returned; the size of the returned array. @retval S_OK @@ -209,7 +240,8 @@ interface IAccessibleTable2 : IUnknown representing the table's summary or a NULL pointer if the table does not support a summary. @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL + @retval S_FALSE if there is nothing to return, [out] value is NULL + @deprecated Use the labeledBy relation */ [propget] HRESULT summary ( @@ -223,7 +255,7 @@ interface IAccessibleTable2 : IUnknown @param [out] isSelected Returns TRUE if the specified column is selected completely and FALSE otherwise. @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT isColumnSelected ( @@ -238,7 +270,7 @@ interface IAccessibleTable2 : IUnknown @param [out] isSelected Returns TRUE if the specified row is selected completely and FALSE otherwise. @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is FALSE + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT isRowSelected ( diff --git a/other-licenses/ia2/AccessibleTableCell.idl b/other-licenses/ia2/AccessibleTableCell.idl index 7bc9a2511cefa7..e98754c5db14da 100644 --- a/other-licenses/ia2/AccessibleTableCell.idl +++ b/other-licenses/ia2/AccessibleTableCell.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (AccessibleTableCell.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2009 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; import "oaidl.idl"; @@ -54,7 +81,7 @@ interface IAccessibleTableCell : IUnknown @param [out] cellAccessibles Pointer to an array of references to cell accessibles. The array is allocated - by the server. Free it with CoTaskMemFree. + by the server. The client must free it with CoTaskMemFree. @param [out] nColumnHeaderCells The number of accessibles returned; the size of the returned array. @retval S_OK @@ -62,7 +89,7 @@ interface IAccessibleTableCell : IUnknown */ [propget] HRESULT columnHeaderCells ( - [out, size_is(,*nColumnHeaderCells,)] IUnknown ***cellAccessibles, + [out, size_is(,*nColumnHeaderCells)] IUnknown ***cellAccessibles, [out, retval] long *nColumnHeaderCells ); @@ -93,7 +120,7 @@ interface IAccessibleTableCell : IUnknown @param [out] cellAccessibles Pointer to an array of references to cell accessibles. The array is allocated - by the server. Free it with CoTaskMemFree. + by the server. The client must free it with CoTaskMemFree. @param [out] nRowHeaderCells The number of accessibles returned; the size of the returned array. @retval S_OK @@ -101,7 +128,7 @@ interface IAccessibleTableCell : IUnknown */ [propget] HRESULT rowHeaderCells ( - [out, size_is(,*nRowHeaderCells,)] IUnknown ***cellAccessibles, + [out, size_is(,*nRowHeaderCells)] IUnknown ***cellAccessibles, [out, retval] long *nRowHeaderCells ); diff --git a/other-licenses/ia2/AccessibleText.idl b/other-licenses/ia2/AccessibleText.idl index fcd639c07e484c..8689f23124b162 100644 --- a/other-licenses/ia2/AccessibleText.idl +++ b/other-licenses/ia2/AccessibleText.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (AccessibleText.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2008 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; import "oaidl.idl"; @@ -55,25 +82,25 @@ typedef struct IA2TextSegment { */ enum IA2TextBoundaryType { - IA2_TEXT_BOUNDARY_CHAR, /**< Typically, a single character is returned. In some cases more than - one character is returned, for example, when a document contains field - data such as a field containing a date, time, or footnote reference. - In this case the caret can move over several characters in one movement - of the caret. Note that after the caret moves, the caret offset changes - by the number of characters in the field, e.g. by 8 characters in the - following date: 03/26/07. */ - IA2_TEXT_BOUNDARY_WORD, /**< The range provided matches the range observed when the application - processes the Ctrl + left arrow and Ctrl + right arrow key sequences. - Typically this is from the start of one word to the start of the next, but - various applications are inconsistent in the handling of the end of a line. */ - IA2_TEXT_BOUNDARY_SENTENCE, ///< Range is from start of one sentence to the start of another sentence. - IA2_TEXT_BOUNDARY_PARAGRAPH, ///< Range is from start of one paragraph to the start of another paragraph. - IA2_TEXT_BOUNDARY_LINE, /**< Range is from start of one line to the start of another line. This + IA2_TEXT_BOUNDARY_CHAR, /**< Typically, a single character is returned. In some cases more than + one character is returned, for example, when a document contains field + data such as a field containing a date, time, or footnote reference. + In this case the caret can move over several characters in one movement + of the caret. Note that after the caret moves, the caret offset changes + by the number of characters in the field, e.g. by 8 characters in the + following date: 03/26/07. */ + IA2_TEXT_BOUNDARY_WORD, /**< The range provided matches the range observed when the application + processes the Ctrl + left arrow and Ctrl + right arrow key sequences. + Typically this is from the start of one word to the start of the next, but + various applications are inconsistent in the handling of the end of a line. */ + IA2_TEXT_BOUNDARY_SENTENCE, ///< Range is from start of one sentence to the start of another sentence. + IA2_TEXT_BOUNDARY_PARAGRAPH, ///< Range is from start of one paragraph to the start of another paragraph. + IA2_TEXT_BOUNDARY_LINE, /**< Range is from start of one line to the start of another line. This often means that an end-of-line character will appear at the end of the - range. However in the case of some applications an end-of-line character - indicates the end of a paragraph and the lines composing the paragraph, - other than the last line, do not contain an end of line character. */ - IA2_TEXT_BOUNDARY_ALL ///< Using this value will cause all text to be returned. + range. However in the case of some applications an end-of-line character + indicates the end of a paragraph and the lines composing the paragraph, + other than the last line, do not contain an end of line character. */ + IA2_TEXT_BOUNDARY_ALL ///< Using this value will cause all text to be returned. }; /** @brief This interface gives read-only access to text. @@ -114,6 +141,9 @@ interface IAccessibleText : IUnknown Offset of first character after new selection (0 based). @retval S_OK @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. */ HRESULT addSelection ( @@ -123,21 +153,22 @@ interface IAccessibleText : IUnknown /** @brief Returns text attributes. @param [in] offset - Text offset (0 based) + Text offset (0 based). Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. @param [out] startOffset The starting offset of the character range over which all text attributes match - those of offset. (0 based) + those of offset. (0 based) @param [out] endOffset The offset of the first character past the character range over which all text - attributes match those of offset. (0 based) + attributes match those of offset. (0 based) @param [out] textAttributes A string of attributes describing the text. The attributes are described in the
text attributes specification on the %IAccessible2 web site. @retval S_OK @retval S_FALSE if there is nothing to return, [out] values are 0s and NULL respectively - @retval E_INVALIDARG if bad [in] passed, [out] values are 0s and NULL respectively - + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT attributes ( @@ -164,7 +195,8 @@ interface IAccessibleText : IUnknown
  • the caretOffset for "two" would be 2, matching the "o"
  • The caret position/offset is that of the character logically following it, e.g. - to the right of it in a left to right language. + to the right of it in a left to right language, or to the left of it in a right + to left language. @param [out] offset The returned offset is relative to the text represented by this object. @retval S_OK @@ -198,7 +230,9 @@ interface IAccessibleText : IUnknown event for this index. @param [in] offset Index of the character for which to return its bounding box. The valid range - is 0..length. + is 0..length. Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. @param [in] coordType Specifies if the coordinates are relative to the screen or to the parent window. @param [out] x @@ -210,7 +244,7 @@ interface IAccessibleText : IUnknown @param [out] height Height of the bounding box of the referenced character. @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] values are 0s + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT characterExtents ( @@ -242,17 +276,19 @@ interface IAccessibleText : IUnknown @param [in] x The position's x value for which to look up the index of the character that - is rendered on to the display at that point. + is rendered on to the display at that point. @param [in] y The position's y value for which to look up the index of the character that - is rendered on to the display at that point. + is rendered on to the display at that point. @param [in] coordType Screen coordinates or window coordinates. @param [out] offset Index of the character under the given point or -1 if the point is invalid or there is no character under the point. @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is 0 + @retval S_FALSE if nothing to return, [out] value is -1 + + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT offsetAtPoint ( @@ -263,6 +299,27 @@ interface IAccessibleText : IUnknown ); /** @brief Returns the character offsets of Nth active text selection + + Returns the 0-based starting and ending offsets of the Nth selection. If the + text is implemented as a tree of text objects with embed characters in higher + levels representing substrings of child text objects, consider the following. + If the starting selection offset is in one of the child text objects, then the + starting offset in the higher level text object would be at the embed character + representing the child text object that contains the starting selection offset. + If the ending selection offset is in one of the child text objects, then the + ending offset in the higher level text object would be just after the embed + character representing the child text object that contains the ending selection + offset. + + For example, if the string "one two three" is implemented as a two text objects, + with a top level text object containing an embed character "one ? three" and a + child text object containing "two" and if the selection is the string "two" then: + + Selection offsets are that of the character logically following it, e.g. + to the right of it in a left to right language or to the left of it in a right to left language. @param [in] selectionIndex Index of selection (0 based). @param [out] startOffset @@ -270,8 +327,7 @@ interface IAccessibleText : IUnknown @param [out] endOffset 0 based offset of one past the last selected character. @retval S_OK - @retval S_FALSE if there is nothing to return, [out] values are 0s - @retval E_INVALIDARG if bad [in] passed, [out] values are 0s + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT selection ( @@ -284,12 +340,12 @@ interface IAccessibleText : IUnknown The substring starts with the character at startOffset (inclusive) and up to the character at endOffset (exclusive), if startOffset is less or equal - endOffste. If endOffset is lower than startOffset, the result is the same + endOffset. If endOffset is lower than startOffset, the result is the same as a call with the two arguments being exchanged. The whole text can be requested by passing the indices zero and IAccessibleText::nCharacters. If both indices have the same value, an empty - string is returned. + string is returned. @param [in] startOffset Index of the first character to include in the returned string. The valid range is 0..length. @@ -301,9 +357,13 @@ interface IAccessibleText : IUnknown and up to the character at endOffset (exclusive), if startOffset is less than or equal to endOffset. @retval S_OK - @retval E_INVALIDARG if bad [in] passed, [out] value is NULL - @note The returned string may be longer than endOffset-startOffset bytes if text - contains multi-byte characters. + @retval E_INVALIDARG if bad [in] passed + @note + @li The returned string may be longer than endOffset-startOffset bytes if text + contains multi-byte characters. + @li Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. */ [propget] HRESULT text ( @@ -322,15 +382,19 @@ interface IAccessibleText : IUnknown For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete word that is closest to and located before offset is returned. - If the index is valid, but no suitable word (or other boundary type) is found, a - NULL pointer is returned. + If the index is valid, but no text is found, S_FALSE is returned along with out + values of 0, 0, and a NULL pointer. This would happen for boundary types other + than character when the text consists entirely of whitespace. @param [in] offset Index of the character for which to return the text part before it. The index character will not be part of the returned string. The valid range is 0..length. + Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. @param [in] boundaryType The type of the text portion to return. See ::IA2TextBoundaryType for the - complete list. + complete list. @param [out] startOffset 0 based offset of first character. @param [out] endOffset @@ -341,8 +405,8 @@ interface IAccessibleText : IUnknown @retval S_OK @retval S_FALSE if the requested boundary type is not implemented, such as ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; - [out] values are 0s and NULL respectively - @retval E_INVALIDARG if bad [in] passed, [out] values are 0s and NULL respectively + [out] values are 0s and NULL respectively + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT textBeforeOffset ( @@ -363,12 +427,16 @@ interface IAccessibleText : IUnknown For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete word that is closest to and located after offset is returned. - If the index is valid, but no suitable word (or other text type) is found, a - NULL pointer is returned. + If the index is valid, but no text is found, S_FALSE is returned along with out + values of 0, 0, and a NULL pointer. This would happen for boundary types other + than character when the text consists entirely of whitespace. @param [in] offset - Index of the character for which to return the text part before it. The index + Index of the character for which to return the text part after it. The index character will not be part of the returned string. The valid range is 0..length. + Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. @param [in] boundaryType The type of the text portion to return. See ::IA2TextBoundaryType for the complete list. @@ -382,8 +450,8 @@ interface IAccessibleText : IUnknown @retval S_OK @retval S_FALSE if the requested boundary type is not implemented, such as ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; - [out] values are 0s and NULL respectively - @retval E_INVALIDARG if bad [in] passed, [out] values are 0s and NULL respectively + [out] values are 0s and NULL respectively + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT textAfterOffset ( @@ -395,15 +463,26 @@ interface IAccessibleText : IUnknown ); /** @brief Returns a text portion that spans the given position. - - Returns the substring of the specified text type at the specified offset. - If the index is valid, but no suitable word (or other text type) is found, a - NULL pointer is returned. + Returns the substring defined by the specified boundary type at the specified + offset. Refer to IA2TextBoundaryType for more details. + + For the word boundary type the returned string will contain the word at the + offset if the offset is inside a word and will contain the word before the + offset if the offset is not inside a word. All offsets from the first to the + last characters of a word are considered inside the word. Boundary types of + sentence and paragraph should exhibit similar behavior. + + If the index is valid, but no text is found, S_FALSE is returned along with out + values of 0, 0, and a NULL pointer. This would happen for boundary types other + than character when the text consists entirely of whitespace. @param [in] offset - Index of the character for which to return the text part before it. The index - character will not be part of the returned string. The valid range is 0..length. + Index of the character for which to return the text part it belongs to. The valid + range is 0..length. + Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. @param [in] boundaryType The type of the text portion to return. See ::IA2TextBoundaryType for the complete list. @@ -417,8 +496,8 @@ interface IAccessibleText : IUnknown @retval S_OK @retval S_FALSE if the requested boundary type is not implemented, such as ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; - [out] values are 0s and NULL respectively - @retval E_INVALIDARG if bad [in] passed, [out] values are 0s and NULL respectively + [out] values are 0s and NULL respectively + @retval E_INVALIDARG if bad [in] passed */ [propget] HRESULT textAtOffset ( @@ -456,7 +535,9 @@ interface IAccessibleText : IUnknown The new index of the caret. This caret is actually placed to the left side of the character with that index. An index of 0 places the caret so that the next insertion goes before the first character. An index of IAccessibleText::nCharacters - leads to insertion after the last character. + leads to insertion after the last character. Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. @retval S_OK @retval E_FAIL if the caret cannot be set @retval E_INVALIDARG if bad [in] passed @@ -475,6 +556,9 @@ interface IAccessibleText : IUnknown New ending offset (0 based) - the offset of the character just past the last character of the selection. @retval S_OK @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. */ HRESULT setSelection ( @@ -504,12 +588,15 @@ interface IAccessibleText : IUnknown Defines where the object should be placed on the screen. @retval S_OK @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. */ HRESULT scrollSubstringTo ( [in] long startIndex, [in] long endIndex, - [in] enum IA2ScrollType scrollType + [in] enum IA2ScrollType scrollType ); /** @brief Moves the top left of a substring to a specified location. @@ -527,14 +614,17 @@ interface IAccessibleText : IUnknown @retval S_OK @retval S_FALSE if the object is already at the specified location. @retval E_INVALIDARG if bad [in] passed + @note Refer to @ref _specialOffsets + "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods" + for information about special offsets that can be used in %IAccessibleText methods. */ HRESULT scrollSubstringToPoint ( [in] long startIndex, [in] long endIndex, [in] enum IA2CoordinateType coordinateType, - [in] long x, - [in] long y + [in] long x, + [in] long y ); /** @brief Returns any inserted text. @@ -556,12 +646,14 @@ interface IAccessibleText : IUnknown @param [out] newText The text that was just inserted. @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL + @retval S_FALSE If there is nothing to return, the values of IA2TextSegment + struct are set as follows: text = NULL, start = 0, end = 0. + */ [propget] HRESULT newText ( - [out, retval] IA2TextSegment *newText - ); + [out, retval] IA2TextSegment *newText + ); /** @brief Returns any removed text. @@ -581,11 +673,12 @@ interface IAccessibleText : IUnknown @param [out] oldText The text that was just removed. @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL + @retval S_FALSE If there is nothing to return, the values of IA2TextSegment + struct are set as follows: text = NULL, start = 0, end = 0. */ [propget] HRESULT oldText ( - [out, retval] IA2TextSegment *oldText - ); + [out, retval] IA2TextSegment *oldText + ); } diff --git a/other-licenses/ia2/AccessibleText2.idl b/other-licenses/ia2/AccessibleText2.idl new file mode 100644 index 00000000000000..bc75cdd6acb6b5 --- /dev/null +++ b/other-licenses/ia2/AccessibleText2.idl @@ -0,0 +1,98 @@ +/************************************************************************* + * + * File Name (AccessibleText2.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2013 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + +import "objidl.idl"; +import "oaidl.idl"; +import "oleacc.idl"; +import "IA2CommonTypes.idl"; +import "AccessibleText.idl"; + +/** @brief This interface gives read-only access to text. + + The %IAccessibleText2 interface extends the functionality of the + %IAccessibleText interface. +*/ +[object, uuid(9690A9CC-5C80-4DF5-852E-2D5AE4189A54)] +interface IAccessibleText2 : IAccessibleText +{ + + /** @brief Returns the range and of the specified set of attributes. + + Return the range (start and end offsets) and text attributes that correspond + to the given attributes filter at the given offset. + + @param [in] offset + The offset at which to search for the attributes specified in the filter. + @param [in] filter + The requested attribute names. The filter format is "attribute1, attribute2". + @param [out] startOffset + The starting (0-based) offset of the text containing the specified attributes. + @param [out] endOffset + The (0-based) offset one past the last character of the text containing the + specified attributes. + @param [out] attributeValues + The values of the requested attributes. + @retval S_OK + @retval S_FALSE if nothing to return, [out] values are -1, -1, NULL respectively. + @retval E_INVALIDARG if bad [in] passed. + */ + [propget] HRESULT attributeRange + ( + [in] long offset, + [in] BSTR filter, + [out] long *startOffset, + [out] long *endOffset, + [out, retval] BSTR *attributeValues + ); + +} diff --git a/other-licenses/ia2/AccessibleValue.idl b/other-licenses/ia2/AccessibleValue.idl index 6628e9611dab9e..c8b4b697ee4fe1 100644 --- a/other-licenses/ia2/AccessibleValue.idl +++ b/other-licenses/ia2/AccessibleValue.idl @@ -1,28 +1,55 @@ /************************************************************************* * - * File Name (AccessibleValue) + * File Name (AccessibleValue.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2008 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ import "objidl.idl"; import "oaidl.idl"; @@ -47,7 +74,7 @@ interface IAccessibleValue : IUnknown Returns the current value represented by this object. See the section about @ref _variants "VARIANTs" for additional information. @retval S_OK - @retval S_FALSE if there is nothing to return, [out] value is NULL + @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY */ [propget] HRESULT currentValue ( @@ -62,7 +89,7 @@ interface IAccessibleValue : IUnknown value the new value will be the minimum and if it is greater than the maximum then the new value will be the maximum. - @param [out] value + @param [in] value The new value represented by this object. The set of admissible types for this argument is implementation dependent. @retval S_OK @@ -82,6 +109,7 @@ interface IAccessibleValue : IUnknown has no upper bound then an empty object is returned. See the section about @ref _variants "VARIANTs" for additional information. @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY */ [propget] HRESULT maximumValue ( @@ -98,6 +126,7 @@ interface IAccessibleValue : IUnknown has no lower bound then an empty object is returned. See the section about @ref _variants "VARIANTs" for additional information. @retval S_OK + @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY */ [propget] HRESULT minimumValue ( diff --git a/other-licenses/ia2/IA2CommonTypes.idl b/other-licenses/ia2/IA2CommonTypes.idl index fb4d097eb1fb6c..b54f65ccde2d62 100644 --- a/other-licenses/ia2/IA2CommonTypes.idl +++ b/other-licenses/ia2/IA2CommonTypes.idl @@ -1,30 +1,57 @@ /************************************************************************* * * File Name (IA2CommonTypes.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2009 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - ************************************************************************/ - -/** These constants control the scrolling of an object or substring into a window. + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ + + /** These constants control the scrolling of an object or substring into a window. This enum is used in IAccessible2::scrollTo and IAccessibleText::scrollSubstringTo. */ diff --git a/other-licenses/ia2/IA2TypeLibrary.idl b/other-licenses/ia2/IA2TypeLibrary.idl index 82b4c9233ba5fd..45a54a605cd530 100644 --- a/other-licenses/ia2/IA2TypeLibrary.idl +++ b/other-licenses/ia2/IA2TypeLibrary.idl @@ -1,28 +1,55 @@ /************************************************************************* * * File Name (IA2TypeLibrary.idl) + * + * IAccessible2 IDL Specification + * + * Copyright (c) 2007, 2012 Linux Foundation + * Copyright (c) 2006 IBM Corporation + * Copyright (c) 2000, 2006 Sun Microsystems, Inc. + * All rights reserved. + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. * - * IAccessible2 IDL Specification - * - * Copyright (c) Linux Foundation 2007, 2009 - * Copyright (c) IBM Corp. 2006 - * Copyright (c) Sun Microsystems, Inc. 2000, 2006 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA - * - ************************************************************************/ + * 3. Neither the name of the Linux Foundation nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This BSD License conforms to the Open Source Initiative "Simplified + * BSD License" as published at: + * http://www.opensource.org/licenses/bsd-license.php + * + * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 + * mark may be used in accordance with the Linux Foundation Trademark + * Policy to indicate compliance with the IAccessible2 specification. + * + ************************************************************************/ // This is not a standalone file. It is to be appended to the end of the // merged IDL file. @@ -32,35 +59,40 @@ cpp_quote("// Type Library Definitions") cpp_quote("") [ - uuid(c974e070-3787-490a-87b0-e333b06ca1e2), - helpstring("IAccessible2 Type Library"), - version(1.1), + uuid(CE3F726E-D1D3-44FE-B995-FF1DB3B48B2B), + helpstring("IAccessible2 Type Library"), + version(1.3), hidden ] library IAccessible2Lib { importlib ("stdole2.tlb"); + importlib ("oleacc.dll"); interface IAccessible2; + interface IAccessible2_2; interface IAccessibleAction; interface IAccessibleApplication; interface IAccessibleComponent; + interface IAccessibleDocument; interface IAccessibleEditableText; interface IAccessibleHyperlink; interface IAccessibleHypertext; + interface IAccessibleHypertext2; interface IAccessibleImage; interface IAccessibleRelation; interface IAccessibleTable; interface IAccessibleTable2; interface IAccessibleTableCell; interface IAccessibleText; + interface IAccessibleText2; interface IAccessibleValue; - enum IA2CoordinateType; - enum IA2EventID; - enum IA2Role; - enum IA2ScrollType; - enum IA2States; - enum IA2TableModelChangeType; - enum IA2TextBoundaryType; - enum IA2TextSpecialOffsets; + enum IA2CoordinateType; + enum IA2EventID; + enum IA2Role; + enum IA2ScrollType; + enum IA2States; + enum IA2TableModelChangeType; + enum IA2TextBoundaryType; + enum IA2TextSpecialOffsets; }