From 385cc6cdf090027b417e01d043e9e88bc7bb975b Mon Sep 17 00:00:00 2001 From: James Teh Date: Fri, 26 Apr 2013 21:18:26 +1000 Subject: [PATCH] Version 1.3 (2013-03-14). --- .gitattributes | 2 +- api/Accessible2.idl | 93 +- api/Accessible2_2.idl | 8 +- api/AccessibleAction.idl | 29 +- api/AccessibleDocument.idl | 9 +- api/AccessibleHypertext2.idl | 10 +- api/AccessibleRelation.idl | 51 +- api/AccessibleRole.idl | 6 +- api/AccessibleTable.idl | 6 +- api/AccessibleTableCell.idl | 4 +- api/AccessibleText2.idl | 28 +- changelog.txt | 36 +- doxygen.conf | 13 +- doxygen.css | 1420 ++++++++++++++++++++------- footer.html | 36 +- header.html | 63 +- how-to-build-ia2-idl.txt | 15 +- proxy-dll/IAccessible2Proxy.rc | 25 +- proxy-dll/IAccessible2Proxy.sln | 6 +- proxy-dll/IAccessible2Proxy.vcproj | 199 ---- proxy-dll/IAccessible2Proxy.vcxproj | 99 ++ 21 files changed, 1389 insertions(+), 769 deletions(-) delete mode 100644 proxy-dll/IAccessible2Proxy.vcproj create mode 100644 proxy-dll/IAccessible2Proxy.vcxproj diff --git a/.gitattributes b/.gitattributes index 17acf37..5bd44a2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,7 +6,7 @@ *.conf text *.sh eol=lf *.h text -*.vcproj eol=crlf +*.vcxproj eol=crlf *.sln eol=crlf *.def eol=crlf *.rc eol=crlf diff --git a/api/Accessible2.idl b/api/Accessible2.idl index bfa47c0..884edca 100644 --- a/api/Accessible2.idl +++ b/api/Accessible2.idl @@ -4,7 +4,7 @@ * * IAccessible2 IDL Specification * - * Copyright (c) 2007, 2012 Linux Foundation + * Copyright (c) 2007, 2013 Linux Foundation * Copyright (c) 2006 IBM Corporation * Copyright (c) 2000, 2006 Sun Microsystems, Inc. * All rights reserved. @@ -54,13 +54,14 @@ /** @mainpage @section _interfaces Interfaces + IAccessible2\n IAccessible2_2\n IAccessibleAction\n IAccessibleApplication\n IAccessibleComponent\n IAccessibleDocument\n IAccessibleEditableText\n - IAccessibleHypertext [Deprecated]\n + IAccessibleHypertext\n IAccessibleHypertext2\n IAccessibleHyperlink\n IAccessibleImage\n @@ -68,7 +69,7 @@ IAccessibleTable [Deprecated]\n IAccessibleTable2\n IAccessibleTableCell\n - IAccessibleText [Deprecated]\n + IAccessibleText\n IAccessibleText2\n IAccessibleValue @@ -78,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 @@ -205,16 +207,22 @@ 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, IAccessibleTable2::selectedCells, - IAccessibleTable2::selectedColumns, and IAccessibleTable2::selectedRows. For - those methods, the server must allocate both the top level array and any storage + 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 IAccessible2::extendedStates, IAccessible2::localizedExtendedStates, - and IAccessibleAction::keyBinding 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. + 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. @@ -375,7 +383,7 @@ interface IAccessible2 : IAccessible /** @brief Returns the number of accessible relations for this object. @param [out] nRelations @retval S_OK - @deprecated + @deprecated use IAccessible2_2::relationTargetsOfType */ [propget] HRESULT nRelations ( @@ -388,7 +396,7 @@ interface IAccessible2 : IAccessible @param [out] relation @retval S_OK @retval E_INVALIDARG if bad [in] passed - @deprecated + @deprecated use IAccessible2_2::relationTargetsOfType */ [propget] HRESULT relation ( @@ -407,7 +415,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 - @deprecated + @deprecated use IAccessible2_2::relationTargetsOfType */ [propget] HRESULT relations ( @@ -549,8 +557,11 @@ interface IAccessible2 : IAccessible An extended state is a state which is dynamically generated by the application. It is not predefined by the %IAccessible2 specification. + @param [in] maxExtendedStates + 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 @@ -558,13 +569,18 @@ interface IAccessible2 : IAccessible */ [propget] HRESULT extendedStates ( - [out, size_is(,*nExtendedStates)] BSTR **extendedStates, + [in] long maxExtendedStates, + [out, size_is(,maxExtendedStates), length_is(,*nExtendedStates)] BSTR **extendedStates, [out, retval] long *nExtendedStates ); /** @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 @@ -572,7 +588,8 @@ interface IAccessible2 : IAccessible */ [propget] HRESULT localizedExtendedStates ( - [out, size_is(,*nLocalizedExtendedStates)] BSTR **localizedExtendedStates, + [in] long maxLocalizedExtendedStates, + [out, size_is(,maxLocalizedExtendedStates), length_is(,*nLocalizedExtendedStates)] BSTR **localizedExtendedStates, [out, retval] long *nLocalizedExtendedStates ); @@ -673,51 +690,5 @@ interface IAccessible2 : IAccessible [out, retval] BSTR *attributes ); - /** @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. - */ - [propget] HRESULT attribute - ( - [in] BSTR name, - [out, retval] BSTR *attribute - ); - - /** @brief Returns the 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 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. 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/api/Accessible2_2.idl b/api/Accessible2_2.idl index 6d0419b..e90c2a3 100644 --- a/api/Accessible2_2.idl +++ b/api/Accessible2_2.idl @@ -4,7 +4,7 @@ * * IAccessible2 IDL Specification * - * Copyright (c) 2007, 2012 Linux Foundation + * Copyright (c) 2007, 2013 Linux Foundation * Copyright (c) 2006 IBM Corporation * Copyright (c) 2000, 2006 Sun Microsystems, Inc. * All rights reserved. @@ -86,7 +86,7 @@ interface IAccessible2_2 : IAccessible2 [out, retval] VARIANT *attribute ); - /** @brief Returns the hypertext accessible in the subtree of this object, and the caret offset within it. + /** @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 @@ -100,11 +100,11 @@ interface IAccessible2_2 : IAccessible2 /** @brief Returns relation targets for a specified target type. @param [in] type - The requested relation 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. Free it with CoTaskMemFree. + 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 diff --git a/api/AccessibleAction.idl b/api/AccessibleAction.idl index 8f3f500..f1cd970 100644 --- a/api/AccessibleAction.idl +++ b/api/AccessibleAction.idl @@ -4,7 +4,7 @@ * * IAccessible2 IDL Specification * - * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2007, 2012 Linux Foundation * Copyright (c) 2006 IBM Corporation * Copyright (c) 2000, 2006 Sun Microsystems, Inc. * All rights reserved. @@ -55,6 +55,31 @@ 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. @@ -148,7 +173,7 @@ 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 diff --git a/api/AccessibleDocument.idl b/api/AccessibleDocument.idl index f5eabaf..3968f7c 100644 --- a/api/AccessibleDocument.idl +++ b/api/AccessibleDocument.idl @@ -4,7 +4,7 @@ * * IAccessible2 IDL Specification * - * Copyright (c) 2012 Linux Foundation + * Copyright (c) 2013 Linux Foundation * All rights reserved. * * @@ -60,10 +60,11 @@ import "oleacc.idl"; [object, uuid(C48C7FCF-4AB5-4056-AFA6-902D6E1D1149)] interface IAccessibleDocument : IUnknown { - /** @brief Returns the most recently used anchor target within an HTML document. + /** @brief Returns the most recently used anchor target within a document. - Anchor targets are those which has been defined with the tag. An HTML page's - most recently targeted in-page anchor is returned. + 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 diff --git a/api/AccessibleHypertext2.idl b/api/AccessibleHypertext2.idl index 2cad490..2eba16b 100644 --- a/api/AccessibleHypertext2.idl +++ b/api/AccessibleHypertext2.idl @@ -4,7 +4,7 @@ * * IAccessible2 IDL Specification * - * Copyright (c) 2007, 2012 Linux Foundation + * Copyright (c) 2007, 2013 Linux Foundation * Copyright (c) 2006 IBM Corporation * Copyright (c) 2000, 2006 Sun Microsystems, Inc. * All rights reserved. @@ -59,10 +59,8 @@ import "AccessibleHyperlink.idl"; /** @brief This interface exposes information about hypertext in a document. - The %IAccessibleHypertext interface is the main interface to expose - hyperlinks in a document, typically a text document, that are used - to reference other documents. A typical implementation is to implement - this interface on the smallest text object such as a paragraph of text. + The %IAccessibleHypertext2 interface extends the functinality of the + %IAccessibleHypertext inteface. */ [object, uuid(CF64D89F-8287-4B44-8501-A827453A6077)] interface IAccessibleHypertext2 : IAccessibleHypertext @@ -74,7 +72,7 @@ interface IAccessibleHypertext2 : IAccessibleHypertext provides several kinds of information describing it. @param [out] hyperlinks - 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] nHyperlinks The number of links returned; the size of the returned array. @retval S_OK diff --git a/api/AccessibleRelation.idl b/api/AccessibleRelation.idl index bed4b9d..6af3e11 100644 --- a/api/AccessibleRelation.idl +++ b/api/AccessibleRelation.idl @@ -4,7 +4,7 @@ * * IAccessible2 IDL Specification * - * Copyright (c) 2007, 2012 Linux Foundation + * Copyright (c) 2007, 2013 Linux Foundation * Copyright (c) 2006 IBM Corporation * Copyright (c) 2000, 2006 Sun Microsystems, Inc. * All rights reserved. @@ -61,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"; @@ -92,9 +106,6 @@ const WCHAR *const IA2_RELATION_FLOWS_FROM = L"flowsFrom"; /** Content flows from this object to a target object. */ const WCHAR *const IA2_RELATION_FLOWS_TO = L"flowsTo"; -/** This object is a grouping object for the target object. */ -const WCHAR *const IA2_RELATION_GROUPING_OBJECT_FOR = L"groupingObjectFor"; - /** This object is label for a target object. */ const WCHAR *const IA2_RELATION_LABEL_FOR = L"labelFor"; @@ -117,10 +128,16 @@ const WCHAR *const IA2_RELATION_MEMBER_OF = L"memberOf"; /** The target object is the next object in the tab order. */ const WCHAR *const IA2_RELATION_NEXT_TABBABLE = L"nextTabbable"; -/** This object is a child of a target object. */ +/** 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 parent of a target object. */ +/** 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. */ @@ -131,30 +148,20 @@ const WCHAR *const IA2_RELATION_PARENT_WINDOW_OF = L"parentWindowOf"; */ const WCHAR *const IA2_RELATION_POPUP_FOR = L"popupFor"; -/** This object is the initiator for the target popup object. */ -const WCHAR *const IA2_RELATION_POPUP_INITIATOR_FOR = L"popInitiatorFor"; - /** 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"; -/** The target object is the containing document object. */ -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"; - -/** The target object is the containing application object. */ -const WCHAR *const IA2_RELATION_CONTAINING_APPLICATION = L"containingApplication"; - ///@} -/// This interface gives access to an object's set of relations. +/** This interface gives access to an object's set of relations. + + Note that this interface has been deprecated along with IAccessible2::relation, + IAccessible2::relations, and IAccessible2::nRelations. These have been replaced + with IAccessible2_2::relationTargetsOfType. +*/ [object, uuid(7CDF86EE-C3DA-496a-BDA4-281B336E1FDC)] interface IAccessibleRelation : IUnknown { diff --git a/api/AccessibleRole.idl b/api/AccessibleRole.idl index ce75b24..abcdf76 100644 --- a/api/AccessibleRole.idl +++ b/api/AccessibleRole.idl @@ -4,7 +4,7 @@ * * IAccessible2 IDL Specification * - * Copyright (c) 2007, 2010 Linux Foundation + * Copyright (c) 2007, 2013 Linux Foundation * Copyright (c) 2006 IBM Corporation * Copyright (c) 2000, 2006 Sun Microsystems, Inc. * All rights reserved. @@ -191,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. diff --git a/api/AccessibleTable.idl b/api/AccessibleTable.idl index c72d9e7..0a0c4b7 100644 --- a/api/AccessibleTable.idl +++ b/api/AccessibleTable.idl @@ -337,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 @@ -356,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 @@ -375,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/api/AccessibleTableCell.idl b/api/AccessibleTableCell.idl index 4d0d5cc..66b329e 100644 --- a/api/AccessibleTableCell.idl +++ b/api/AccessibleTableCell.idl @@ -81,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 @@ -120,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 diff --git a/api/AccessibleText2.idl b/api/AccessibleText2.idl index d5f577f..bc75cdd 100644 --- a/api/AccessibleText2.idl +++ b/api/AccessibleText2.idl @@ -4,7 +4,7 @@ * * IAccessible2 IDL Specification * - * Copyright (c) 2007, 2012 Linux Foundation + * Copyright (c) 2007, 2013 Linux Foundation * Copyright (c) 2006 IBM Corporation * Copyright (c) 2000, 2006 Sun Microsystems, Inc. * All rights reserved. @@ -59,30 +59,8 @@ import "AccessibleText.idl"; /** @brief This interface gives read-only access to text. - The %IAccessibleText interface should be implemented by all components - that present textual information on the display like buttons, - text entry fields, or text portions of the document window. The interface - provides access to the text's content, attributes, and spatial location. - However, text can not be modified with this interface. That is the task - of the IAccessibleEditableText interface. - - The text length, i.e. the number of characters in the text, is - returned by IAccessibleText::nCharacters. All methods that operate - on particular characters (e.g. IAccessibleText::textAtOffset) use character - indices from 0 to length-1. All methods that operate on character positions - (e.g. IAccessibleText::text) use indices from 0 to length. - - Please note that accessible text does not necessarily support selection. - In this case it should behave as if there where no selection. An empty - selection is used for example to express the current cursor position. - - 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. - - E_FAIL is returned in the following cases - @li endOffset < startOffset - @li endoffset > length + The %IAccessibleText2 interface extends the functionality of the + %IAccessibleText interface. */ [object, uuid(9690A9CC-5C80-4DF5-852E-2D5AE4189A54)] interface IAccessibleText2 : IAccessibleText diff --git a/changelog.txt b/changelog.txt index 39ce67b..5825ece 100755 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,4 @@ -2012-September-17 Pete Brunet +2013-March-15 Pete Brunet Changes from 1.2.1 to 1.3 @@ -6,39 +6,43 @@ - Change version from 1.2.1 to 1.3. * api\Accessible2.idl - - Deprecate the nRelation, relation, relations methods. + - Add reference to the new IA2Actions enum. + - Mark IAccessibleTable as being deprecated. - Update the documentation on the extaneous [in] parameters of IAccessible2's maxExtendedStates and maxLocalizedExtendedStates methods, and IAccessibleAction's keyBinding method. + - Update the copyright date. * api\Accessible2_2.idl - - This is a new interface; it subclasses and extends IAccessible2. - - It adds the attribute, accessibleWithCaret, relationTargetsOfType methods. + - This is a new interface. + - It subclasses IAccessible2. + - It adds the attribute, accessibleWithCaret, and relationTargetsOfType methods. + + * api\AccessibleAction.idl + - Add IA2Actions enum + - Update the copyright date. * api\AccessibleDocument - - This is a new interface. + - This is a new interface containing the anchorTarget method. * api\AccessibleEditableText.idl - Document that copyText, cutText, and pasteText are deprecated. - Update the copyright date. * api\AccessibleHypertext2.idl - - This is a new interface; it subclasses and extends IAccessibleHypertext. - - Add hyperlinks method. - - Add import for AccessibleHypertext.idl. + - This is a new interface. + - It subclasses IAccessibleHypertext and adds the hyperlinks method. * api\AccessibleRelation.idl - Update the copyright date. - Add new relations: - IA2_RELATION_GROUPING_OBJECT_FOR + IA2_RELATION_CONTAINING_APPLICATION + IA2_RELATION_CONTAINING_DOCUMENT + IA2_RELATION_CONTAINING_TAB_PANE + IA2_RELATION_CONTAINING_WINDOW IA2_RELATION_NEXT_TABBABLE IA2_RELATION_NODE_PARENT_OF - IA2_RELATION_POPUP_INITIATOR_FOR IA2_RELATION_PREVIOUS_TABBABLE - IA2_RELATION_CONTAINING_DOCUMENT - IA2_RELATION_CONTAINING_TAB_PANE - IA2_RELATION_CONTAINING_WINDOW - IA2_RELATION_CONTAINING_APPLICATION * api\AccessibleTable2.idl - Update the copyright date. @@ -54,8 +58,8 @@ - Fix documentation of the offset parameter of textAtOffset. * api\AccessibleText2.idl - - This is a new interface; it subclasses and extends IAccessibleText. - - Add attributeRange method. + - This is a new interface. + - It subclasses IAccessibleText and adds the attributeRange method. * api\IA2TypeLibrary.idl - Update the copyright date. diff --git a/doxygen.conf b/doxygen.conf index c261b3d..fb29ae4 100644 --- a/doxygen.conf +++ b/doxygen.conf @@ -1,4 +1,4 @@ -# Doxyfile 1.8.2 +# Doxyfile 1.8.3.1 #--------------------------------------------------------------------------- # Project related configuration options @@ -147,6 +147,7 @@ INPUT_FILTER = FILTER_PATTERNS = FILTER_SOURCE_FILES = NO FILTER_SOURCE_PATTERNS = +USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- @@ -172,8 +173,8 @@ HTML_OUTPUT = html HTML_FILE_EXTENSION = .html HTML_HEADER = ..\header.html HTML_FOOTER = ..\footer.html -HTML_STYLESHEET = ..\doxygen.css -HTML_EXTRA_STYLESHEET = +HTML_STYLESHEET = +HTML_EXTRA_STYLESHEET = ../customdoxygen.css HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 220 HTML_COLORSTYLE_SAT = 100 @@ -211,10 +212,16 @@ EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 FORMULA_TRANSPARENT = YES USE_MATHJAX = NO +MATHJAX_FORMAT = HTML-CSS MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest MATHJAX_EXTENSIONS = SEARCHENGINE = NO SERVER_BASED_SEARCH = NO +EXTERNAL_SEARCH = NO +SEARCHENGINE_URL = +SEARCHDATA_FILE = searchdata.xml +EXTERNAL_SEARCH_ID = +EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- diff --git a/doxygen.css b/doxygen.css index fd4961e..983a3b7 100644 --- a/doxygen.css +++ b/doxygen.css @@ -1,528 +1,1184 @@ -BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { - font-family: Geneva, Arial, Helvetica, sans-serif; +/* The standard CSS for doxygen 1.8.3.1 */ + +body, table, div, p, dl { + font: 400 14px/19px Roboto,sans-serif; } -BODY,TD { - font-size: 90%; + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; } -/* added by GJR */ -address { font-style: normal; font-family: sans-serif; - color: black; background-color: rgb(195,217,255); - line-height: 125%; padding: 0.75em; display: block; - margin-left: 0.5em; margin-right: 0.5em; } +.title { + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} -.centered-header { text-align: center; } -.table-header { text-align: center; } +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} -.copyright-claim { text-align: right; font-size: 95%; font-family: arial, sans-serif; } +h3.groupheader { + font-size: 100%; +} -.logo { width: 20%; float: left; margin-left: 1%; padding-right: 0%; text-align: left; float: left; } -.date-stamp { width: 60%; padding-left: 3%; text-align: right; font-size: 80%; float: right; } +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} -.end-matter { margin-right: 2%; margin-left: 2%; } -.front-matter { margin-right: 4%; margin-left: 4%; } +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} -.section { margin-right: 1%; margin-left: 1%; } -.section-header { color: #1a41a8; background: white; } +dt { + font-weight: bold; +} -.sub-section { margin-right: 2%; margin-left: 2%; } -.sub-section-header { color: #1a41a8; background: white; margin-left: -1%; } -.sub-sub-section { margin-right: 3%; margin-left: 3%; } -.sub-sub-section-header { color: #1a41a8; background: white; margin-left: -2%; } -.sub-sub-sub-section { margin-right: 4%; margin-left: 4%; } -.sub-sub-sub-section-header { color: #1a41a8; background: white; margin-left: -3%; } +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} -ul.plain { list-decoration: none; list-style: none; margin-left: 0em; } -ul.plain2 { list-decoration: none; list-style: none; margin-left: 2em; } -/* resume defaults */ +p.startli, p.startdd, p.starttd { + margin-top: 2px; +} -H1 { - text-align: center; - font-size: 160%; +p.endli { + margin-bottom: 0px; } -H2 { - font-size: 120%; + +p.enddd { + margin-bottom: 4px; } -H3 { - font-size: 100%; + +p.endtd { + margin-bottom: 2px; } -CAPTION { - font-weight: bold + +/* @end */ + +caption { + font-weight: bold; } -DIV.qindex { - width: 100%; - background-color: #e8eef2; - border: 1px solid #84b0c7; + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; } -DIV.navpath { + +div.qindex, div.navpath { width: 100%; - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - padding: 2px; line-height: 140%; } -DIV.navtab { - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; + +div.navtab { + margin-right: 15px; } -TD.navtab { - font-size: 70%; + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; } -A.qindex { - text-decoration: none; - font-weight: bold; - color: #1A419D; + +.contents a:visited { + color: #4665A2; } -A.qindex:visited { - text-decoration: none; - font-weight: bold; - color: #1A419D + +a:hover { + text-decoration: underline; } -A.qindex:hover { - text-decoration: none; - background-color: #ddddff; + +a.qindex { + font-weight: bold; } -A.qindexHL { - text-decoration: none; + +a.qindexHL { font-weight: bold; - background-color: #6666cc; + background-color: #9CAFD4; color: #ffffff; - border: 1px double #9295C2; + border: 1px double #869DCA; } -A.qindexHL:hover { - text-decoration: none; - background-color: #6666cc; - color: #ffffff; + +.contents a.qindexHL:visited { + color: #ffffff; } -A.qindexHL:visited { - text-decoration: none; - background-color: #6666cc; - color: #ffffff + +a.el { + font-weight: bold; } -A.el { - text-decoration: none; - font-weight: bold + +a.elRef { } -A.elRef { - font-weight: bold + +a.code, a.code:visited { + color: #4665A2; } -A.code:link { - text-decoration: none; - font-weight: normal; - color: #0000FF + +a.codeRef, a.codeRef:visited { + color: #4665A2; } -A.code:visited { - text-decoration: none; - font-weight: normal; - color: #0000FF + +/* @end */ + +dl.el { + margin-left: -1cm; } -A.codeRef:link { - font-weight: normal; - color: #0000FF + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; } -A.codeRef:visited { - font-weight: normal; - color: #0000FF + +div.fragment { + padding: 4px; + margin: 4px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; } -A:hover { - text-decoration: none; - background-color: #f2f2ff + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; } -DL.el { - margin-left: -1cm + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; } -.fragment { - font-family: monospace, fixed; - font-size: 95%; + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; } -PRE.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - margin-top: 4px; - margin-bottom: 4px; - margin-left: 2px; - margin-right: 8px; - padding-left: 6px; - padding-right: 6px; - padding-top: 4px; - padding-bottom: 4px; +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; } -DIV.ah { + +div.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; - margin-top: 3px + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); } -DIV.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; } -DIV.groupText { + +div.groupText { margin-left: 16px; font-style: italic; - font-size: 90% } -BODY { - background: white; + +body { + background-color: white; color: black; - margin-right: 20px; - margin-left: 20px; + margin: 0; } -TD.indexkey { - background-color: #e8eef2; + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TD.indexvalue { - background-color: #e8eef2; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TR.memlist { - background-color: #f0f0f0; -} -P.formulaDsp { + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { text-align: center; } -IMG.formulaDsp { + +img.formulaDsp { + } -IMG.formulaInl { + +img.formulaInl { vertical-align: middle; } -SPAN.keyword { color: #008000 } -SPAN.keywordtype { color: #604020 } -SPAN.keywordflow { color: #e08000 } -SPAN.comment { color: #800000 } -SPAN.preprocessor { color: #806020 } -SPAN.stringliteral { color: #002080 } -SPAN.charliteral { color: #008080 } -SPAN.vhdldigit { color: #ff00ff } -SPAN.vhdlchar { color: #000000 } -SPAN.vhdlkeyword { color: #700070 } -SPAN.vhdllogic { color: #ff0000 } - -.mdescLeft { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; } -.mdescRight { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; + +div.center img { + border: 0px; } -.memItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; + +address.footer { + text-align: right; + padding-right: 12px; } -.memItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; + +img.footer { + border: 0px; + vertical-align: middle; } -.memTemplItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; + +/* @group Code Colorization */ + +span.keyword { + color: #008000 } -.memTemplItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; + +span.keywordtype { + color: #604020 } -.memTemplParams { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - color: #606060; - background-color: #FAFAFA; - font-size: 80%; + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 } + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* .search { color: #003399; font-weight: bold; } -FORM.search { + +form.search { margin-bottom: 0px; margin-top: 0px; } -INPUT.search { + +input.search { font-size: 75%; color: #000080; font-weight: normal; background-color: #e8eef2; } -TD.tiny { +*/ + +td.tiny { font-size: 75%; } -a { - color: #1A41A8; -} -a:visited { - color: #2A3798; -} + .dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid #84b0c7; + border: 1px solid #A3B4D7; } -TH.dirtab { - background: #e8eef2; + +th.dirtab { + background: #EBEFF6; font-weight: bold; } -HR { + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; border: none; - border-top: 1px solid black; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; } -/* Style for detailed member documentation */ +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + .memtemplate { font-size: 80%; - color: #606060; + color: #4665A2; font-weight: normal; - margin-left: 3px; + margin-left: 9px; } + .memnav { - background-color: #e8eef2; - border: 1px solid #84b0c7; + background-color: #EBEFF6; + border: 1px solid #A3B4D7; text-align: center; margin: 2px; margin-right: 15px; padding: 2px; } + +.mempage { + width: 100%; +} + .memitem { - padding: 4px; - background-color: #eef3f5; - border-width: 1px; - border-style: solid; - border-color: #dedeee; - -moz-border-radius: 8px 8px 8px 8px; + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; } + .memname { - white-space: nowrap; - font-weight: bold; + font-weight: bold; + margin-left: 6px; } -.memdoc{ - padding-left: 10px; + +.memname td { + vertical-align: bottom; } -.memproto { - background-color: #d5e1e8; - width: 100%; - border-width: 1px; - border-style: solid; - border-color: #84b0c7; - font-weight: bold; - -moz-border-radius: 8px 8px 8px 8px; + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; } + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + .paramkey { text-align: right; } + .paramtype { white-space: nowrap; } + .paramname { color: #602020; - font-style: italic; white-space: nowrap; } -/* End Styling for detailed member documentation */ +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} -/* for the tree view */ -.ftvtree { - font-family: sans-serif; - margin:0.5em; +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; } -/* these are for tree view when used as main index */ -.directory { - font-size: 9pt; - font-weight: bold; + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; } -.directory h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; + +.params .paramtype { + font-style: italic; + vertical-align: top; } -/* The following two styles can be used to replace the root node title */ -/* with an image of your choice. Simply uncomment the next two styles, */ -/* specify the name of your image and be sure to set 'height' to the */ -/* proper pixel height of your image. */ +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} -/* .directory h3.swap { */ -/* height: 61px; */ -/* background-repeat: no-repeat; */ -/* background-image: url("yourimage.gif"); */ -/* } */ -/* .directory h3.swap span { */ -/* display: none; */ -/* } */ +table.mlabels { + border-spacing: 0px; +} -.directory > h3 { - margin-top: 0; +td.mlabels-left { + width: 100%; + padding: 0px; } -.directory p { - margin: 0px; + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; white-space: nowrap; } -.directory div { - display: none; - margin: 0px; + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view when not used as main index */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.directory table { + border-collapse:collapse; } + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + .directory img { vertical-align: -30%; } -/* these are for tree view when not used as main index */ -.directory-alt { - font-size: 100%; - font-weight: bold; + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 5px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 2px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; } -.directory-alt h3 { + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; margin: 0px; - margin-top: 1em; - font-size: 11pt; + padding: 2px 0px; } -.directory-alt > h3 { - margin-top: 0; + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; } -.directory-alt p { + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; margin: 0px; - white-space: nowrap; + padding: 0px; } -.directory-alt div { - display: none; + +#titlearea +{ + padding: 0px; margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; } -.directory-alt img { - vertical-align: -30%; + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; } -/* added by GJR */ -@media aural { +.mscgraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} -.say { speak: normal; } -.speak { speak: normal; } -.spell { speak: spell-out; } +div.zoom +{ + border: 1px solid #90A5CE; +} -code { speak: normal; speak-punctuation: code; } +dl.citelist { + margin-bottom:50px; +} -em { richness: 75; stress: 75; pitch-range: 75; } -em.quote { richness: 100; pitch-range: 75; stress: 75; } +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} -strong { richness: 100; stress: 75; pitch-range: 75; } +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} -h1 { stress: 95; pitch-range: 95; richness: 100; } -h2 { stress: 90; pitch-range: 90; richness: 100; } -h3 { stress: 80; pitch-range: 80; richness: 100; } -h4 { stress: 70; pitch-range: 70; richness: 100; } -h5 { stress: 60; pitch-range: 60; richness: 100; } -h6 { stress: 55; pitch-range: 55; richness: 100; } +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; } -/* end of file */ \ No newline at end of file + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/footer.html b/footer.html index bae3e13..54f9a3c 100644 --- a/footer.html +++ b/footer.html @@ -1,6 +1,8 @@ -
+ + + -
+ -
- - -

A stable online reference version of the documentation for $projectname $projectnumber, +

-
+ - -
Generated on $datetime for $projectname $projectnumber by  -doxygen 1.8.2
+alt="Open Accessibility Workgroup" style="float:right; border: 0;" /> + +
+Generated on $datetime for $projectname $projectnumber by  + +doxygen + $doxygenversion +
+ - diff --git a/header.html b/header.html index afa6f64..d321aeb 100644 --- a/header.html +++ b/header.html @@ -1,13 +1,23 @@ - - + + + -$title - - - + + + +$projectname: $title +$title + + + +$treeview +$search +$mathjax + +$extrastylesheet + - + @@ -43,5 +53,42 @@ dc:date="$datetime" /> --> + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + +
+
$projectname +  $projectnumber +
+
$projectbrief
+
+
$projectbrief
+
$searchbox
+
+ + diff --git a/how-to-build-ia2-idl.txt b/how-to-build-ia2-idl.txt index f7de649..b37b770 100644 --- a/how-to-build-ia2-idl.txt +++ b/how-to-build-ia2-idl.txt @@ -53,6 +53,19 @@ How to build the IA2 docs, a merged IDL file, a zip file containing the docs and - Build, Batch Build, Choose the merged IDL project - Fix any errors in the original source IDLs or buildapi.sh that caused the problem - Rerun the builapi.sh build script. - Note: Don't fix errors in the merged file; fix them in the correct source file. +- Build the proxy DLL + - Use resedit and update the version number of IAccessible2Proxy.rc + - You will have to point resedit at the windows.h file from a Windows SDK + - I used the SDK for v7.1A + - Use Visual Sudio 2012 Express Edition to build the solution. + - Put the project files on the web site: + - IAccessible2Proxy.def + - IAccessible2Proxy.rc + - IAccessible2Proxy.sln + - IAccessible2Proxy.vcxproj + - resource.h + - Put the generated DLL on the web site: + - IAccessible2Proxy.dll + diff --git a/proxy-dll/IAccessible2Proxy.rc b/proxy-dll/IAccessible2Proxy.rc index cee195c..df4bb00 100644 --- a/proxy-dll/IAccessible2Proxy.rc +++ b/proxy-dll/IAccessible2Proxy.rc @@ -1,11 +1,13 @@ -// Generated by ResEdit 1.4.7 -// Copyright (C) 2006-2009 +// Generated by ResEdit 1.5.11 +// Copyright (C) 2006-2012 // http://www.resedit.net -#include "resource.h" #include #include #include +#include "resource.h" + + // @@ -13,28 +15,31 @@ // LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US 1 VERSIONINFO - FILEVERSION 1,1,0,0 - PRODUCTVERSION 1,1,0,0 + FILEVERSION 1,3,0,0 + PRODUCTVERSION 1,3,0,0 FILEOS VOS_UNKNOWN FILETYPE VFT_FONT + FILESUBTYPE VFT2_UNKNOWN + FILEFLAGSMASK 0x00000000 + FILEFLAGS 0x00000000 { BLOCK "StringFileInfo" { - BLOCK "040904e4" + BLOCK "040904E4" { VALUE "Comments", "Proxy DLL for cross process access to IA2 enabled applications" VALUE "CompanyName", "The Linux Foundation" VALUE "FileDescription", "Proxy DLL for IAccessible2 applications" - VALUE "FileVersion", "1.1.0.0" + VALUE "FileVersion", "1.3.0.0" VALUE "InternalName", "IAccessible2Proxy.DLL" - VALUE "LegalCopyright", "Linux Foundation, 2009" + VALUE "LegalCopyright", "Linux Foundation, 2009, 2013" VALUE "OriginalFilename", "IAccessible2Proxy.DLL" VALUE "ProductName", "IAccessible2Proxy" - VALUE "ProductVersion", "1.1.0.0" + VALUE "ProductVersion", "1.3.0.0" } } BLOCK "VarFileInfo" { - VALUE "Translation", 1033, 1252 + VALUE "Translation", 0x0409, 0x04E4 } } diff --git a/proxy-dll/IAccessible2Proxy.sln b/proxy-dll/IAccessible2Proxy.sln index ab2888c..a7589e6 100644 --- a/proxy-dll/IAccessible2Proxy.sln +++ b/proxy-dll/IAccessible2Proxy.sln @@ -1,7 +1,7 @@  -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IAccessible2Proxy", "IAccessible2Proxy.vcproj", "{9D62C5F6-6DE3-4E97-9B74-E4C17C55F6A8}" +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Express 2012 for Windows Desktop +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IAccessible2Proxy", "IAccessible2Proxy.vcxproj", "{9D62C5F6-6DE3-4E97-9B74-E4C17C55F6A8}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/proxy-dll/IAccessible2Proxy.vcproj b/proxy-dll/IAccessible2Proxy.vcproj deleted file mode 100644 index 6f249b4..0000000 --- a/proxy-dll/IAccessible2Proxy.vcproj +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/proxy-dll/IAccessible2Proxy.vcxproj b/proxy-dll/IAccessible2Proxy.vcxproj new file mode 100644 index 0000000..a14eb12 --- /dev/null +++ b/proxy-dll/IAccessible2Proxy.vcxproj @@ -0,0 +1,99 @@ + + + + + Release + Win32 + + + + {9D62C5F6-6DE3-4E97-9B74-E4C17C55F6A8} + + + + DynamicLibrary + v110 + false + MultiByte + + + + + + + + + + + <_ProjectFileVersion>11.0.51106.1 + + + .\Release\ + .\Release\ + false + + + + NDEBUG;%(PreprocessorDefinitions) + true + Win32 + .\Release/IAccessible2Proxy.tlb + + + + MaxSpeed + OnlyExplicitInline + NDEBUG;WIN32;_WINDOWS;_USRDLL;IACCESSIBLE2PROXY_EXPORTS;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;%(PreprocessorDefinitions) + true + MultiThreaded + true + .\Release/IAccessible2Proxy.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + odbc32.lib;odbccp32.lib;rpcrt4.lib;%(AdditionalDependencies) + .\Release/IAccessible2Proxy.dll + true + .\IAccessible2Proxy.def + .\Release/IAccessible2Proxy.pdb + false + + .\Release/IAccessible2Proxy.lib + MachineX86 + + + true + .\Release/IAccessible2Proxy.bsc + + + + + + + + + + Win32 + $(OutDir)ia2_api_all.tlb + + + + + + + + $(OUTDIR);%(AdditionalIncludeDirectories) + + + + + + \ No newline at end of file