| Index: iaccessible_hack2.h
|
| diff --git a/iaccessible_hack2.h b/iaccessible_hack2.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3f43743be4f1301c7a646edacc85611fba40dbe7
|
| --- /dev/null
|
| +++ b/iaccessible_hack2.h
|
| @@ -0,0 +1,1104 @@
|
| +#ifndef LOLLOLLOL
|
| +#define LOLLOLLOL
|
| +#include <atlbase.h>
|
| +#include <UIAutomationCore.h>
|
| +
|
| +typedef int AccessibleStates;
|
| +class IA2Locale;
|
| +class IA2TableModelChange;
|
| +
|
| +struct IA2TextSegment {
|
| + BSTR text;
|
| + long start, end;
|
| +};
|
| +
|
| +extern __declspec(selectany) const IID IID_IAccessibleText = {};
|
| +extern __declspec(selectany) const IID IID_IAccessible2 = {};
|
| +extern __declspec(selectany) const IID IID_IAccessible2_2 = {};
|
| +extern __declspec(selectany) const IID LIBID_IAccessible2Lib = {};
|
| +extern __declspec(selectany) const IID IID_IAccessibleAction = {};
|
| +extern __declspec(selectany) const IID IID_IAccessibleApplication = {};
|
| +extern __declspec(selectany) const IID IID_IAccessibleHyperlink = {};
|
| +extern __declspec(selectany) const IID IID_IAccessibleHypertext = {};
|
| +extern __declspec(selectany) const IID IID_IAccessibleImage = {};
|
| +extern __declspec(selectany) const IID IID_IAccessibleTable = {};
|
| +extern __declspec(selectany) const IID IID_IAccessibleTable2 = {};
|
| +extern __declspec(selectany) const IID IID_IAccessibleTableCell = {};
|
| +extern __declspec(selectany) const IID IID_IAccessibleValue = {};
|
| +extern __declspec(selectany) const IID IID_ISimpleDOMDocument = {};
|
| +extern __declspec(selectany) const IID IID_ISimpleDOMNode = {};
|
| +extern __declspec(selectany) const IID IID_ISimpleDOMText = {};
|
| +
|
| +
|
| +enum IA2TextBoundaryType {
|
| +IA2_TEXT_BOUNDARY_ALL,
|
| +IA2_TEXT_BOUNDARY_CHAR,
|
| +IA2_TEXT_BOUNDARY_LINE,
|
| +IA2_TEXT_BOUNDARY_PARAGRAPH,
|
| +IA2_TEXT_BOUNDARY_SENTENCE,
|
| +IA2_TEXT_BOUNDARY_WORD,
|
| +};
|
| +
|
| +enum IA2ScrollType {
|
| + IA2_SCROLL_TYPE_TOP_LEFT,
|
| + IA2_SCROLL_TYPE_BOTTOM_RIGHT,
|
| + IA2_SCROLL_TYPE_TOP_EDGE,
|
| + IA2_SCROLL_TYPE_BOTTOM_EDGE,
|
| + IA2_SCROLL_TYPE_LEFT_EDGE,
|
| + IA2_SCROLL_TYPE_RIGHT_EDGE,
|
| + IA2_SCROLL_TYPE_ANYWHERE,
|
| +};
|
| +enum IA2States {
|
| +
|
| +/** Indicates a window is currently the active window, or is an active subelement
|
| + within a container or table.
|
| +
|
| + This state can be used to indicate the current active item in a container, even
|
| + if the container itself is not currently active. In other words this would indicate
|
| + the item that will get focus if you tab to the container.
|
| +
|
| + This information is important for knowing what to report for trees and potentially
|
| + other containers in a virtual buffer.
|
| +
|
| + Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
|
| +*/
|
| +IA2_STATE_ACTIVE = 0x1,
|
| +
|
| +/** Indicates that the object is armed.
|
| +
|
| + Used to indicate that the control is "pressed" and will be invoked when the
|
| + actuator, e.g. a mouse button, is "released". An AT which either monitors the
|
| + mouse or synthesizes mouse events might need to know that, and possibly a talking
|
| + interface would even let the user know about it. It could also potentially be
|
| + useful to on screen keyboards or test tools since the information does indicate
|
| + something about the state of the interface, for example, code operating asynchronously
|
| + might need to wait for the armed state to change before doing something else.
|
| +
|
| +*/
|
| +IA2_STATE_ARMED = 0x2,
|
| +
|
| +/** Indicates the user interface object corresponding to this object no longer exists. */
|
| +IA2_STATE_DEFUNCT = 0x4,
|
| +
|
| +/** 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. */
|
| +IA2_STATE_HORIZONTAL = 0x10,
|
| +
|
| +/** Indicates this object is minimized and is represented only by an icon. */
|
| +IA2_STATE_ICONIFIED = 0x20,
|
| +
|
| +/** Indicates an input validation failure. */
|
| +IA2_STATE_INVALID_ENTRY = 0x40,
|
| +
|
| +/** Indicates that this object manages its children.
|
| +
|
| + Note: Due to the fact that MSAA's WinEvents don't allow the active child index
|
| + to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages
|
| + descendants scheme can't be used. Instead the active child object has to fire
|
| + MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be
|
| + added to provide for event specific data to be passed with the event. At that
|
| + time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
|
| + IA2_STATE_MANAGES_DESCENDANTS state would be useful.
|
| +*/
|
| +IA2_STATE_MANAGES_DESCENDANTS = 0x80,
|
| +
|
| +/** Indicates that an object is modal.
|
| +
|
| + Modal objects have the behavior that something must be done with the object
|
| + before the user can interact with an object in a different window.
|
| +*/
|
| +IA2_STATE_MODAL = 0x100,
|
| +
|
| +/** Indicates this text object can contain multiple lines of text. */
|
| +IA2_STATE_MULTI_LINE = 0x200,
|
| +
|
| +/** Indicates this object paints every pixel within its rectangular region. */
|
| +IA2_STATE_OPAQUE = 0x400,
|
| +
|
| +/** Indicates that user interaction is required.
|
| +
|
| + An example of when this state is used is when a field in a form must be filled
|
| + before a form can be processed.
|
| +*/
|
| +IA2_STATE_REQUIRED = 0x800,
|
| +
|
| +/** Indicates an object which supports text selection.
|
| +
|
| + Note: This is different than MSAA STATE_SYSTEM_SELECTABLE.
|
| +*/
|
| +IA2_STATE_SELECTABLE_TEXT = 0x1000,
|
| +
|
| +/** Indicates that this text object can contain only a single line of text. */
|
| +IA2_STATE_SINGLE_LINE = 0x2000,
|
| +
|
| +/** Indicates that the accessible object is stale.
|
| +
|
| + This state is used when the accessible object no longer accurately
|
| + represents the state of the object which it is representing such as when an
|
| + object is transient or when an object has been or is in the process of being
|
| + destroyed or when the object's index in its parent has changed.
|
| +*/
|
| +IA2_STATE_STALE = 0x4000,
|
| +
|
| +/** Indicates that the object implements autocompletion.
|
| +
|
| + This state indicates that a text control will respond to the input of
|
| + one ore more characters and cause a sub-item to become selected. The
|
| + selection may also result in events fired on the parent object.
|
| +*/
|
| +IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000,
|
| +
|
| +/** Indicates this object is transient.
|
| +
|
| + An object has this state when its parent object has the state ::IA2_STATE_MANAGES_DESCENDANTS.
|
| + For example, a list item object may be managed by its parent list object and may only
|
| + exist as long as the object is actually rendered. Similarly a table cell's accessible
|
| + object may exist only while the cell has focus. However, from the perspective of an
|
| + assistive technology a transient object behaves like a non-transient object. As a
|
| + result it is likely that this state is not of use to an assistive technology, but it
|
| + is provided in case an assistive technology determines that knowledge of the transient
|
| + nature of the object is useful and also for harmony with the Linux accessibility API.
|
| +
|
| + Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
|
| + */
|
| +IA2_STATE_TRANSIENT = 0x10000,
|
| +
|
| +/** Indicates the orientation of this object is vertical. */
|
| +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
|
| +
|
| +};
|
| +enum IA2Role {
|
| +
|
| + /** Unknown role. The object contains some Accessible information, but its
|
| + role is not known.
|
| + */
|
| + IA2_ROLE_UNKNOWN = 0,
|
| +
|
| + /** An object that can be drawn into and to manage events from the objects
|
| + drawn into it. Also refer to ::IA2_ROLE_FRAME,
|
| + ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE.
|
| + */
|
| + IA2_ROLE_CANVAS = 0x401,
|
| +
|
| + /// A caption describing another object.
|
| + IA2_ROLE_CAPTION,
|
| +
|
| + /// Used for check buttons that are menu items.
|
| + IA2_ROLE_CHECK_MENU_ITEM,
|
| +
|
| + /// A specialized dialog that lets the user choose a color.
|
| + IA2_ROLE_COLOR_CHOOSER,
|
| +
|
| + /// A date editor.
|
| + IA2_ROLE_DATE_EDITOR,
|
| +
|
| + /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE.
|
| + Also refer to ::IA2_ROLE_INTERNAL_FRAME.
|
| + */
|
| + IA2_ROLE_DESKTOP_ICON,
|
| +
|
| + /** A desktop pane. A pane that supports internal frames and iconified
|
| + versions of those internal frames. Also refer to ::IA2_ROLE_INTERNAL_FRAME.
|
| + */
|
| + IA2_ROLE_DESKTOP_PANE,
|
| +
|
| + /** A directory pane. A pane that allows the user to navigate through
|
| + and select the contents of a directory. May be used by a file chooser.
|
| + Also refer to ::IA2_ROLE_FILE_CHOOSER.
|
| + */
|
| + IA2_ROLE_DIRECTORY_PANE,
|
| +
|
| + /** An editable text object in a toolbar. <b>Deprecated.</b>
|
| + 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,
|
| +
|
| + /// Embedded (OLE) object.
|
| + IA2_ROLE_EMBEDDED_OBJECT,
|
| +
|
| + /// Text that is used as an endnote (footnote at the end of a chapter or section).
|
| + IA2_ROLE_ENDNOTE,
|
| +
|
| + /** A file chooser. A specialized dialog that displays the files in the
|
| + directory and lets the user select a file, browse a different directory,
|
| + or specify a filename. May use the directory pane to show the contents of
|
| + a directory.
|
| + Also refer to ::IA2_ROLE_DIRECTORY_PANE.
|
| + */
|
| + IA2_ROLE_FILE_CHOOSER,
|
| +
|
| + /** A font chooser. A font chooser is a component that lets the user pick
|
| + various attributes for fonts.
|
| + */
|
| + IA2_ROLE_FONT_CHOOSER,
|
| +
|
| + /** Footer of a document page.
|
| + Also refer to ::IA2_ROLE_HEADER.
|
| + */
|
| + IA2_ROLE_FOOTER,
|
| +
|
| + /// Text that is used as a footnote. Also refer to ::IA2_ROLE_ENDNOTE.
|
| + IA2_ROLE_FOOTNOTE,
|
| +
|
| + /** A container of form controls. An example of the use of this role is to
|
| + represent an HTML FORM tag.
|
| + */
|
| + IA2_ROLE_FORM,
|
| +
|
| + /** Frame role. A top level window with a title bar, border, menu bar, etc.
|
| + It is often used as the primary window for an application. Also refer to
|
| + ::IA2_ROLE_CANVAS and the MSAA roles of dialog and window.
|
| + */
|
| + IA2_ROLE_FRAME,
|
| +
|
| + /** A glass pane. A pane that is guaranteed to be painted on top of all panes
|
| + beneath it. Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_INTERNAL_FRAME, and
|
| + ::IA2_ROLE_ROOT_PANE.
|
| + */
|
| + IA2_ROLE_GLASS_PANE,
|
| +
|
| + /** Header of a document page.
|
| + Also refer to ::IA2_ROLE_FOOTER.
|
| + */
|
| + IA2_ROLE_HEADER,
|
| +
|
| + /// 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.
|
| + IA2_ROLE_ICON,
|
| +
|
| + /** An image map object. Usually a graphic with multiple hotspots, where
|
| + each hotspot can be activated resulting in the loading of another document
|
| + or section of a document.
|
| + */
|
| + IA2_ROLE_IMAGE_MAP,
|
| +
|
| + /** An object which is used to allow input of characters not found on a keyboard,
|
| + such as the input of Chinese characters on a Western keyboard.
|
| + */
|
| + IA2_ROLE_INPUT_METHOD_WINDOW,
|
| +
|
| + /** An internal frame. A frame-like object that is clipped by a desktop pane.
|
| + The desktop pane, internal frame, and desktop icon objects are often used to
|
| + create multiple document interfaces within an application.
|
| + Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROLE_FRAME.
|
| + */
|
| + IA2_ROLE_INTERNAL_FRAME,
|
| +
|
| + /// An object used to present an icon or short string in an interface.
|
| + IA2_ROLE_LABEL,
|
| +
|
| + /** A layered pane. A specialized pane that allows its children to be drawn
|
| + in layers, providing a form of stacking order. This is usually the pane that
|
| + holds the menu bar as well as the pane that contains most of the visual
|
| + components in a window.
|
| + Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_PANE.
|
| + */
|
| + IA2_ROLE_LAYERED_PANE,
|
| +
|
| + /** 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.
|
| + Also refer to MSAA's dialog role.
|
| + */
|
| + IA2_ROLE_OPTION_PANE,
|
| +
|
| + /** An object representing a page of document content. It is used in documents
|
| + which are accessed by the user on a page by page basis.
|
| + */
|
| + IA2_ROLE_PAGE,
|
| +
|
| + /// A paragraph of text.
|
| + IA2_ROLE_PARAGRAPH,
|
| +
|
| + /** A radio button that is a menu item.
|
| + Also refer to MSAA's button and menu item roles.
|
| + */
|
| + IA2_ROLE_RADIO_MENU_ITEM,
|
| +
|
| + /** An object which is redundant with another object in the accessible hierarchy.
|
| + ATs typically ignore objects with this role.
|
| + */
|
| + IA2_ROLE_REDUNDANT_OBJECT,
|
| +
|
| + /** A root pane. A specialized pane that has a glass pane and a layered pane
|
| + as its children.
|
| + Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE
|
| + */
|
| + IA2_ROLE_ROOT_PANE,
|
| +
|
| + /** A ruler such as those used in word processors.
|
| + */
|
| + IA2_ROLE_RULER,
|
| +
|
| + /** A scroll pane. An object that allows a user to incrementally view a large
|
| + amount of information. Its children can include scroll bars and a viewport.
|
| + Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role.
|
| + */
|
| + IA2_ROLE_SCROLL_PANE,
|
| +
|
| + /** A container of document content. An example of the use of this role is to
|
| + represent an HTML DIV tag. A section may be used as a region. A region is a
|
| + group of elements that together form a perceivable unit. A region does not
|
| + necessarily follow the logical structure of the content, but follows the
|
| + perceivable structure of the page. A region may have an attribute in the set
|
| + of IAccessible2::attributes which indicates that it is "live". A live region
|
| + is content that is likely to change in response to a timed change, a user
|
| + event, or some other programmed logic or event.
|
| + */
|
| + IA2_ROLE_SECTION,
|
| +
|
| + /// Object with graphical representation used to represent content on draw pages.
|
| + IA2_ROLE_SHAPE,
|
| +
|
| + /** A split pane. A specialized panel that presents two other panels at the
|
| + same time. Between the two panels is a divider the user can manipulate to make
|
| + one panel larger and the other panel smaller.
|
| + */
|
| + IA2_ROLE_SPLIT_PANE,
|
| +
|
| + /** An object that forms part of a menu system but which can be "undocked"
|
| + from or "torn off" the menu system to exist as a separate window.
|
| + */
|
| + IA2_ROLE_TEAR_OFF_MENU,
|
| +
|
| + /// An object used as a terminal emulator.
|
| + IA2_ROLE_TERMINAL,
|
| +
|
| + /// Collection of objects that constitute a logical text entity.
|
| + IA2_ROLE_TEXT_FRAME,
|
| +
|
| + /** A toggle button. A specialized push button that can be checked or unchecked,
|
| + but does not provide a separate indicator for the current state.
|
| + Also refer to MSAA's roles of push button, check box, and radio button.
|
| + <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used. Instead, use MSAA's
|
| + ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED.
|
| + */
|
| + IA2_ROLE_TOGGLE_BUTTON,
|
| +
|
| + /** A viewport. An object usually used in a scroll pane. It represents the
|
| + portion of the entire data that the user can see. As the user manipulates
|
| + the scroll bars, the contents of the viewport can change.
|
| + Also refer to ::IA2_ROLE_SCROLL_PANE.
|
| + */
|
| + 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
|
| +
|
| +};
|
| +
|
| +const int NODETYPE_TEXT = 0;
|
| +const int NODETYPE_DOCUMENT = 1;
|
| +const int NODETYPE_ELEMENT = 1;
|
| +
|
| +enum IA2TextSpecialOffsets {
|
| + IA2_TEXT_OFFSET_LENGTH = -1, /**< This offset is equivalent to the length of the string. It eliminates
|
| + the need to call IAccessibleText::nCharacters. */
|
| + IA2_TEXT_OFFSET_CARET = -2 /**< This offset signifies that the text related to the physical location
|
| + of the caret should be used. */
|
| +};
|
| +/** 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";
|
| +
|
| +/** This object is interactive and controls some attribute of a target object. */
|
| +const WCHAR *const IA2_RELATION_CONTROLLER_FOR = L"controllerFor";
|
| +
|
| +/** This object is described by the target object. */
|
| +const WCHAR *const IA2_RELATION_DESCRIBED_BY = L"describedBy";
|
| +
|
| +/** This object is describes the target object. */
|
| +const WCHAR *const IA2_RELATION_DESCRIPTION_FOR = L"descriptionFor";
|
| +
|
| +/** This object is embedded by a target object. */
|
| +const WCHAR *const IA2_RELATION_EMBEDDED_BY = L"embeddedBy";
|
| +
|
| +/** This object embeds a target object. This relation can be used on the
|
| + OBJID_CLIENT accessible for a top level window to show where the content
|
| + areas are.
|
| +*/
|
| +const WCHAR *const IA2_RELATION_EMBEDS = L"embeds";
|
| +
|
| +/** Content flows to this object from a target object.
|
| + This relation and IA2_RELATION_FLOWS_TO are useful to tie text and non-text
|
| + objects together in order to allow assistive technology to follow the
|
| + intended reading order.
|
| +*/
|
| +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 label for a target object. */
|
| +const WCHAR *const IA2_RELATION_LABEL_FOR = L"labelFor";
|
| +
|
| +/** This object is labelled by a target object. Note that the double L spelling
|
| + which follows is preferred. Please use it instead. This single L version may
|
| + be removed in a later version.
|
| +*/
|
| +const WCHAR *const IA2_RELATION_LABELED_BY = L"labelledBy";
|
| +
|
| +/** This object is labelled by a target object. */
|
| +const WCHAR *const IA2_RELATION_LABELLED_BY = L"labelledBy";
|
| +
|
| +/** This object is a member of a group of one or more objects. When
|
| + there is more than one object in the group each member may have one and the
|
| + same target, e.g. a grouping object. It is also possible that each member has
|
| + multiple additional targets, e.g. one for every other member in the group.
|
| +*/
|
| +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 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 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";
|
| +enum IA2EventID {
|
| +
|
| + /** The change of the number or attributes of actions of an accessible
|
| + object is signaled by events of this type.
|
| + */
|
| + IA2_EVENT_ACTION_CHANGED = 0x101,
|
| +
|
| + /** <b>Deprecated.</b> 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
|
| + follows.
|
| + */
|
| + IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
|
| +
|
| + /** The active descendant of a component has changed. The active descendant
|
| + is used in objects with transient children.
|
| +
|
| + Note: Due to the fact that MSAA's WinEvents don't allow the active child index
|
| + to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event the manages
|
| + descendants scheme can't be used. Instead the active child object has to fire
|
| + MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be
|
| + added to provide for event specific data to be passed with the event. At that
|
| + time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
|
| + IA2_STATE_MANAGES_DESCENDANTS state would be useful.
|
| + */
|
| + IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
|
| +
|
| + /** The document wide attributes of the document object have changed.
|
| + */
|
| + IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED,
|
| +
|
| + /** The contents of the document have changed.
|
| + */
|
| + IA2_EVENT_DOCUMENT_CONTENT_CHANGED,
|
| +
|
| + /** The loading of the document has completed.
|
| + */
|
| + IA2_EVENT_DOCUMENT_LOAD_COMPLETE,
|
| +
|
| + /** The loading of the document was interrupted.
|
| + */
|
| + IA2_EVENT_DOCUMENT_LOAD_STOPPED,
|
| +
|
| + /** The document contents are being reloaded.
|
| + */
|
| + IA2_EVENT_DOCUMENT_RELOAD,
|
| +
|
| + /** The ending index of this link within the containing string has changed.
|
| + */
|
| + IA2_EVENT_HYPERLINK_END_INDEX_CHANGED,
|
| +
|
| + /** The number of anchors associated with this hyperlink object has changed.
|
| + */
|
| + IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED,
|
| +
|
| + /** The hyperlink selected state changed from selected to unselected or
|
| + from unselected to selected.
|
| + */
|
| + IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED,
|
| +
|
| + /** One of the links associated with the hypertext object has been activated.
|
| + */
|
| + IA2_EVENT_HYPERTEXT_LINK_ACTIVATED,
|
| +
|
| + /** One of the links associated with the hypertext object has been selected.
|
| + */
|
| + IA2_EVENT_HYPERTEXT_LINK_SELECTED,
|
| +
|
| + /** The starting index of this link within the containing string has changed.
|
| + */
|
| + IA2_EVENT_HYPERLINK_START_INDEX_CHANGED,
|
| +
|
| + /** Focus has changed from one hypertext object to another, or focus moved
|
| + from a non-hypertext object to a hypertext object, or focus moved from a
|
| + hypertext object to a non-hypertext object.
|
| + */
|
| + IA2_EVENT_HYPERTEXT_CHANGED,
|
| +
|
| + /** The number of hyperlinks associated with a hypertext object changed
|
| + */
|
| + IA2_EVENT_HYPERTEXT_NLINKS_CHANGED,
|
| +
|
| + /** An object's attributes changed.
|
| + Also see ::IA2_EVENT_TEXT_ATTRIBUTE_CHANGED.
|
| + */
|
| + IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED,
|
| +
|
| + /** A slide changed in a presentation document or a page boundary was
|
| + crossed in a word processing document.
|
| + */
|
| + IA2_EVENT_PAGE_CHANGED,
|
| +
|
| + /** The caret moved from one section to the next.
|
| + */
|
| + IA2_EVENT_SECTION_CHANGED,
|
| +
|
| + /** A table caption changed.
|
| + */
|
| + IA2_EVENT_TABLE_CAPTION_CHANGED,
|
| +
|
| + /** A table's column description changed.
|
| + */
|
| + IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED,
|
| +
|
| + /** A table's column header changed.
|
| + */
|
| + IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED,
|
| +
|
| + /** A table's data changed.
|
| + */
|
| + IA2_EVENT_TABLE_MODEL_CHANGED,
|
| +
|
| + /** A table's row description changed.
|
| + */
|
| + IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED,
|
| +
|
| + /** A table's row header changed.
|
| + */
|
| + IA2_EVENT_TABLE_ROW_HEADER_CHANGED,
|
| +
|
| + /** A table's summary changed.
|
| + */
|
| + IA2_EVENT_TABLE_SUMMARY_CHANGED,
|
| +
|
| + /** A text object's attributes changed.
|
| + Also see ::IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED.
|
| + */
|
| + IA2_EVENT_TEXT_ATTRIBUTE_CHANGED,
|
| +
|
| + /** The caret has moved to a new position.
|
| + */
|
| + IA2_EVENT_TEXT_CARET_MOVED,
|
| +
|
| + /** <b>Deprecated.</b> This event is equivalent to ::IA2_EVENT_TEXT_UPDATED.
|
| + */
|
| + IA2_EVENT_TEXT_CHANGED,
|
| +
|
| + /** The caret moved from one column to the next.
|
| + */
|
| + IA2_EVENT_TEXT_COLUMN_CHANGED,
|
| +
|
| + /** Text was inserted.
|
| + */
|
| + IA2_EVENT_TEXT_INSERTED,
|
| +
|
| + /** Text was removed.
|
| + */
|
| + IA2_EVENT_TEXT_REMOVED,
|
| +
|
| + /** This event indicates general text changes, i.e. changes to text that are
|
| + exposed through the IAccessibleText interface. For compatibility with ATK/AT-SPI
|
| + which does not have an equivalent event, servers can alternatively fire
|
| + ::IA2_EVENT_TEXT_REMOVED and ::IA2_EVENT_TEXT_INSERTED.
|
| + */
|
| + IA2_EVENT_TEXT_UPDATED,
|
| +
|
| + /** The text selection changed. Later versions of Microsoft development environments
|
| + have an equivalent event identified, EVENT_OBJECT_TEXTSELECTIONCHANGED. Servers
|
| + should use that if it is available and use IA2_EVENT_TEXT_SELECTION_CHANGED otherwise.
|
| + Clients should be prepared to respond to either event.
|
| +
|
| + */
|
| + IA2_EVENT_TEXT_SELECTION_CHANGED,
|
| +
|
| + /** A visible data event indicates the change of the visual appearance
|
| + of an accessible object. This includes for example most of the
|
| + attributes available via the IAccessibleComponent interface.
|
| + */
|
| + IA2_EVENT_VISIBLE_DATA_CHANGED
|
| +
|
| +};
|
| +
|
| +enum IA2CoordinateType {
|
| + IA2_COORDTYPE_SCREEN_RELATIVE,
|
| + IA2_COORDTYPE_PARENT_RELATIVE,
|
| +};
|
| +
|
| +
|
| +struct __declspec(uuid("00234000-0000-457b-a96d-07f000001000")) IAccessibleRelation {
|
| + virtual STDMETHODIMP get_relationType(BSTR* relation_type) {return S_OK;}
|
| + virtual STDMETHODIMP get_nTargets(long* n_targets) {return S_OK;}
|
| + virtual STDMETHODIMP get_target(long target_index, IUnknown** target) {return S_OK;}
|
| + virtual STDMETHODIMP get_targets(long max_targets, IUnknown** targets, long* n_targets) {return S_OK;}
|
| + virtual STDMETHODIMP get_localizedRelationType(BSTR* relation_type) {return S_OK;}
|
| +};
|
| +
|
| +struct __declspec(uuid("00000000-0000-457b-a96d-07f000001000")) IAccessibleAction : public IUnknown {
|
| + virtual STDMETHODIMP nActions(long* n_actions) {return S_OK;}
|
| + virtual STDMETHODIMP doAction(long action_index) {return S_OK;}
|
| + virtual STDMETHODIMP get_description(long action_index, BSTR* description) {return S_OK;}
|
| + virtual STDMETHODIMP get_keyBinding(long action_index, long n_max_bindings, BSTR** key_bindings, long* n_bindings) {return S_OK;}
|
| + virtual STDMETHODIMP get_name(long action_index, BSTR* name) {return S_OK;}
|
| + virtual STDMETHODIMP get_localizedName(long action_index, BSTR* localized_name) {return S_OK;}
|
| +};
|
| +
|
| +class __declspec(uuid("00000000-0000-457b-a96d-07f000000000")) IAccessibleText {
|
| +public:
|
| + //
|
| + // IAccessibleText methods.
|
| + //
|
| +
|
| + virtual STDMETHODIMP get_nCharacters(LONG* n_characters) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_caretOffset(LONG* offset) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_nSelections(LONG* n_selections) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_selection(LONG selection_index, LONG* start_offset, LONG* end_offset) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_text(LONG start_offset, LONG end_offset, BSTR* text) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_textAtOffset(LONG offset, enum IA2TextBoundaryType boundary_type, LONG* start_offset, LONG* end_offset, BSTR* text) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_textBeforeOffset(LONG offset, enum IA2TextBoundaryType boundary_type, LONG* start_offset, LONG* end_offset, BSTR* text) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_textAfterOffset(LONG offset, enum IA2TextBoundaryType boundary_type, LONG* start_offset, LONG* end_offset, BSTR* text) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_offsetAtPoint(LONG x, LONG y, enum IA2CoordinateType coord_type, LONG* offset) {return S_OK;}
|
| +
|
| + //
|
| + // IAccessibleText methods not implemented.
|
| + //
|
| +
|
| + virtual STDMETHODIMP get_newText(IA2TextSegment* new_text) {return S_OK;}
|
| + virtual STDMETHODIMP get_oldText(IA2TextSegment* old_text) {return S_OK;}
|
| + virtual STDMETHODIMP addSelection(LONG start_offset, LONG end_offset) {return S_OK;}
|
| + virtual STDMETHODIMP get_attributes(LONG offset, LONG* start_offset, LONG* end_offset, BSTR* text_attributes) {return S_OK;}
|
| + virtual STDMETHODIMP get_characterExtents(LONG offset, enum IA2CoordinateType coord_type, LONG* x, LONG* y, LONG* width, LONG* height) {return S_OK;}
|
| + virtual STDMETHODIMP removeSelection(LONG selection_index) {return S_OK;}
|
| + virtual STDMETHODIMP setCaretOffset(LONG offset) {return S_OK;}
|
| + virtual STDMETHODIMP setSelection(LONG selection_index, LONG start_offset, LONG end_offset) {return S_OK;}
|
| + virtual STDMETHODIMP scrollSubstringTo(LONG start_index, LONG end_index, enum IA2ScrollType scroll_type) {return S_OK;}
|
| + virtual STDMETHODIMP scrollSubstringToPoint(LONG start_index, LONG end_index, enum IA2CoordinateType coordinate_type, LONG x, LONG y) {return S_OK;}
|
| +};
|
| +
|
| +struct __declspec(uuid("26f5641a-246d-457b-a96d-07f000000000")) IAccessible2 : public IAccessible {
|
| + // Returns role from a longer list of possible roles.
|
| + virtual STDMETHODIMP role(LONG* role) {return S_OK;}
|
| +
|
| + // Returns the state bitmask from a larger set of possible states.
|
| + virtual STDMETHODIMP get_states(AccessibleStates* states) {return S_OK;}
|
| +
|
| + // Returns the attributes specific to this IAccessible2 object,
|
| + // such as a cell's formula.
|
| + virtual STDMETHODIMP get_attributes(BSTR* attributes) {return S_OK;}
|
| +
|
| + // Get the unique ID of this object so that the client knows if it's
|
| + // been encountered previously.
|
| + virtual STDMETHODIMP get_uniqueID(LONG* unique_id) {return S_OK;}
|
| +
|
| + // Get the window handle of the enclosing window.
|
| + virtual STDMETHODIMP get_windowHandle(HWND* window_handle) {return S_OK;}
|
| +
|
| + // Get this object's index in its parent object.
|
| + virtual STDMETHODIMP get_indexInParent(LONG* index_in_parent) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_nRelations(LONG* n_relations) {return S_OK;}
|
| +
|
| + STDMETHODIMP
|
| + virtual get_relation(LONG relation_index, IAccessibleRelation** relation) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_relations(LONG max_relations, IAccessibleRelation** relations, LONG* n_relations) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP scrollTo(enum IA2ScrollType scroll_type) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP scrollToPoint(enum IA2CoordinateType coordinate_type, LONG x, LONG y) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_groupPosition(LONG* group_level, LONG* similar_items_in_group, LONG* position_in_group) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_extendedRole(BSTR* extended_role) {return S_OK;}
|
| + virtual STDMETHODIMP get_localizedExtendedRole(BSTR* localized_extended_role) {return S_OK;}
|
| + virtual STDMETHODIMP get_nExtendedStates(LONG* n_extended_states) {return S_OK;}
|
| + virtual STDMETHODIMP get_extendedStates(LONG max_extended_states, BSTR** extended_states, LONG* n_extended_states) {return S_OK;}
|
| + virtual STDMETHODIMP get_localizedExtendedStates(LONG max_localized_extended_states, BSTR** localized_extended_states, LONG* n_localized_extended_states) {return S_OK;}
|
| + virtual STDMETHODIMP get_locale(IA2Locale* locale) {return S_OK;}
|
| +};
|
| +
|
| +class __declspec(uuid("00000000-246d-457b-a96d-07f000000000")) IAccessible2_2 : public IAccessible2 {
|
| + public:
|
| + //
|
| + // IAccessible methods.
|
| + //
|
| +
|
| + // Retrieves the child element or child object at a given point on the screen.
|
| + virtual STDMETHODIMP accHitTest(LONG x_left, LONG y_top, VARIANT* child) {return S_OK;}
|
| +
|
| + // Performs the object's default action.
|
| + virtual STDMETHODIMP accDoDefaultAction(VARIANT var_id) {return S_OK;}
|
| +
|
| + // Retrieves the specified object's current screen location.
|
| + virtual STDMETHODIMP accLocation(LONG* x_left, LONG* y_top, LONG* width, LONG* height, VARIANT var_id) {return S_OK;}
|
| +
|
| + // Traverses to another UI element and retrieves the object.
|
| + virtual STDMETHODIMP accNavigate(LONG nav_dir, VARIANT start, VARIANT* end) {return S_OK;}
|
| +
|
| + // Retrieves an IDispatch interface pointer for the specified child.
|
| + virtual STDMETHODIMP get_accChild(VARIANT var_child, IDispatch** disp_child) {return S_OK;}
|
| +
|
| + // Retrieves the number of accessible children.
|
| + virtual STDMETHODIMP get_accChildCount(LONG* child_count) {return S_OK;}
|
| +
|
| + // Retrieves a string that describes the object's default action.
|
| + virtual STDMETHODIMP get_accDefaultAction(VARIANT var_id, BSTR* default_action) {return S_OK;}
|
| +
|
| + // Retrieves the tooltip description.
|
| + virtual STDMETHODIMP get_accDescription(VARIANT var_id, BSTR* desc) {return S_OK;}
|
| +
|
| + // Retrieves the object that has the keyboard focus.
|
| + virtual STDMETHODIMP get_accFocus(VARIANT* focus_child) {return S_OK;}
|
| +
|
| + // Retrieves the specified object's shortcut.
|
| + virtual STDMETHODIMP get_accKeyboardShortcut(VARIANT var_id, BSTR* access_key) {return S_OK;}
|
| +
|
| + // Retrieves the name of the specified object.
|
| + virtual STDMETHODIMP get_accName(VARIANT var_id, BSTR* name) {return S_OK;}
|
| +
|
| + // Retrieves the IDispatch interface of the object's parent.
|
| + virtual STDMETHODIMP get_accParent(IDispatch** disp_parent) {return S_OK;}
|
| +
|
| + // Retrieves information describing the role of the specified object.
|
| + virtual STDMETHODIMP get_accRole(VARIANT var_id, VARIANT* role) {return S_OK;}
|
| +
|
| + // Retrieves the current state of the specified object.
|
| + virtual STDMETHODIMP get_accState(VARIANT var_id, VARIANT* state) {return S_OK;}
|
| +
|
| + // Gets the help string for the specified object.
|
| + virtual STDMETHODIMP get_accHelp(VARIANT var_id, BSTR* help) {return S_OK;}
|
| +
|
| + // Retrieve or set the string value associated with the specified object.
|
| + // Setting the value is not typically used by screen readers, but it's
|
| + // used frequently by automation software.
|
| + virtual STDMETHODIMP get_accValue(VARIANT var_id, BSTR* value) {return S_OK;}
|
| + virtual STDMETHODIMP put_accValue(VARIANT var_id, BSTR new_value) {return S_OK;}
|
| +
|
| + // IAccessible methods not implemented.
|
| + virtual STDMETHODIMP get_accSelection(VARIANT* selected) {return S_OK;}
|
| + virtual STDMETHODIMP accSelect(LONG flags_sel, VARIANT var_id) {return S_OK;}
|
| + virtual STDMETHODIMP get_accHelpTopic(BSTR* help_file, VARIANT var_id, LONG* topic_id) {return S_OK;}
|
| + virtual STDMETHODIMP put_accName(VARIANT var_id, BSTR put_name) {return S_OK;}
|
| +
|
| + //
|
| + // IAccessible2 methods.
|
| + //
|
| +
|
| + virtual STDMETHODIMP role(LONG* role) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_states(AccessibleStates* states) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_uniqueID(LONG* unique_id) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_windowHandle(HWND* window_handle) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_relationTargetsOfType(BSTR type, long max_targets, IUnknown*** targets, long* n_targets) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_attributes(BSTR* attributes) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_indexInParent(LONG* index_in_parent) {return S_OK;}
|
| +
|
| + //
|
| + // IAccessible2 methods not implemented.
|
| + //
|
| +
|
| + virtual STDMETHODIMP get_attribute(BSTR name, VARIANT* attribute) {return S_OK;}
|
| + virtual STDMETHODIMP get_extendedRole(BSTR* extended_role) {return S_OK;}
|
| + virtual STDMETHODIMP get_nRelations(LONG* n_relations) {return S_OK;}
|
| + virtual STDMETHODIMP get_relation(LONG relation_index, IAccessibleRelation** relation) {return S_OK;}
|
| + virtual STDMETHODIMP get_relations(LONG max_relations, IAccessibleRelation** relations, LONG* n_relations) {return S_OK;}
|
| + virtual STDMETHODIMP scrollTo(enum IA2ScrollType scroll_type) {return S_OK;}
|
| + virtual STDMETHODIMP scrollToPoint(enum IA2CoordinateType coordinate_type, LONG x, LONG y) {return S_OK;}
|
| + virtual STDMETHODIMP get_groupPosition(LONG* group_level, LONG* similar_items_in_group, LONG* position_in_group) {return S_OK;}
|
| + virtual STDMETHODIMP get_localizedExtendedRole( BSTR* localized_extended_role) {return S_OK;}
|
| + virtual STDMETHODIMP get_nExtendedStates(LONG* n_extended_states) {return S_OK;}
|
| + virtual STDMETHODIMP get_extendedStates(LONG max_extended_states, BSTR** extended_states, LONG* n_extended_states) {return S_OK;}
|
| + virtual STDMETHODIMP get_localizedExtendedStates( LONG max_localized_extended_states, BSTR** localized_extended_states, LONG* n_localized_extended_states) {return S_OK;}
|
| + virtual STDMETHODIMP get_locale(IA2Locale* locale) {return S_OK;}
|
| + virtual STDMETHODIMP get_accessibleWithCaret(IUnknown** accessible, long* caret_offset) {return S_OK;}
|
| +};
|
| +
|
| +struct __declspec(uuid("00000000-0000-457b-a96d-07f000001008")) IAccessibleApplication {
|
| + virtual STDMETHODIMP get_appName(BSTR* app_name) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_appVersion(BSTR* app_version) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_toolkitName(BSTR* toolkit_name) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_toolkitVersion(BSTR* toolkit_version) {return S_OK;}
|
| +};
|
| +
|
| +struct __declspec(uuid("00000000-0000-457b-a96d-07f000001028")) IAccessibleHyperlink : public IAccessibleAction {
|
| + virtual STDMETHODIMP get_anchor(long index, VARIANT* anchor) {return S_OK;}
|
| + virtual STDMETHODIMP get_anchorTarget(long index, VARIANT* anchor_target) {return S_OK;}
|
| + virtual STDMETHODIMP get_startIndex(long* index) {return S_OK;}
|
| + virtual STDMETHODIMP get_endIndex(long* index) {return S_OK;}
|
| + virtual STDMETHODIMP get_valid(boolean* valid) {return S_OK;}
|
| +};
|
| +
|
| +struct __declspec(uuid("00000000-0000-457b-a96d-07f000001038")) IAccessibleHypertext : public IAccessibleText {
|
| + virtual STDMETHODIMP get_nHyperlinks(long* hyperlink_count) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_hyperlink(long index, IAccessibleHyperlink** hyperlink) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_hyperlinkIndex(long char_index, long* hyperlink_index) {return S_OK;}
|
| +};
|
| +
|
| +struct __declspec(uuid("00000000-0000-457b-a96d-07f002001008")) IAccessibleImage {
|
| + virtual STDMETHODIMP get_description(BSTR* description) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_imagePosition(enum IA2CoordinateType coordinate_type, LONG* x, LONG* y) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_imageSize(LONG* height, LONG* width) {return S_OK;}
|
| +};
|
| +
|
| +struct __declspec(uuid("00000000-0000-450b-a96d-07f002001008")) IAccessibleTable : public IUnknown {
|
| + virtual STDMETHODIMP get_accessibleAt(long row, long column, IUnknown** accessible) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_caption(IUnknown** accessible) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_childIndex(long row_index, long column_index, long* cell_index) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_columnDescription(long column, BSTR* description) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_columnExtentAt(long row, long column, long* n_columns_spanned) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_columnHeader(IAccessibleTable** accessible_table, long* starting_row_index) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_columnIndex(long cell_index, long* column_index) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_nColumns(long* column_count) {return S_OK;}
|
| + virtual STDMETHODIMP get_nRows(long* row_count) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_nSelectedChildren(long* cell_count) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_nSelectedColumns(long* column_count) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_nSelectedRows(long* row_count) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_rowDescription(long row, BSTR* description) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_rowExtentAt(long row, long column, long* n_rows_spanned) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_rowHeader(IAccessibleTable** accessible_table, long* starting_column_index) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_rowIndex(long cell_index, long* row_index) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_selectedChildren(long max_children, long** children, long* n_children) {return S_OK;}
|
| + virtual STDMETHODIMP get_selectedColumns(long max_columns, long** columns, long* n_columns) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_selectedRows(long max_rows, long** rows, long* n_rows) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_summary(IUnknown** accessible) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_isColumnSelected(long column, boolean* is_selected) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_isRowSelected(long row, boolean* is_selected) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_isSelected(long row, long column, boolean* is_selected) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_rowColumnExtentsAtIndex(long index, long* row, long* column, long* row_extents, long* column_extents, boolean* is_selected) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP selectRow(long row) {return S_OK;}
|
| + virtual STDMETHODIMP selectColumn(long column) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP unselectRow(long row) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP unselectColumn(long column) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_modelChange(IA2TableModelChange* model_change) {return S_OK;}
|
| +};
|
| +
|
| +struct __declspec(uuid("00100000-0000-450b-a96d-07f002001008")) IAccessibleTable2 {
|
| + virtual STDMETHODIMP get_cellAt(long row, long column, IUnknown** cell) {return S_OK;}
|
| + virtual STDMETHODIMP get_nSelectedCells(long* cell_count) {return S_OK;}
|
| + virtual STDMETHODIMP get_selectedCells(IUnknown*** cells, long* n_selected_cells) {return S_OK;}
|
| + virtual STDMETHODIMP get_selectedColumns(long** columns, long* n_columns) {return S_OK;}
|
| + virtual STDMETHODIMP get_selectedRows(long** rows, long* n_rows) {return S_OK;}
|
| +};
|
| +
|
| +struct __declspec(uuid("00100001-0000-450b-a96d-07f002001008")) IAccessibleTableCell {
|
| + virtual STDMETHODIMP get_columnExtent(long* n_columns_spanned) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_columnHeaderCells(IUnknown*** cell_accessibles, long* n_column_header_cells) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_columnIndex(long* column_index) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_rowExtent(long* n_rows_spanned) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_rowHeaderCells(IUnknown*** cell_accessibles, long* n_row_header_cells) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_rowIndex(long* row_index) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_isSelected(boolean* is_selected) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_rowColumnExtents(long* row, long* column, long* row_extents, long* column_extents, boolean* is_selected) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_table(IUnknown** table) {return S_OK;}
|
| +};
|
| +
|
| +struct __declspec(uuid("00100001-0000-450b-a97d-07f002001008")) IAccessibleValue {
|
| + virtual STDMETHODIMP get_currentValue(VARIANT* value) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_minimumValue(VARIANT* value) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_maximumValue(VARIANT* value) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP setCurrentValue(VARIANT new_value) {return S_OK;}
|
| +};
|
| +
|
| +//struct IServiceProvider { };
|
| +struct __declspec(uuid("00100001-0010-451b-a97d-07f002001008")) ISimpleDOMDocument {
|
| + virtual STDMETHODIMP get_URL(BSTR* url) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_title(BSTR* title) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_mimeType(BSTR* mime_type) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_docType(BSTR* doc_type) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_nameSpaceURIForID(short name_space_id, BSTR* name_space_uri) {return S_OK;}
|
| + virtual STDMETHODIMP put_alternateViewMediaTypes(BSTR* comma_separated_media_types) {return S_OK;}
|
| +
|
| +};
|
| +
|
| +struct __declspec(uuid("00100001-0010-151b-a97d-07f002001008")) ISimpleDOMNode {
|
| + virtual STDMETHODIMP get_nodeInfo(BSTR* node_name, short* name_space_id, BSTR* node_value, unsigned int* num_children, unsigned int* unique_id, unsigned short* node_type) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_attributes(unsigned short max_attribs, BSTR* attrib_names, short* name_space_id, BSTR* attrib_values, unsigned short* num_attribs) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_attributesForNames(unsigned short num_attribs, BSTR* attrib_names, short* name_space_id, BSTR* attrib_values) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_computedStyle(unsigned short max_style_properties, boolean use_alternate_view, BSTR* style_properties, BSTR* style_values, unsigned short* num_style_properties) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_computedStyleForProperties(unsigned short num_style_properties, boolean use_alternate_view, BSTR* style_properties, BSTR* style_values) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP scrollTo(boolean placeTopLeft) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_parentNode(ISimpleDOMNode** node) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_firstChild(ISimpleDOMNode** node) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_lastChild(ISimpleDOMNode** node) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_previousSibling(ISimpleDOMNode** node) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_nextSibling(ISimpleDOMNode** node) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_childAt(unsigned int child_index, ISimpleDOMNode** node) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_innerHTML(BSTR* innerHTML) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_localInterface(void** local_interface) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_language(BSTR* language) {return S_OK;}
|
| +};
|
| +
|
| +struct __declspec(uuid("00100001-1010-151b-a97d-07f002001008")) ISimpleDOMText {
|
| + virtual STDMETHODIMP get_domText(BSTR* dom_text) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_clippedSubstringBounds(unsigned int start_index, unsigned int end_index, int* out_x, int* out_y, int* out_width, int* out_height) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_unclippedSubstringBounds(unsigned int start_index, unsigned int end_index, int* out_x, int* out_y, int* out_width, int* out_height) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP scrollToSubstring(unsigned int start_index, unsigned int end_index) {return S_OK;}
|
| +
|
| + virtual STDMETHODIMP get_fontFamily(BSTR* font_family) {return S_OK;}
|
| +};
|
| +
|
| +//struct IAccessibleEx { };
|
| +//struct IRawElementProviderSimple { };
|
| +
|
| +#endif
|
|
|