| /* | |
| * Copyright (c) 2005, 2025, Oracle and/or its affiliates. All rights reserved. | |
| * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
| * | |
| * This code is free software; you can redistribute it and/or modify it | |
| * under the terms of the GNU General Public License version 2 only, as | |
| * published by the Free Software Foundation. Oracle designates this | |
| * particular file as subject to the "Classpath" exception as provided | |
| * by Oracle in the LICENSE file that accompanied this code. | |
| * | |
| * This code is distributed in the hope that it will be useful, but WITHOUT | |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| * version 2 for more details (a copy is included in the LICENSE file that | |
| * accompanied this code). | |
| * | |
| * You should have received a copy of the GNU General Public License version | |
| * 2 along with this work; if not, write to the Free Software Foundation, | |
| * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
| * | |
| * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
| * or visit www.oracle.com if you need additional information or have any | |
| * questions. | |
| */ | |
| /* | |
| * Header file for packages of paramaters passed between Java Accessibility | |
| * and native Assistive Technologies | |
| */ | |
| #ifndef __AccessBridgePackages_H__ | |
| #define __AccessBridgePackages_H__ | |
| #include <jni.h> | |
| #include <windows.h> | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #ifdef ACCESSBRIDGE_ARCH_LEGACY | |
| typedef jobject JOBJECT64; | |
| typedef HWND ABHWND64; | |
| #define ABHandleToLong | |
| #define ABLongToHandle | |
| #else | |
| typedef jlong JOBJECT64; | |
| typedef long ABHWND64; | |
| #define ABHandleToLong HandleToLong | |
| #define ABLongToHandle LongToHandle | |
| #endif | |
| #define MAX_BUFFER_SIZE 10240 | |
| #define MAX_STRING_SIZE 1024 | |
| #define SHORT_STRING_SIZE 256 | |
| // object types | |
| typedef JOBJECT64 AccessibleContext; | |
| typedef JOBJECT64 AccessibleText; | |
| typedef JOBJECT64 AccessibleValue; | |
| typedef JOBJECT64 AccessibleSelection; | |
| typedef JOBJECT64 Java_Object; | |
| typedef JOBJECT64 PropertyChangeEvent; | |
| typedef JOBJECT64 FocusEvent; | |
| typedef JOBJECT64 CaretEvent; | |
| typedef JOBJECT64 MouseEvent; | |
| typedef JOBJECT64 MenuEvent; | |
| typedef JOBJECT64 AccessibleTable; | |
| typedef JOBJECT64 AccessibleHyperlink; | |
| typedef JOBJECT64 AccessibleHypertext; | |
| /** | |
| ****************************************************** | |
| * Java event types | |
| ****************************************************** | |
| */ | |
| #define cPropertyChangeEvent (jlong) 1 // 1 | |
| #define cFocusGainedEvent (jlong) 2 // 2 | |
| #define cFocusLostEvent (jlong) 4 // 4 | |
| #define cCaretUpdateEvent (jlong) 8 // 8 | |
| #define cMouseClickedEvent (jlong) 16 // 10 | |
| #define cMouseEnteredEvent (jlong) 32 // 20 | |
| #define cMouseExitedEvent (jlong) 64 // 40 | |
| #define cMousePressedEvent (jlong) 128 // 80 | |
| #define cMouseReleasedEvent (jlong) 256 // 100 | |
| #define cMenuCanceledEvent (jlong) 512 // 200 | |
| #define cMenuDeselectedEvent (jlong) 1024 // 400 | |
| #define cMenuSelectedEvent (jlong) 2048 // 800 | |
| #define cPopupMenuCanceledEvent (jlong) 4096 // 1000 | |
| #define cPopupMenuWillBecomeInvisibleEvent (jlong) 8192 // 2000 | |
| #define cPopupMenuWillBecomeVisibleEvent (jlong) 16384 // 4000 | |
| #define cJavaShutdownEvent (jlong) 32768 // 8000 | |
| /** | |
| ****************************************************** | |
| * Accessible Roles | |
| * Defines all AccessibleRoles in Local.US | |
| ****************************************************** | |
| */ | |
| /** | |
| * Object is used to alert the user about something. | |
| */ | |
| #define ACCESSIBLE_ALERT L"alert" | |
| /** | |
| * The header for a column of data. | |
| */ | |
| #define ACCESSIBLE_COLUMN_HEADER L"column header" | |
| /** | |
| * Object that can be drawn into and is used to trap | |
| * events. | |
| * see ACCESSIBLE_FRAME | |
| * see ACCESSIBLE_GLASS_PANE | |
| * see ACCESSIBLE_LAYERED_PANE | |
| */ | |
| #define ACCESSIBLE_CANVAS L"canvas" | |
| /** | |
| * A list of choices the user can select from. Also optionally | |
| * allows the user to enter a choice of their own. | |
| */ | |
| #define ACCESSIBLE_COMBO_BOX L"combo box" | |
| /** | |
| * An iconified internal frame in a DESKTOP_PANE. | |
| * see ACCESSIBLE_DESKTOP_PANE | |
| * see ACCESSIBLE_INTERNAL_FRAME | |
| */ | |
| #define ACCESSIBLE_DESKTOP_ICON L"desktop icon" | |
| /** | |
| * 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. | |
| * see ACCESSIBLE_DESKTOP_ICON | |
| * see ACCESSIBLE_DESKTOP_PANE | |
| * see ACCESSIBLE_FRAME | |
| */ | |
| #define ACCESSIBLE_INTERNAL_FRAME L"internal frame" | |
| /** | |
| * A pane that supports internal frames and | |
| * iconified versions of those internal frames. | |
| * see ACCESSIBLE_DESKTOP_ICON | |
| * see ACCESSIBLE_INTERNAL_FRAME | |
| */ | |
| #define ACCESSIBLE_DESKTOP_PANE L"desktop pane" | |
| /** | |
| * A specialized pane whose primary use is inside a DIALOG | |
| * see ACCESSIBLE_DIALOG | |
| */ | |
| #define ACCESSIBLE_OPTION_PANE L"option pane" | |
| /** | |
| * A top level window with no title or border. | |
| * see ACCESSIBLE_FRAME | |
| * see ACCESSIBLE_DIALOG | |
| */ | |
| #define ACCESSIBLE_WINDOW L"window" | |
| /** | |
| * A top level window with a title bar, border, menu bar, etc. It is | |
| * often used as the primary window for an application. | |
| * see ACCESSIBLE_DIALOG | |
| * see ACCESSIBLE_CANVAS | |
| * see ACCESSIBLE_WINDOW | |
| */ | |
| #define ACCESSIBLE_FRAME L"frame" | |
| /** | |
| * A top level window with title bar and a border. A dialog is similar | |
| * to a frame, but it has fewer properties and is often used as a | |
| * secondary window for an application. | |
| * see ACCESSIBLE_FRAME | |
| * see ACCESSIBLE_WINDOW | |
| */ | |
| #define ACCESSIBLE_DIALOG L"dialog" | |
| /** | |
| * A specialized dialog that lets the user choose a color. | |
| */ | |
| #define ACCESSIBLE_COLOR_CHOOSER L"color chooser" | |
| /** | |
| * A pane that allows the user to navigate through | |
| * and select the contents of a directory. May be used | |
| * by a file chooser. | |
| * see ACCESSIBLE_FILE_CHOOSER | |
| */ | |
| #define ACCESSIBLE_DIRECTORY_PANE L"directory pane" | |
| /** | |
| * 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. | |
| * see ACCESSIBLE_DIRECTORY_PANE | |
| */ | |
| #define ACCESSIBLE_FILE_CHOOSER L"file chooser" | |
| /** | |
| * An object that fills up space in a user interface. It is often | |
| * used in interfaces to tweak the spacing between components, | |
| * but serves no other purpose. | |
| */ | |
| #define ACCESSIBLE_FILLER L"filler" | |
| /** | |
| * A hypertext anchor | |
| */ | |
| #define ACCESSIBLE_HYPERLINK L"hyperlink" | |
| /** | |
| * A small fixed size picture, typically used to decorate components. | |
| */ | |
| #define ACCESSIBLE_ICON L"icon" | |
| /** | |
| * An object used to present an icon or short string in an interface. | |
| */ | |
| #define ACCESSIBLE_LABEL L"label" | |
| /** | |
| * A specialized pane that has a glass pane and a layered pane as its | |
| * children. | |
| * see ACCESSIBLE_GLASS_PANE | |
| * see ACCESSIBLE_LAYERED_PANE | |
| */ | |
| #define ACCESSIBLE_ROOT_PANE L"root pane" | |
| /** | |
| * A pane that is guaranteed to be painted on top | |
| * of all panes beneath it. | |
| * see ACCESSIBLE_ROOT_PANE | |
| * see ACCESSIBLE_CANVAS | |
| */ | |
| #define ACCESSIBLE_GLASS_PANE L"glass 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. | |
| * see ACCESSIBLE_GLASS_PANE | |
| * see ACCESSIBLE_ROOT_PANE | |
| */ | |
| #define ACCESSIBLE_LAYERED_PANE L"layered pane" | |
| /** | |
| * An object that presents a list of objects to the user and allows the | |
| * user to select one or more of them. A list is usually contained | |
| * within a scroll pane. | |
| * see ACCESSIBLE_SCROLL_PANE | |
| * see ACCESSIBLE_LIST_ITEM | |
| */ | |
| #define ACCESSIBLE_LIST L"list" | |
| /** | |
| * An object that presents an element in a list. A list is usually | |
| * contained within a scroll pane. | |
| * see ACCESSIBLE_SCROLL_PANE | |
| * see ACCESSIBLE_LIST | |
| */ | |
| #define ACCESSIBLE_LIST_ITEM L"list item" | |
| /** | |
| * An object usually drawn at the top of the primary dialog box of | |
| * an application that contains a list of menus the user can choose | |
| * from. For example, a menu bar might contain menus for "File," | |
| * "Edit," and "Help." | |
| * see ACCESSIBLE_MENU | |
| * see ACCESSIBLE_POPUP_MENU | |
| * see ACCESSIBLE_LAYERED_PANE | |
| */ | |
| #define ACCESSIBLE_MENU_BAR L"menu bar" | |
| /** | |
| * A temporary window that is usually used to offer the user a | |
| * list of choices, and then hides when the user selects one of | |
| * those choices. | |
| * see ACCESSIBLE_MENU | |
| * see ACCESSIBLE_MENU_ITEM | |
| */ | |
| #define ACCESSIBLE_POPUP_MENU L"popup menu" | |
| /** | |
| * An object usually found inside a menu bar that contains a list | |
| * of actions the user can choose from. A menu can have any object | |
| * as its children, but most often they are menu items, other menus, | |
| * or rudimentary objects such as radio buttons, check boxes, or | |
| * separators. For example, an application may have an "Edit" menu | |
| * that contains menu items for "Cut" and "Paste." | |
| * see ACCESSIBLE_MENU_BAR | |
| * see ACCESSIBLE_MENU_ITEM | |
| * see ACCESSIBLE_SEPARATOR | |
| * see ACCESSIBLE_RADIO_BUTTON | |
| * see ACCESSIBLE_CHECK_BOX | |
| * see ACCESSIBLE_POPUP_MENU | |
| */ | |
| #define ACCESSIBLE_MENU L"menu" | |
| /** | |
| * An object usually contained in a menu that presents an action | |
| * the user can choose. For example, the "Cut" menu item in an | |
| * "Edit" menu would be an action the user can select to cut the | |
| * selected area of text in a document. | |
| * see ACCESSIBLE_MENU_BAR | |
| * see ACCESSIBLE_SEPARATOR | |
| * see ACCESSIBLE_POPUP_MENU | |
| */ | |
| #define ACCESSIBLE_MENU_ITEM L"menu item" | |
| /** | |
| * An object usually contained in a menu to provide a visual | |
| * and logical separation of the contents in a menu. For example, | |
| * the "File" menu of an application might contain menu items for | |
| * "Open," "Close," and "Exit," and will place a separator between | |
| * "Close" and "Exit" menu items. | |
| * see ACCESSIBLE_MENU | |
| * see ACCESSIBLE_MENU_ITEM | |
| */ | |
| #define ACCESSIBLE_SEPARATOR L"separator" | |
| /** | |
| * An object that presents a series of panels (or page tabs), one at a | |
| * time, through some mechanism provided by the object. The most common | |
| * mechanism is a list of tabs at the top of the panel. The children of | |
| * a page tab list are all page tabs. | |
| * see ACCESSIBLE_PAGE_TAB | |
| */ | |
| #define ACCESSIBLE_PAGE_TAB_LIST L"page tab list" | |
| /** | |
| * An object that is a child of a page tab list. Its sole child is | |
| * the panel that is to be presented to the user when the user | |
| * selects the page tab from the list of tabs in the page tab list. | |
| * see ACCESSIBLE_PAGE_TAB_LIST | |
| */ | |
| #define ACCESSIBLE_PAGE_TAB L"page tab" | |
| /** | |
| * A generic container that is often used to group objects. | |
| */ | |
| #define ACCESSIBLE_PANEL L"panel" | |
| /** | |
| * An object used to indicate how much of a task has been completed. | |
| */ | |
| #define ACCESSIBLE_PROGRESS_BAR L"progress bar" | |
| /** | |
| * A text object used for passwords, or other places where the | |
| * text contents is not shown visibly to the user | |
| */ | |
| #define ACCESSIBLE_PASSWORD_TEXT L"password text" | |
| /** | |
| * An object the user can manipulate to tell the application to do | |
| * something. | |
| * see ACCESSIBLE_CHECK_BOX | |
| * see ACCESSIBLE_TOGGLE_BUTTON | |
| * see ACCESSIBLE_RADIO_BUTTON | |
| */ | |
| #define ACCESSIBLE_PUSH_BUTTON L"push button" | |
| /** | |
| * A specialized push button that can be checked or unchecked, but | |
| * does not provide a separate indicator for the current state. | |
| * see ACCESSIBLE_PUSH_BUTTON | |
| * see ACCESSIBLE_CHECK_BOX | |
| * see ACCESSIBLE_RADIO_BUTTON | |
| */ | |
| #define ACCESSIBLE_TOGGLE_BUTTON L"toggle button" | |
| /** | |
| * A choice that can be checked or unchecked and provides a | |
| * separate indicator for the current state. | |
| * see ACCESSIBLE_PUSH_BUTTON | |
| * see ACCESSIBLE_TOGGLE_BUTTON | |
| * see ACCESSIBLE_RADIO_BUTTON | |
| */ | |
| #define ACCESSIBLE_CHECK_BOX L"check box" | |
| /** | |
| * A specialized check box that will cause other radio buttons in the | |
| * same group to become unchecked when this one is checked. | |
| * see ACCESSIBLE_PUSH_BUTTON | |
| * see ACCESSIBLE_TOGGLE_BUTTON | |
| * see ACCESSIBLE_CHECK_BOX | |
| */ | |
| #define ACCESSIBLE_RADIO_BUTTON L"radio button" | |
| /** | |
| * The header for a row of data. | |
| */ | |
| #define ACCESSIBLE_ROW_HEADER L"row header" | |
| /** | |
| * An object that allows a user to incrementally view a large amount | |
| * of information. Its children can include scroll bars and a viewport. | |
| * see ACCESSIBLE_SCROLL_BAR | |
| * see ACCESSIBLE_VIEWPORT | |
| */ | |
| #define ACCESSIBLE_SCROLL_PANE L"scroll pane" | |
| /** | |
| * An object usually used to allow a user to incrementally view a | |
| * large amount of data. Usually used only by a scroll pane. | |
| * see ACCESSIBLE_SCROLL_PANE | |
| */ | |
| #define ACCESSIBLE_SCROLL_BAR L"scroll bar" | |
| /** | |
| * 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. | |
| * see ACCESSIBLE_SCROLL_PANE | |
| */ | |
| #define ACCESSIBLE_VIEWPORT L"viewport" | |
| /** | |
| * An object that allows the user to select from a bounded range. For | |
| * example, a slider might be used to select a number between 0 and 100. | |
| */ | |
| #define ACCESSIBLE_SLIDER L"slider" | |
| /** | |
| * 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. | |
| */ | |
| #define ACCESSIBLE_SPLIT_PANE L"split pane" | |
| /** | |
| * An object used to present information in terms of rows and columns. | |
| * An example might include a spreadsheet application. | |
| */ | |
| #define ACCESSIBLE_TABLE L"table" | |
| /** | |
| * An object that presents text to the user. The text is usually | |
| * editable by the user as opposed to a label. | |
| * see ACCESSIBLE_LABEL | |
| */ | |
| #define ACCESSIBLE_TEXT L"text" | |
| /** | |
| * An object used to present hierarchical information to the user. | |
| * The individual nodes in the tree can be collapsed and expanded | |
| * to provide selective disclosure of the tree's contents. | |
| */ | |
| #define ACCESSIBLE_TREE L"tree" | |
| /** | |
| * A bar or palette usually composed of push buttons or toggle buttons. | |
| * It is often used to provide the most frequently used functions for an | |
| * application. | |
| */ | |
| #define ACCESSIBLE_TOOL_BAR L"tool bar" | |
| /** | |
| * An object that provides information about another object. The | |
| * accessibleDescription property of the tool tip is often displayed | |
| * to the user in a small L"help bubble" when the user causes the | |
| * mouse to hover over the object associated with the tool tip. | |
| */ | |
| #define ACCESSIBLE_TOOL_TIP L"tool tip" | |
| /** | |
| * An AWT component, but nothing else is known about it. | |
| * see ACCESSIBLE_SWING_COMPONENT | |
| * see ACCESSIBLE_UNKNOWN | |
| */ | |
| #define ACCESSIBLE_AWT_COMPONENT L"awt component" | |
| /** | |
| * A Swing component, but nothing else is known about it. | |
| * see ACCESSIBLE_AWT_COMPONENT | |
| * see ACCESSIBLE_UNKNOWN | |
| */ | |
| #define ACCESSIBLE_SWING_COMPONENT L"swing component" | |
| /** | |
| * The object contains some Accessible information, but its role is | |
| * not known. | |
| * see ACCESSIBLE_AWT_COMPONENT | |
| * see ACCESSIBLE_SWING_COMPONENT | |
| */ | |
| #define ACCESSIBLE_UNKNOWN L"unknown" | |
| /** | |
| * A STATUS_BAR is an simple component that can contain | |
| * multiple labels of status information to the user. | |
| */ | |
| #define ACCESSIBLE_STATUS_BAR L"status bar" | |
| /** | |
| * A DATE_EDITOR is a component that allows users to edit | |
| * java.util.Date and java.util.Time objects | |
| */ | |
| #define ACCESSIBLE_DATE_EDITOR L"date editor" | |
| /** | |
| * A SPIN_BOX is a simple spinner component and its main use | |
| * is for simple numbers. | |
| */ | |
| #define ACCESSIBLE_SPIN_BOX L"spin box" | |
| /** | |
| * A FONT_CHOOSER is a component that lets the user pick various | |
| * attributes for fonts. | |
| */ | |
| #define ACCESSIBLE_FONT_CHOOSER L"font chooser" | |
| /** | |
| * A GROUP_BOX is a simple container that contains a border | |
| * around it and contains components inside it. | |
| */ | |
| #define ACCESSIBLE_GROUP_BOX L"group box" | |
| /** | |
| * A text header | |
| */ | |
| #define ACCESSIBLE_HEADER L"header" | |
| /** | |
| * A text footer | |
| */ | |
| #define ACCESSIBLE_FOOTER L"footer" | |
| /** | |
| * A text paragraph | |
| */ | |
| #define ACCESSIBLE_PARAGRAPH L"paragraph" | |
| /** | |
| * A ruler is an object used to measure distance | |
| */ | |
| #define ACCESSIBLE_RULER L"ruler" | |
| /** | |
| * A role indicating the object acts as a formula for | |
| * calculating a value. An example is a formula in | |
| * a spreadsheet cell. | |
| */ | |
| #define ACCESSIBLE_EDITBAR L"editbar" | |
| /** | |
| * A role indicating the object monitors the progress | |
| * of some operation. | |
| */ | |
| #define PROGRESS_MONITOR L"progress monitor" | |
| /** | |
| ****************************************************** | |
| * Accessibility event types | |
| ****************************************************** | |
| */ | |
| #define cPropertyNameChangeEvent (jlong) 1 // 1 | |
| #define cPropertyDescriptionChangeEvent (jlong) 2 // 2 | |
| #define cPropertyStateChangeEvent (jlong) 4 // 4 | |
| #define cPropertyValueChangeEvent (jlong) 8 // 8 | |
| #define cPropertySelectionChangeEvent (jlong) 16 // 10 | |
| #define cPropertyTextChangeEvent (jlong) 32 // 20 | |
| #define cPropertyCaretChangeEvent (jlong) 64 // 40 | |
| #define cPropertyVisibleDataChangeEvent (jlong) 128 // 80 | |
| #define cPropertyChildChangeEvent (jlong) 256 // 100 | |
| #define cPropertyActiveDescendentChangeEvent (jlong) 512 // 200 | |
| #define cPropertyTableModelChangeEvent (jlong) 1024 // 400 | |
| /** | |
| ****************************************************** | |
| * optional AccessibleContext interfaces | |
| * | |
| * This version of the bridge reuses the accessibleValue | |
| * field in the AccessibleContextInfo struct to represent | |
| * additional optional interfaces that are supported by | |
| * the Java AccessibleContext. This is backwardly compatable | |
| * because the old accessibleValue was set to the BOOL | |
| * value TRUE (i.e., 1) if the AccessibleValue interface is | |
| * supported. | |
| ****************************************************** | |
| */ | |
| #define cAccessibleValueInterface (jlong) 1 // 1 << 1 (TRUE) | |
| #define cAccessibleActionInterface (jlong) 2 // 1 << 2 | |
| #define cAccessibleComponentInterface (jlong) 4 // 1 << 3 | |
| #define cAccessibleSelectionInterface (jlong) 8 // 1 << 4 | |
| #define cAccessibleTableInterface (jlong) 16 // 1 << 5 | |
| #define cAccessibleTextInterface (jlong) 32 // 1 << 6 | |
| #define cAccessibleHypertextInterface (jlong) 64 // 1 << 7 | |
| /** | |
| ****************************************************** | |
| * Accessibility information bundles | |
| ****************************************************** | |
| */ | |
| typedef struct AccessBridgeVersionInfoTag { | |
| wchar_t VMversion[SHORT_STRING_SIZE]; // output of "java -version" | |
| wchar_t bridgeJavaClassVersion[SHORT_STRING_SIZE]; // version of the AccessBridge.class | |
| wchar_t bridgeJavaDLLVersion[SHORT_STRING_SIZE]; // version of JavaAccessBridge.dll | |
| wchar_t bridgeWinDLLVersion[SHORT_STRING_SIZE]; // version of WindowsAccessBridge.dll | |
| } AccessBridgeVersionInfo; | |
| typedef struct AccessibleContextInfoTag { | |
| wchar_t name[MAX_STRING_SIZE]; // the AccessibleName of the object | |
| wchar_t description[MAX_STRING_SIZE]; // the AccessibleDescription of the object | |
| wchar_t role[SHORT_STRING_SIZE]; // localized AccesibleRole string | |
| wchar_t role_en_US[SHORT_STRING_SIZE]; // AccesibleRole string in the en_US locale | |
| wchar_t states[SHORT_STRING_SIZE]; // localized AccesibleStateSet string (comma separated) | |
| wchar_t states_en_US[SHORT_STRING_SIZE]; // AccesibleStateSet string in the en_US locale (comma separated) | |
| jint indexInParent; // index of object in parent | |
| jint childrenCount; // # of children, if any | |
| jint x; // screen coords in pixels | |
| jint y; // " | |
| jint width; // pixel width of object | |
| jint height; // pixel height of object | |
| BOOL accessibleComponent; // flags for various additional | |
| BOOL accessibleAction; // Java Accessibility interfaces | |
| BOOL accessibleSelection; // FALSE if this object doesn't | |
| BOOL accessibleText; // implement the additional interface | |
| // in question | |
| // BOOL accessibleValue; // old BOOL indicating whether AccessibleValue is supported | |
| BOOL accessibleInterfaces; // new bitfield containing additional interface flags | |
| } AccessibleContextInfo; | |
| // AccessibleText packages | |
| typedef struct AccessibleTextInfoTag { | |
| jint charCount; // # of characters in this text object | |
| jint caretIndex; // index of caret | |
| jint indexAtPoint; // index at the passsed in point | |
| } AccessibleTextInfo; | |
| typedef struct AccessibleTextItemsInfoTag { | |
| wchar_t letter; | |
| wchar_t word[SHORT_STRING_SIZE]; | |
| wchar_t sentence[MAX_STRING_SIZE]; | |
| } AccessibleTextItemsInfo; | |
| typedef struct AccessibleTextSelectionInfoTag { | |
| jint selectionStartIndex; | |
| jint selectionEndIndex; | |
| wchar_t selectedText[MAX_STRING_SIZE]; | |
| } AccessibleTextSelectionInfo; | |
| typedef struct AccessibleTextRectInfoTag { | |
| jint x; // bounding rect of char at index | |
| jint y; // " | |
| jint width; // " | |
| jint height; // " | |
| } AccessibleTextRectInfo; | |
| // standard attributes for text; note: tabstops are not supported | |
| typedef struct AccessibleTextAttributesInfoTag { | |
| BOOL bold; | |
| BOOL italic; | |
| BOOL underline; | |
| BOOL strikethrough; | |
| BOOL superscript; | |
| BOOL subscript; | |
| wchar_t backgroundColor[SHORT_STRING_SIZE]; | |
| wchar_t foregroundColor[SHORT_STRING_SIZE]; | |
| wchar_t fontFamily[SHORT_STRING_SIZE]; | |
| jint fontSize; | |
| jint alignment; | |
| jint bidiLevel; | |
| jfloat firstLineIndent; | |
| jfloat leftIndent; | |
| jfloat rightIndent; | |
| jfloat lineSpacing; | |
| jfloat spaceAbove; | |
| jfloat spaceBelow; | |
| wchar_t fullAttributesString[MAX_STRING_SIZE]; | |
| } AccessibleTextAttributesInfo; | |
| /** | |
| ****************************************************** | |
| * IPC management typedefs | |
| ****************************************************** | |
| */ | |
| #define cMemoryMappedNameSize 255 | |
| /** | |
| * sent by the WindowsDLL -> the memory-mapped file is setup | |
| * | |
| */ | |
| typedef struct MemoryMappedFileCreatedPackageTag { | |
| // HWND bridgeWindow; // redundant, but easier to get to here... | |
| ABHWND64 bridgeWindow; // redundant, but easier to get to here... | |
| char filename[cMemoryMappedNameSize]; | |
| } MemoryMappedFileCreatedPackage; | |
| /** | |
| * sent when a new JavaVM attaches to the Bridge | |
| * | |
| */ | |
| typedef struct JavaVMCreatedPackageTag { | |
| ABHWND64 bridgeWindow; | |
| long vmID; | |
| } JavaVMCreatedPackage; | |
| /** | |
| * sent when a JavaVM detatches from the Bridge | |
| * | |
| */ | |
| typedef struct JavaVMDestroyedPackageTag { | |
| ABHWND64 bridgeWindow; | |
| } JavaVMDestroyedPackage; | |
| /** | |
| * sent when a new AT attaches to the Bridge | |
| * | |
| */ | |
| typedef struct WindowsATCreatedPackageTag { | |
| ABHWND64 bridgeWindow; | |
| } WindowsATCreatedPackage; | |
| /** | |
| * sent when an AT detatches from the Bridge | |
| * | |
| */ | |
| typedef struct WindowsATDestroyedPackageTag { | |
| ABHWND64 bridgeWindow; | |
| } WindowsATDestroyedPackage; | |
| /** | |
| * sent by JVM Bridges in response to a WindowsATCreate | |
| * message; saying "howdy, welcome to the neighborhood" | |
| * | |
| */ | |
| typedef struct JavaVMPresentNotificationPackageTag { | |
| ABHWND64 bridgeWindow; | |
| long vmID; | |
| } JavaVMPresentNotificationPackage; | |
| /** | |
| * sent by AT Bridges in response to a JavaVMCreate | |
| * message; saying "howdy, welcome to the neighborhood" | |
| * | |
| */ | |
| typedef struct WindowsATPresentNotificationPackageTag { | |
| ABHWND64 bridgeWindow; | |
| } WindowsATPresentNotificationPackage; | |
| /** | |
| ****************************************************** | |
| * Core packages | |
| ****************************************************** | |
| */ | |
| typedef struct ReleaseJavaObjectPackageTag { | |
| long vmID; | |
| JOBJECT64 object; | |
| } ReleaseJavaObjectPackage; | |
| typedef struct GetAccessBridgeVersionPackageTag { | |
| long vmID; // can't get VM info w/out a VM! | |
| AccessBridgeVersionInfo rVersionInfo; | |
| } GetAccessBridgeVersionPackage; | |
| typedef struct IsSameObjectPackageTag { | |
| long vmID; | |
| JOBJECT64 obj1; | |
| JOBJECT64 obj2; | |
| jboolean rResult; | |
| } IsSameObjectPackage; | |
| /** | |
| ****************************************************** | |
| * Windows packages | |
| ****************************************************** | |
| */ | |
| typedef struct IsJavaWindowPackageTag { | |
| jint window; | |
| jboolean rResult; | |
| } IsJavaWindowPackage; | |
| typedef struct GetAccessibleContextFromHWNDPackageTag { | |
| jint window; | |
| long rVMID; | |
| JOBJECT64 rAccessibleContext; | |
| } GetAccessibleContextFromHWNDPackage; | |
| typedef struct GetHWNDFromAccessibleContextPackageTag { | |
| JOBJECT64 accessibleContext; | |
| ABHWND64 rHWND; | |
| } GetHWNDFromAccessibleContextPackage; | |
| /** | |
| ****************************************************** | |
| * AccessibleContext packages | |
| ****************************************************** | |
| */ | |
| typedef struct GetAccessibleContextAtPackageTag { | |
| jint x; | |
| jint y; | |
| long vmID; | |
| JOBJECT64 AccessibleContext; // look within this AC | |
| JOBJECT64 rAccessibleContext; | |
| } GetAccessibleContextAtPackage; | |
| typedef struct GetAccessibleContextWithFocusPackageTag { | |
| long rVMID; | |
| JOBJECT64 rAccessibleContext; | |
| } GetAccessibleContextWithFocusPackage; | |
| typedef struct GetAccessibleContextInfoPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| AccessibleContextInfo rAccessibleContextInfo; | |
| } GetAccessibleContextInfoPackage; | |
| typedef struct GetAccessibleChildFromContextPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint childIndex; | |
| JOBJECT64 rAccessibleContext; | |
| } GetAccessibleChildFromContextPackage; | |
| typedef struct GetAccessibleParentFromContextPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| JOBJECT64 rAccessibleContext; | |
| } GetAccessibleParentFromContextPackage; | |
| /** | |
| ****************************************************** | |
| * AccessibleTable packages | |
| ****************************************************** | |
| */ | |
| #define MAX_TABLE_SELECTIONS 64 | |
| // table information | |
| typedef struct AccessibleTableInfoTag { | |
| JOBJECT64 caption; // AccesibleContext | |
| JOBJECT64 summary; // AccessibleContext | |
| jint rowCount; | |
| jint columnCount; | |
| JOBJECT64 accessibleContext; | |
| JOBJECT64 accessibleTable; | |
| } AccessibleTableInfo; | |
| typedef struct GetAccessibleTableInfoPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; | |
| AccessibleTableInfo rTableInfo; | |
| } GetAccessibleTableInfoPackage; | |
| // table cell information | |
| typedef struct AccessibleTableCellInfoTag { | |
| JOBJECT64 accessibleContext; | |
| jint index; | |
| jint row; | |
| jint column; | |
| jint rowExtent; | |
| jint columnExtent; | |
| jboolean isSelected; | |
| } AccessibleTableCellInfo; | |
| typedef struct GetAccessibleTableCellInfoPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleTable; | |
| jint row; | |
| jint column; | |
| AccessibleTableCellInfo rTableCellInfo; | |
| } GetAccessibleTableCellInfoPackage; | |
| typedef struct GetAccessibleTableRowHeaderPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; | |
| AccessibleTableInfo rTableInfo; | |
| } GetAccessibleTableRowHeaderPackage; | |
| typedef struct GetAccessibleTableColumnHeaderPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; | |
| AccessibleTableInfo rTableInfo; | |
| } GetAccessibleTableColumnHeaderPackage; | |
| typedef struct GetAccessibleTableRowDescriptionPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; | |
| jint row; | |
| JOBJECT64 rAccessibleContext; | |
| } GetAccessibleTableRowDescriptionPackage; | |
| typedef struct GetAccessibleTableColumnDescriptionPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; | |
| jint column; | |
| JOBJECT64 rAccessibleContext; | |
| } GetAccessibleTableColumnDescriptionPackage; | |
| typedef struct GetAccessibleTableRowSelectionCountPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleTable; | |
| jint rCount; | |
| } GetAccessibleTableRowSelectionCountPackage; | |
| typedef struct IsAccessibleTableRowSelectedPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleTable; | |
| jint row; | |
| jboolean rResult; | |
| } IsAccessibleTableRowSelectedPackage; | |
| typedef struct GetAccessibleTableRowSelectionsPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleTable; | |
| jint count; | |
| jint rSelections[MAX_TABLE_SELECTIONS]; | |
| } GetAccessibleTableRowSelectionsPackage; | |
| typedef struct GetAccessibleTableColumnSelectionCountPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleTable; | |
| jint rCount; | |
| } GetAccessibleTableColumnSelectionCountPackage; | |
| typedef struct IsAccessibleTableColumnSelectedPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleTable; | |
| jint column; | |
| jboolean rResult; | |
| } IsAccessibleTableColumnSelectedPackage; | |
| typedef struct GetAccessibleTableColumnSelectionsPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleTable; | |
| jint count; | |
| jint rSelections[MAX_TABLE_SELECTIONS]; | |
| } GetAccessibleTableColumnSelectionsPackage; | |
| typedef struct GetAccessibleTableRowPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleTable; | |
| jint index; | |
| jint rRow; | |
| } GetAccessibleTableRowPackage; | |
| typedef struct GetAccessibleTableColumnPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleTable; | |
| jint index; | |
| jint rColumn; | |
| } GetAccessibleTableColumnPackage; | |
| typedef struct GetAccessibleTableIndexPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleTable; | |
| jint row; | |
| jint column; | |
| jint rIndex; | |
| } GetAccessibleTableIndexPackage; | |
| /** | |
| ****************************************************** | |
| * AccessibleRelationSet packages | |
| ****************************************************** | |
| */ | |
| #define MAX_RELATION_TARGETS 25 | |
| #define MAX_RELATIONS 5 | |
| typedef struct AccessibleRelationInfoTag { | |
| wchar_t key[SHORT_STRING_SIZE]; | |
| jint targetCount; | |
| JOBJECT64 targets[MAX_RELATION_TARGETS]; // AccessibleContexts | |
| } AccessibleRelationInfo; | |
| typedef struct AccessibleRelationSetInfoTag { | |
| jint relationCount; | |
| AccessibleRelationInfo relations[MAX_RELATIONS]; | |
| } AccessibleRelationSetInfo; | |
| typedef struct GetAccessibleRelationSetPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; | |
| AccessibleRelationSetInfo rAccessibleRelationSetInfo; | |
| } GetAccessibleRelationSetPackage; | |
| /** | |
| ****************************************************** | |
| * AccessibleHypertext packagess | |
| ****************************************************** | |
| */ | |
| #define MAX_HYPERLINKS 64 // maximum number of hyperlinks returned | |
| // hyperlink information | |
| typedef struct AccessibleHyperlinkInfoTag { | |
| wchar_t text[SHORT_STRING_SIZE]; // the hyperlink text | |
| jint startIndex; //index in the hypertext document where the link begins | |
| jint endIndex; //index in the hypertext document where the link ends | |
| JOBJECT64 accessibleHyperlink; // AccessibleHyperlink object | |
| } AccessibleHyperlinkInfo; | |
| // hypertext information | |
| typedef struct AccessibleHypertextInfoTag { | |
| jint linkCount; // number of hyperlinks | |
| AccessibleHyperlinkInfo links[MAX_HYPERLINKS]; // the hyperlinks | |
| JOBJECT64 accessibleHypertext; // AccessibleHypertext object | |
| } AccessibleHypertextInfo; | |
| // struct for sending a message to get the hypertext for an AccessibleContext | |
| typedef struct GetAccessibleHypertextPackageTag { | |
| long vmID; // the virtual machine ID | |
| JOBJECT64 accessibleContext; // AccessibleContext with hypertext | |
| AccessibleHypertextInfo rAccessibleHypertextInfo; // returned hypertext | |
| } GetAccessibleHypertextPackage; | |
| // struct for sending an message to activate a hyperlink | |
| typedef struct ActivateAccessibleHyperlinkPackageTag { | |
| long vmID; // the virtual machine ID | |
| JOBJECT64 accessibleContext; // AccessibleContext containing the link | |
| JOBJECT64 accessibleHyperlink; // the link to activate | |
| BOOL rResult; // hyperlink activation return value | |
| } ActivateAccessibleHyperlinkPackage; | |
| // struct for sending a message to get the number of hyperlinks in a component | |
| typedef struct GetAccessibleHyperlinkCountPackageTag { | |
| long vmID; // the virtual machine ID | |
| JOBJECT64 accessibleContext; // AccessibleContext containing AccessibleHypertext | |
| jint rLinkCount; // link count return value | |
| } GetAccessibleHyperlinkCountPackage; | |
| // struct for sending a message to get the hypertext for an AccessibleContext | |
| // starting at a specified index in the document | |
| typedef struct GetAccessibleHypertextExtPackageTag { | |
| long vmID; // the virtual machine ID | |
| JOBJECT64 accessibleContext; // AccessibleContext with hypertext | |
| jint startIndex; // start index in document | |
| AccessibleHypertextInfo rAccessibleHypertextInfo; // returned hypertext | |
| BOOL rSuccess; // whether call succeeded | |
| } GetAccessibleHypertextExtPackage; | |
| // struct for sending a message to get the nth hyperlink in a document; | |
| // maps to AccessibleHypertext.getLink | |
| typedef struct GetAccessibleHyperlinkPackageTag { | |
| long vmID; // the virtual machine ID | |
| JOBJECT64 hypertext; // AccessibleHypertext | |
| jint linkIndex; // hyperlink index | |
| AccessibleHyperlinkInfo rAccessibleHyperlinkInfo; // returned hyperlink | |
| } GetAccessibleHyperlinkPackage; | |
| // struct for sending a message to get the index into an array | |
| // of hyperlinks that is associated with a character index in a | |
| // document; maps to AccessibleHypertext.getLinkIndex | |
| typedef struct GetAccessibleHypertextLinkIndexPackageTag { | |
| long vmID; // the virtual machine ID | |
| JOBJECT64 hypertext; // AccessibleHypertext | |
| jint charIndex; // character index in document | |
| jint rLinkIndex; // returned hyperlink index | |
| } GetAccessibleHypertextLinkIndexPackage; | |
| /** | |
| ****************************************************** | |
| * Accessible Key Bindings packages | |
| ****************************************************** | |
| */ | |
| #define MAX_KEY_BINDINGS 10 | |
| // keyboard character modifiers | |
| #define ACCESSIBLE_SHIFT_KEYSTROKE 1 | |
| #define ACCESSIBLE_CONTROL_KEYSTROKE 2 | |
| #define ACCESSIBLE_META_KEYSTROKE 4 | |
| #define ACCESSIBLE_ALT_KEYSTROKE 8 | |
| #define ACCESSIBLE_ALT_GRAPH_KEYSTROKE 16 | |
| #define ACCESSIBLE_BUTTON1_KEYSTROKE 32 | |
| #define ACCESSIBLE_BUTTON2_KEYSTROKE 64 | |
| #define ACCESSIBLE_BUTTON3_KEYSTROKE 128 | |
| #define ACCESSIBLE_FKEY_KEYSTROKE 256 // F key pressed, character contains 1-24 | |
| #define ACCESSIBLE_CONTROLCODE_KEYSTROKE 512 // Control code key pressed, character contains control code. | |
| // The supported control code keys are: | |
| #define ACCESSIBLE_VK_TAB 9 | |
| #define ACCESSIBLE_VK_SPACE 32 | |
| #define ACCESSIBLE_VK_BACK_SPACE 8 | |
| #define ACCESSIBLE_VK_DELETE 127 | |
| #define ACCESSIBLE_VK_DOWN 40 | |
| #define ACCESSIBLE_VK_END 35 | |
| #define ACCESSIBLE_VK_HOME 36 | |
| #define ACCESSIBLE_VK_INSERT 155 | |
| #define ACCESSIBLE_VK_KP_DOWN 225 | |
| #define ACCESSIBLE_VK_KP_LEFT 226 | |
| #define ACCESSIBLE_VK_KP_RIGHT 227 | |
| #define ACCESSIBLE_VK_KP_UP 224 | |
| #define ACCESSIBLE_VK_LEFT 37 | |
| #define ACCESSIBLE_VK_PAGE_DOWN 34 | |
| #define ACCESSIBLE_VK_PAGE_UP 33 | |
| #define ACCESSIBLE_VK_RIGHT 39 | |
| #define ACCESSIBLE_VK_UP 38 | |
| // a key binding associates with a component | |
| typedef struct AccessibleKeyBindingInfoTag { | |
| jchar character; // the key character | |
| jint modifiers; // the key modifiers | |
| } AccessibleKeyBindingInfo; | |
| // all of the key bindings associated with a component | |
| typedef struct AccessibleKeyBindingsTag { | |
| int keyBindingsCount; // number of key bindings | |
| AccessibleKeyBindingInfo keyBindingInfo[MAX_KEY_BINDINGS]; | |
| } AccessibleKeyBindings; | |
| // struct to get the key bindings associated with a component | |
| typedef struct GetAccessibleKeyBindingsPackageTag { | |
| long vmID; // the virtual machine id | |
| JOBJECT64 accessibleContext; // the component | |
| AccessibleKeyBindings rAccessibleKeyBindings; // the key bindings | |
| } GetAccessibleKeyBindingsPackage; | |
| /** | |
| ****************************************************** | |
| * AccessibleIcon packages | |
| ****************************************************** | |
| */ | |
| #define MAX_ICON_INFO 8 | |
| // an icon assocated with a component | |
| typedef struct AccessibleIconInfoTag { | |
| wchar_t description[SHORT_STRING_SIZE]; // icon description | |
| jint height; // icon height | |
| jint width; // icon width | |
| } AccessibleIconInfo; | |
| // all of the icons associated with a component | |
| typedef struct AccessibleIconsTag { | |
| jint iconsCount; // number of icons | |
| AccessibleIconInfo iconInfo[MAX_ICON_INFO]; // the icons | |
| } AccessibleIcons; | |
| // struct to get the icons associated with a component | |
| typedef struct GetAccessibleIconsPackageTag { | |
| long vmID; // the virtual machine id | |
| JOBJECT64 accessibleContext; // the component | |
| AccessibleIcons rAccessibleIcons; // the icons | |
| } GetAccessibleIconsPackage; | |
| /** | |
| ****************************************************** | |
| * AccessibleAction packages | |
| ****************************************************** | |
| */ | |
| #define MAX_ACTION_INFO 256 | |
| #define MAX_ACTIONS_TO_DO 32 | |
| // an action assocated with a component | |
| typedef struct AccessibleActionInfoTag { | |
| wchar_t name[SHORT_STRING_SIZE]; // action name | |
| } AccessibleActionInfo; | |
| // all of the actions associated with a component | |
| typedef struct AccessibleActionsTag { | |
| jint actionsCount; // number of actions | |
| AccessibleActionInfo actionInfo[MAX_ACTION_INFO]; // the action information | |
| } AccessibleActions; | |
| // struct for requesting the actions associated with a component | |
| typedef struct GetAccessibleActionsPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; // the component | |
| AccessibleActions rAccessibleActions; // the actions | |
| } GetAccessibleActionsPackage; | |
| // list of AccessibleActions to do | |
| typedef struct AccessibleActionsToDoTag { | |
| jint actionsCount; // number of actions to do | |
| AccessibleActionInfo actions[MAX_ACTIONS_TO_DO];// the accessible actions to do | |
| } AccessibleActionsToDo; | |
| // struct for sending an message to do one or more actions | |
| typedef struct DoAccessibleActionsPackageTag { | |
| long vmID; // the virtual machine ID | |
| JOBJECT64 accessibleContext; // component to do the action | |
| AccessibleActionsToDo actionsToDo; // the accessible actions to do | |
| BOOL rResult; // action return value | |
| jint failure; // index of action that failed if rResult is FALSE | |
| } DoAccessibleActionsPackage; | |
| /** | |
| ****************************************************** | |
| * AccessibleText packages | |
| ****************************************************** | |
| */ | |
| typedef struct GetAccessibleTextInfoPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint x; | |
| jint y; | |
| AccessibleTextInfo rTextInfo; | |
| } GetAccessibleTextInfoPackage; | |
| typedef struct GetAccessibleTextItemsPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint index; | |
| AccessibleTextItemsInfo rTextItemsInfo; | |
| } GetAccessibleTextItemsPackage; | |
| typedef struct GetAccessibleTextSelectionInfoPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| AccessibleTextSelectionInfo rTextSelectionItemsInfo; | |
| } GetAccessibleTextSelectionInfoPackage; | |
| typedef struct GetAccessibleTextAttributeInfoPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint index; | |
| AccessibleTextAttributesInfo rAttributeInfo; | |
| } GetAccessibleTextAttributeInfoPackage; | |
| typedef struct GetAccessibleTextRectInfoPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint index; | |
| AccessibleTextRectInfo rTextRectInfo; | |
| } GetAccessibleTextRectInfoPackage; | |
| typedef struct GetCaretLocationPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint index; | |
| AccessibleTextRectInfo rTextRectInfo; | |
| } GetCaretLocationPackage; | |
| typedef struct GetAccessibleTextLineBoundsPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint index; | |
| jint rLineStart; | |
| jint rLineEnd; | |
| } GetAccessibleTextLineBoundsPackage; | |
| typedef struct GetAccessibleTextRangePackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint start; | |
| jint end; | |
| wchar_t rText[MAX_BUFFER_SIZE]; | |
| } GetAccessibleTextRangePackage; | |
| /** | |
| ****************************************************** | |
| * | |
| * Utility method packages | |
| ****************************************************** | |
| */ | |
| typedef struct SetTextContentsPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; // the text field | |
| wchar_t text[MAX_STRING_SIZE]; // the text | |
| BOOL rResult; | |
| } SetTextContentsPackage; | |
| typedef struct GetParentWithRolePackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; | |
| wchar_t role[SHORT_STRING_SIZE]; // one of Accessible Roles above | |
| JOBJECT64 rAccessibleContext; | |
| } GetParentWithRolePackage; | |
| typedef struct GetTopLevelObjectPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; | |
| JOBJECT64 rAccessibleContext; | |
| } GetTopLevelObjectPackage; | |
| typedef struct GetParentWithRoleElseRootPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; | |
| wchar_t role[SHORT_STRING_SIZE]; // one of Accessible Roles above | |
| JOBJECT64 rAccessibleContext; | |
| } GetParentWithRoleElseRootPackage; | |
| typedef struct GetObjectDepthPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; | |
| jint rResult; | |
| } GetObjectDepthPackage; | |
| typedef struct GetActiveDescendentPackageTag { | |
| long vmID; | |
| JOBJECT64 accessibleContext; | |
| JOBJECT64 rAccessibleContext; | |
| } GetActiveDescendentPackage; | |
| /** | |
| ****************************************************** | |
| * AccessibleValue packages | |
| ****************************************************** | |
| */ | |
| typedef struct GetCurrentAccessibleValueFromContextPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| wchar_t rValue[SHORT_STRING_SIZE]; | |
| } GetCurrentAccessibleValueFromContextPackage; | |
| typedef struct GetMaximumAccessibleValueFromContextPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| wchar_t rValue[SHORT_STRING_SIZE]; | |
| } GetMaximumAccessibleValueFromContextPackage; | |
| typedef struct GetMinimumAccessibleValueFromContextPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| wchar_t rValue[SHORT_STRING_SIZE]; | |
| } GetMinimumAccessibleValueFromContextPackage; | |
| /** | |
| ****************************************************** | |
| * AccessibleSelection packages | |
| ****************************************************** | |
| */ | |
| typedef struct AddAccessibleSelectionFromContextPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint index; | |
| } AddAccessibleSelectionFromContextPackage; | |
| typedef struct ClearAccessibleSelectionFromContextPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| } ClearAccessibleSelectionFromContextPackage; | |
| typedef struct GetAccessibleSelectionFromContextPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint index; | |
| JOBJECT64 rAccessibleContext; | |
| } GetAccessibleSelectionFromContextPackage; | |
| typedef struct GetAccessibleSelectionCountFromContextPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint rCount; | |
| } GetAccessibleSelectionCountFromContextPackage; | |
| typedef struct IsAccessibleChildSelectedFromContextPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint index; | |
| jboolean rResult; | |
| } IsAccessibleChildSelectedFromContextPackage; | |
| typedef struct RemoveAccessibleSelectionFromContextPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| jint index; | |
| } RemoveAccessibleSelectionFromContextPackage; | |
| typedef struct SelectAllAccessibleSelectionFromContextPackageTag { | |
| long vmID; | |
| JOBJECT64 AccessibleContext; | |
| } SelectAllAccessibleSelectionFromContextPackage; | |
| /** | |
| ****************************************************** | |
| * Java Event Notification Registration packages | |
| ****************************************************** | |
| */ | |
| typedef struct AddJavaEventNotificationPackageTag { | |
| jlong type; | |
| //HWND DLLwindow; | |
| ABHWND64 DLLwindow; | |
| } AddJavaEventNotificationPackage; | |
| typedef struct RemoveJavaEventNotificationPackageTag { | |
| jlong type; | |
| //HWND DLLwindow; | |
| ABHWND64 DLLwindow; | |
| } RemoveJavaEventNotificationPackage; | |
| /** | |
| ****************************************************** | |
| * Accessibility Event Notification Registration packages | |
| ****************************************************** | |
| */ | |
| typedef struct AddAccessibilityEventNotificationPackageTag { | |
| jlong type; | |
| //HWND DLLwindow; | |
| ABHWND64 DLLwindow; | |
| } AddAccessibilityEventNotificationPackage; | |
| typedef struct RemoveAccessibilityEventNotificationPackageTag { | |
| jlong type; | |
| //HWND DLLwindow; | |
| ABHWND64 DLLwindow; | |
| } RemoveAccessibilityEventNotificationPackage; | |
| /** | |
| ****************************************************** | |
| * Accessibility Property Change Event packages | |
| ****************************************************** | |
| */ | |
| typedef struct PropertyCaretChangePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| jint oldPosition; | |
| jint newPosition; | |
| } PropertyCaretChangePackage; | |
| typedef struct PropertyDescriptionChangePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| wchar_t oldDescription[SHORT_STRING_SIZE]; | |
| wchar_t newDescription[SHORT_STRING_SIZE]; | |
| } PropertyDescriptionChangePackage; | |
| typedef struct PropertyNameChangePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| wchar_t oldName[SHORT_STRING_SIZE]; | |
| wchar_t newName[SHORT_STRING_SIZE]; | |
| } PropertyNameChangePackage; | |
| typedef struct PropertySelectionChangePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } PropertySelectionChangePackage; | |
| typedef struct PropertyStateChangePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| wchar_t oldState[SHORT_STRING_SIZE]; | |
| wchar_t newState[SHORT_STRING_SIZE]; | |
| } PropertyStateChangePackage; | |
| typedef struct PropertyTextChangePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } PropertyTextChangePackage; | |
| typedef struct PropertyValueChangePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| wchar_t oldValue[SHORT_STRING_SIZE]; | |
| wchar_t newValue[SHORT_STRING_SIZE]; | |
| } PropertyValueChangePackage; | |
| typedef struct PropertyVisibleDataChangePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } PropertyVisibleDataChangePackage; | |
| typedef struct PropertyChildChangePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| JOBJECT64 oldChildAccessibleContext; | |
| JOBJECT64 newChildAccessibleContext; | |
| } PropertyChildChangePackage; | |
| typedef struct PropertyActiveDescendentChangePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| JOBJECT64 oldActiveDescendentAccessibleContext; | |
| JOBJECT64 newActiveDescendentAccessibleContext; | |
| } PropertyActiveDescendentChangePackage; | |
| // String format for newValue is: | |
| // "type" one of "INSERT", "UPDATE" or "DELETE" | |
| // "firstRow" | |
| // "lastRow" | |
| // "firstColumn" | |
| // "lastColumn" | |
| // | |
| // oldValue is currently unused | |
| // | |
| typedef struct PropertyTableModelChangePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| wchar_t oldValue[SHORT_STRING_SIZE]; | |
| wchar_t newValue[SHORT_STRING_SIZE]; | |
| } PropertyTableModelChangePackage; | |
| /** | |
| ****************************************************** | |
| * Property Change Event packages | |
| ****************************************************** | |
| */ | |
| /* | |
| typedef struct PropertyChangePackageTag { | |
| long vmID; | |
| jobject Event; | |
| jobject AccessibleContextSource; | |
| char propertyName[SHORT_STRING_SIZE]; | |
| char oldValue[SHORT_STRING_SIZE]; // PropertyChangeEvent().getOldValue().toString() | |
| char newValue[SHORT_STRING_SIZE]; // PropertyChangeEvent().getNewValue().toString() | |
| } PropertyChangePackage; | |
| */ | |
| /* | |
| * Java shutdown event package | |
| */ | |
| typedef struct JavaShutdownPackageTag { | |
| long vmID; | |
| } JavaShutdownPackage; | |
| /** | |
| ****************************************************** | |
| * Focus Event packages | |
| ****************************************************** | |
| */ | |
| typedef struct FocusGainedPackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } FocusGainedPackage; | |
| typedef struct FocusLostPackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } FocusLostPackage; | |
| /** | |
| ****************************************************** | |
| * Caret Event packages | |
| ****************************************************** | |
| */ | |
| typedef struct CaretUpdatePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } CaretUpdatePackage; | |
| /** | |
| ****************************************************** | |
| * Mouse Event packages | |
| ****************************************************** | |
| */ | |
| typedef struct MouseClickedPackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } MouseClickedPackage; | |
| typedef struct MouseEnteredPackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } MouseEnteredPackage; | |
| typedef struct MouseExitedPackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } MouseExitedPackage; | |
| typedef struct MousePressedPackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } MousePressedPackage; | |
| typedef struct MouseReleasedPackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } MouseReleasedPackage; | |
| /** | |
| ****************************************************** | |
| * Menu/PopupMenu Event packages | |
| ****************************************************** | |
| */ | |
| typedef struct MenuCanceledPackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } MenuCanceledPackage; | |
| typedef struct MenuDeselectedPackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } MenuDeselectedPackage; | |
| typedef struct MenuSelectedPackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } MenuSelectedPackage; | |
| typedef struct PopupMenuCanceledPackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } PopupMenuCanceledPackage; | |
| typedef struct PopupMenuWillBecomeInvisiblePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } PopupMenuWillBecomeInvisiblePackage; | |
| typedef struct PopupMenuWillBecomeVisiblePackageTag { | |
| long vmID; | |
| JOBJECT64 Event; | |
| JOBJECT64 AccessibleContextSource; | |
| } PopupMenuWillBecomeVisiblePackage; | |
| /** | |
| ****************************************************** | |
| * Additional methods for Teton | |
| ****************************************************** | |
| */ | |
| /** | |
| * Gets the AccessibleName for a component based upon the JAWS algorithm. Returns | |
| * whether successful. | |
| * | |
| * Bug ID 4916682 - Implement JAWS AccessibleName policy | |
| */ | |
| typedef struct GetVirtualAccessibleNamePackageTag { | |
| long vmID; | |
| AccessibleContext accessibleContext; | |
| wchar_t rName[MAX_STRING_SIZE]; | |
| int len; | |
| } GetVirtualAccessibleNamePackage; | |
| /** | |
| * Request focus for a component. Returns whether successful; | |
| * | |
| * Bug ID 4944757 - requestFocus method needed | |
| */ | |
| typedef struct RequestFocusPackageTag { | |
| long vmID; | |
| AccessibleContext accessibleContext; | |
| } RequestFocusPackage; | |
| /** | |
| * Selects text between two indices. Selection includes the text at the start index | |
| * and the text at the end index. Returns whether successful; | |
| * | |
| * Bug ID 4944758 - selectTextRange method needed | |
| */ | |
| typedef struct SelectTextRangePackageTag { | |
| long vmID; | |
| AccessibleContext accessibleContext; | |
| jint startIndex; | |
| jint endIndex; | |
| } SelectTextRangePackage; | |
| /** | |
| * Gets the number of contiguous characters with the same attributes. | |
| * | |
| * Bug ID 4944761 - getTextAttributes between two indices method needed | |
| */ | |
| typedef struct GetTextAttributesInRangePackageTag { | |
| long vmID; | |
| AccessibleContext accessibleContext; | |
| jint startIndex; // start index (inclusive) | |
| jint endIndex; // end index (inclusive) | |
| AccessibleTextAttributesInfo attributes; // character attributes to match | |
| short rLength; // number of contiguous characters with matching attributes | |
| } GetTextAttributesInRangePackage; | |
| #define MAX_VISIBLE_CHILDREN 256 | |
| // visible children information | |
| typedef struct VisibleChildenInfoTag { | |
| int returnedChildrenCount; // number of children returned | |
| AccessibleContext children[MAX_VISIBLE_CHILDREN]; // the visible children | |
| } VisibleChildrenInfo; | |
| // struct for sending a message to get the number of visible children | |
| typedef struct GetVisibleChildrenCountPackageTag { | |
| long vmID; // the virtual machine ID | |
| JOBJECT64 accessibleContext; // AccessibleContext of parent component | |
| jint rChildrenCount; // visible children count return value | |
| } GetVisibleChildrenCountPackage; | |
| // struct for sending a message to get the hypertext for an AccessibleContext | |
| // starting at a specified index in the document | |
| typedef struct GetVisibleChildrenPackageTag { | |
| long vmID; // the virtual machine ID | |
| JOBJECT64 accessibleContext; // AccessibleContext of parent component | |
| jint startIndex; // start index for retrieving children | |
| VisibleChildrenInfo rVisibleChildrenInfo; // returned info | |
| BOOL rSuccess; // whether call succeeded | |
| } GetVisibleChildrenPackage; | |
| /** | |
| * Set the caret to a text position. Returns whether successful; | |
| * | |
| * Bug ID 4944770 - setCaretPosition method needed | |
| */ | |
| typedef struct SetCaretPositionPackageTag { | |
| long vmID; | |
| AccessibleContext accessibleContext; | |
| jint position; | |
| } SetCaretPositionPackage; | |
| /** | |
| ****************************************************** | |
| * Wrapping up all of the packages | |
| ****************************************************** | |
| */ | |
| /** | |
| * What is the type of this package | |
| */ | |
| typedef enum PackageType { | |
| cMemoryMappedFileCreatedPackage = 0x11000, | |
| // many of these will go away... | |
| cJavaVMCreatedPackage = 0x10000, | |
| cJavaVMDestroyedPackage, | |
| cWindowsATCreatedPackage, | |
| cWindowsATDestroyedPackage, | |
| cJavaVMPresentNotificationPackage, | |
| cWindowsATPresentNotificationPackage, | |
| cReleaseJavaObjectPackage = 1, | |
| cGetAccessBridgeVersionPackage = 2, | |
| cGetAccessibleContextFromHWNDPackage = 0x10, | |
| cIsJavaWindowPackage, | |
| cGetHWNDFromAccessibleContextPackage, | |
| cGetAccessibleContextAtPackage = 0x100, | |
| cGetAccessibleContextWithFocusPackage, | |
| cGetAccessibleContextInfoPackage, | |
| cGetAccessibleChildFromContextPackage, | |
| cGetAccessibleParentFromContextPackage, | |
| cIsSameObjectPackage, | |
| cGetAccessibleTextInfoPackage = 0x200, | |
| cGetAccessibleTextItemsPackage, | |
| cGetAccessibleTextSelectionInfoPackage, | |
| cGetAccessibleTextAttributeInfoPackage, | |
| cGetAccessibleTextRectInfoPackage, | |
| cGetAccessibleTextLineBoundsPackage, | |
| cGetAccessibleTextRangePackage, | |
| cGetCurrentAccessibleValueFromContextPackage = 0x300, | |
| cGetMaximumAccessibleValueFromContextPackage, | |
| cGetMinimumAccessibleValueFromContextPackage, | |
| cAddAccessibleSelectionFromContextPackage = 0x400, | |
| cClearAccessibleSelectionFromContextPackage, | |
| cGetAccessibleSelectionFromContextPackage, | |
| cGetAccessibleSelectionCountFromContextPackage, | |
| cIsAccessibleChildSelectedFromContextPackage, | |
| cRemoveAccessibleSelectionFromContextPackage, | |
| cSelectAllAccessibleSelectionFromContextPackage, | |
| cAddJavaEventNotificationPackage = 0x900, | |
| cRemoveJavaEventNotificationPackage, | |
| cAddAccessibilityEventNotificationPackage, | |
| cRemoveAccessibilityEventNotificationPackage, | |
| cPropertyChangePackage = 0x1000, | |
| cJavaShutdownPackage = 0x1010, | |
| cFocusGainedPackage, | |
| cFocusLostPackage, | |
| cCaretUpdatePackage = 0x1020, | |
| cMouseClickedPackage = 0x1030, | |
| cMouseEnteredPackage, | |
| cMouseExitedPackage, | |
| cMousePressedPackage, | |
| cMouseReleasedPackage, | |
| cMenuCanceledPackage = 0x1040, | |
| cMenuDeselectedPackage, | |
| cMenuSelectedPackage, | |
| cPopupMenuCanceledPackage, | |
| cPopupMenuWillBecomeInvisiblePackage, | |
| cPopupMenuWillBecomeVisiblePackage, | |
| cPropertyCaretChangePackage = 0x1100, | |
| cPropertyDescriptionChangePackage, | |
| cPropertyNameChangePackage, | |
| cPropertySelectionChangePackage, | |
| cPropertyStateChangePackage, | |
| cPropertyTextChangePackage, | |
| cPropertyValueChangePackage, | |
| cPropertyVisibleDataChangePackage, | |
| cPropertyChildChangePackage, | |
| cPropertyActiveDescendentChangePackage, | |
| // AccessibleTable | |
| cGetAccessibleTableInfoPackage = 0x1200, | |
| cGetAccessibleTableCellInfoPackage, | |
| cGetAccessibleTableRowHeaderPackage, | |
| cGetAccessibleTableColumnHeaderPackage, | |
| cGetAccessibleTableRowDescriptionPackage, | |
| cGetAccessibleTableColumnDescriptionPackage, | |
| cGetAccessibleTableRowSelectionCountPackage, | |
| cIsAccessibleTableRowSelectedPackage, | |
| cGetAccessibleTableRowSelectionsPackage, | |
| cGetAccessibleTableColumnSelectionCountPackage, | |
| cIsAccessibleTableColumnSelectedPackage, | |
| cGetAccessibleTableColumnSelectionsPackage, | |
| cGetAccessibleTableRowPackage, | |
| cGetAccessibleTableColumnPackage, | |
| cGetAccessibleTableIndexPackage, | |
| cPropertyTableModelChangePackage, | |
| // AccessibleRelationSet | |
| cGetAccessibleRelationSetPackage = 0x1300, | |
| // AccessibleHypertext | |
| cGetAccessibleHypertextPackage = 0x1400, | |
| cActivateAccessibleHyperlinkPackage, | |
| cGetAccessibleHyperlinkCountPackage, | |
| cGetAccessibleHypertextExtPackage, | |
| cGetAccessibleHypertextLinkIndexPackage, | |
| cGetAccessibleHyperlinkPackage, | |
| // Accessible KeyBinding, Icon and Action | |
| cGetAccessibleKeyBindingsPackage = 0x1500, | |
| cGetAccessibleIconsPackage, | |
| cGetAccessibleActionsPackage, | |
| cDoAccessibleActionsPackage, | |
| // Utility methods | |
| cSetTextContentsPackage = 0x1600, | |
| cGetParentWithRolePackage, | |
| cGetTopLevelObjectPackage, | |
| cGetParentWithRoleElseRootPackage, | |
| cGetObjectDepthPackage, | |
| cGetActiveDescendentPackage, | |
| // Additional methods for Teton | |
| cGetVirtualAccessibleNamePackage = 0x1700, | |
| cRequestFocusPackage, | |
| cSelectTextRangePackage, | |
| cGetTextAttributesInRangePackage, | |
| cGetSameTextAttributesInRangePackage, | |
| cGetVisibleChildrenCountPackage, | |
| cGetVisibleChildrenPackage, | |
| cSetCaretPositionPackage, | |
| cGetCaretLocationPackage | |
| } PackageType; | |
| /** | |
| * Union of all package contents | |
| */ | |
| typedef union AllPackagesTag { | |
| // Initial Rendezvous packages | |
| MemoryMappedFileCreatedPackage memoryMappedFileCreatedPackage; | |
| JavaVMCreatedPackage javaVMCreatedPackage; | |
| JavaVMDestroyedPackage javaVMDestroyedPackage; | |
| WindowsATCreatedPackage windowsATCreatedPackage; | |
| WindowsATDestroyedPackage windowsATDestroyedPackage; | |
| JavaVMPresentNotificationPackage javaVMPresentNotificationPackage; | |
| WindowsATPresentNotificationPackage windowsATPresentNotificationPackage; | |
| // Core packages | |
| ReleaseJavaObjectPackage releaseJavaObject; | |
| GetAccessBridgeVersionPackage getAccessBridgeVersion; | |
| // Window packages | |
| GetAccessibleContextFromHWNDPackage getAccessibleContextFromHWND; | |
| GetHWNDFromAccessibleContextPackage getHWNDFromAccessibleContext; | |
| // AccessibleContext packages | |
| GetAccessibleContextAtPackage getAccessibleContextAt; | |
| GetAccessibleContextWithFocusPackage getAccessibleContextWithFocus; | |
| GetAccessibleContextInfoPackage getAccessibleContextInfo; | |
| GetAccessibleChildFromContextPackage getAccessibleChildFromContext; | |
| GetAccessibleParentFromContextPackage getAccessibleParentFromContext; | |
| // AccessibleText packages | |
| GetAccessibleTextInfoPackage getAccessibleTextInfo; | |
| GetAccessibleTextItemsPackage getAccessibleTextItems; | |
| GetAccessibleTextSelectionInfoPackage getAccessibleTextSelectionInfo; | |
| GetAccessibleTextAttributeInfoPackage getAccessibleTextAttributeInfo; | |
| GetAccessibleTextRectInfoPackage getAccessibleTextRectInfo; | |
| GetAccessibleTextLineBoundsPackage getAccessibleTextLineBounds; | |
| GetAccessibleTextRangePackage getAccessibleTextRange; | |
| // AccessibleValue packages | |
| GetCurrentAccessibleValueFromContextPackage getCurrentAccessibleValueFromContext; | |
| GetMaximumAccessibleValueFromContextPackage getMaximumAccessibleValueFromContext; | |
| GetMinimumAccessibleValueFromContextPackage getMinimumAccessibleValueFromContext; | |
| // AccessibleSelection packages | |
| AddAccessibleSelectionFromContextPackage addAccessibleSelectionFromContext; | |
| ClearAccessibleSelectionFromContextPackage clearAccessibleSelectionFromContext; | |
| GetAccessibleSelectionFromContextPackage getAccessibleSelectionFromContext; | |
| GetAccessibleSelectionCountFromContextPackage getAccessibleSelectionCountFromContext; | |
| IsAccessibleChildSelectedFromContextPackage isAccessibleChildSelectedFromContext; | |
| RemoveAccessibleSelectionFromContextPackage removeAccessibleSelectionFromContext; | |
| SelectAllAccessibleSelectionFromContextPackage selectAllAccessibleSelectionFromContext; | |
| // Event Notification Registration packages | |
| AddJavaEventNotificationPackage addJavaEventNotification; | |
| RemoveJavaEventNotificationPackage removeJavaEventNotification; | |
| AddAccessibilityEventNotificationPackage addAccessibilityEventNotification; | |
| RemoveAccessibilityEventNotificationPackage removeAccessibilityEventNotification; | |
| // Event contents packages | |
| // PropertyChangePackage propertyChange; | |
| PropertyCaretChangePackage propertyCaretChangePackage; | |
| PropertyDescriptionChangePackage propertyDescriptionChangePackage; | |
| PropertyNameChangePackage propertyNameChangePackage; | |
| PropertySelectionChangePackage propertySelectionChangePackage; | |
| PropertyStateChangePackage propertyStateChangePackage; | |
| PropertyTextChangePackage propertyTextChangePackage; | |
| PropertyValueChangePackage propertyValueChangePackage; | |
| PropertyVisibleDataChangePackage propertyVisibleDataChangePackage; | |
| PropertyChildChangePackage propertyChildChangePackage; | |
| PropertyActiveDescendentChangePackage propertyActiveDescendentChangePackage; | |
| PropertyTableModelChangePackage propertyTableModelChangePackage; | |
| JavaShutdownPackage JavaShutdown; | |
| FocusGainedPackage focusGained; | |
| FocusLostPackage focusLost; | |
| CaretUpdatePackage caretUpdate; | |
| MouseClickedPackage mouseClicked; | |
| MouseEnteredPackage mouseEntered; | |
| MouseExitedPackage mouseExited; | |
| MousePressedPackage mousePressed; | |
| MouseReleasedPackage mouseReleased; | |
| MenuCanceledPackage menuCanceled; | |
| MenuDeselectedPackage menuDeselected; | |
| MenuSelectedPackage menuSelected; | |
| PopupMenuCanceledPackage popupMenuCanceled; | |
| PopupMenuWillBecomeInvisiblePackage popupMenuWillBecomeInvisible; | |
| PopupMenuWillBecomeVisiblePackage popupMenuWillBecomeVisible; | |
| // AccessibleRelationSet | |
| GetAccessibleRelationSetPackage getAccessibleRelationSet; | |
| // AccessibleHypertext | |
| GetAccessibleHypertextPackage _getAccessibleHypertext; | |
| ActivateAccessibleHyperlinkPackage _activateAccessibleHyperlink; | |
| GetAccessibleHyperlinkCountPackage _getAccessibleHyperlinkCount; | |
| GetAccessibleHypertextExtPackage _getAccessibleHypertextExt; | |
| GetAccessibleHypertextLinkIndexPackage _getAccessibleHypertextLinkIndex; | |
| GetAccessibleHyperlinkPackage _getAccessibleHyperlink; | |
| // Accessible KeyBinding, Icon and Action | |
| GetAccessibleKeyBindingsPackage getAccessibleKeyBindings; | |
| GetAccessibleIconsPackage getAccessibleIcons; | |
| GetAccessibleActionsPackage getAccessibleActions; | |
| DoAccessibleActionsPackage doAccessibleActions; | |
| // utility methods | |
| SetTextContentsPackage _setTextContents; | |
| GetParentWithRolePackage _getParentWithRole; | |
| GetTopLevelObjectPackage _getTopLevelObject; | |
| GetParentWithRoleElseRootPackage _getParentWithRoleElseRoot; | |
| GetObjectDepthPackage _getObjectDepth; | |
| GetActiveDescendentPackage _getActiveDescendent; | |
| // Additional methods for Teton | |
| GetVirtualAccessibleNamePackage _getVirtualAccessibleName; | |
| RequestFocusPackage _requestFocus; | |
| SelectTextRangePackage _selectTextRange; | |
| GetTextAttributesInRangePackage _getTextAttributesInRange; | |
| GetVisibleChildrenCountPackage _getVisibleChildrenCount; | |
| GetVisibleChildrenPackage _getVisibleChildren; | |
| SetCaretPositionPackage _setCaretPosition; | |
| } AllPackages; | |
| /** | |
| * Union of all Java-initiated package contents | |
| */ | |
| typedef union JavaInitiatedPackagesTag { | |
| // Initial Rendezvous packages | |
| JavaVMCreatedPackage javaVMCreatedPackage; | |
| JavaVMDestroyedPackage javaVMDestroyedPackage; | |
| JavaVMPresentNotificationPackage javaVMPresentNotificationPackage; | |
| // Event contents packages | |
| PropertyCaretChangePackage propertyCaretChangePackage; | |
| PropertyDescriptionChangePackage propertyDescriptionChangePackage; | |
| PropertyNameChangePackage propertyNameChangePackage; | |
| PropertySelectionChangePackage propertySelectionChangePackage; | |
| PropertyStateChangePackage propertyStateChangePackage; | |
| PropertyTextChangePackage propertyTextChangePackage; | |
| PropertyValueChangePackage propertyValueChangePackage; | |
| PropertyVisibleDataChangePackage propertyVisibleDataChangePackage; | |
| PropertyChildChangePackage propertyChildChangePackage; | |
| PropertyActiveDescendentChangePackage propertyActiveDescendentChangePackage; | |
| PropertyTableModelChangePackage propertyTableModelChangePackage; | |
| JavaShutdownPackage JavaShutdown; | |
| FocusGainedPackage focusGained; | |
| FocusLostPackage focusLost; | |
| CaretUpdatePackage caretUpdate; | |
| MouseClickedPackage mouseClicked; | |
| MouseEnteredPackage mouseEntered; | |
| MouseExitedPackage mouseExited; | |
| MousePressedPackage mousePressed; | |
| MouseReleasedPackage mouseReleased; | |
| MenuCanceledPackage menuCanceled; | |
| MenuDeselectedPackage menuDeselected; | |
| MenuSelectedPackage menuSelected; | |
| PopupMenuCanceledPackage popupMenuCanceled; | |
| PopupMenuWillBecomeInvisiblePackage popupMenuWillBecomeInvisible; | |
| PopupMenuWillBecomeVisiblePackage popupMenuWillBecomeVisible; | |
| } JavaInitiatedPackages; | |
| /** | |
| * Union of all Windows-initiated package contents | |
| */ | |
| typedef union WindowsInitiatedPackagesTag { | |
| // Initial Rendezvous packages | |
| MemoryMappedFileCreatedPackage memoryMappedFileCreatedPackage; | |
| WindowsATCreatedPackage windowsATCreatedPackage; | |
| WindowsATDestroyedPackage windowsATDestroyedPackage; | |
| WindowsATPresentNotificationPackage windowsATPresentNotificationPackage; | |
| // Core packages | |
| ReleaseJavaObjectPackage releaseJavaObject; | |
| GetAccessBridgeVersionPackage getAccessBridgeVersion; | |
| // Window packages | |
| GetAccessibleContextFromHWNDPackage getAccessibleContextFromHWND; | |
| GetHWNDFromAccessibleContextPackage getHWNDFromAccessibleContext; | |
| // AccessibleContext packages | |
| GetAccessibleContextAtPackage getAccessibleContextAt; | |
| GetAccessibleContextWithFocusPackage getAccessibleContextWithFocus; | |
| GetAccessibleContextInfoPackage getAccessibleContextInfo; | |
| GetAccessibleChildFromContextPackage getAccessibleChildFromContext; | |
| GetAccessibleParentFromContextPackage getAccessibleParentFromContext; | |
| // AccessibleText packages | |
| GetAccessibleTextInfoPackage getAccessibleTextInfo; | |
| GetAccessibleTextItemsPackage getAccessibleTextItems; | |
| GetAccessibleTextSelectionInfoPackage getAccessibleTextSelectionInfo; | |
| GetAccessibleTextAttributeInfoPackage getAccessibleTextAttributeInfo; | |
| GetAccessibleTextRectInfoPackage getAccessibleTextRectInfo; | |
| GetAccessibleTextLineBoundsPackage getAccessibleTextLineBounds; | |
| GetAccessibleTextRangePackage getAccessibleTextRange; | |
| // AccessibleValue packages | |
| GetCurrentAccessibleValueFromContextPackage getCurrentAccessibleValueFromContext; | |
| GetMaximumAccessibleValueFromContextPackage getMaximumAccessibleValueFromContext; | |
| GetMinimumAccessibleValueFromContextPackage getMinimumAccessibleValueFromContext; | |
| // AccessibleSelection packages | |
| AddAccessibleSelectionFromContextPackage addAccessibleSelectionFromContext; | |
| ClearAccessibleSelectionFromContextPackage clearAccessibleSelectionFromContext; | |
| GetAccessibleSelectionFromContextPackage getAccessibleSelectionFromContext; | |
| GetAccessibleSelectionCountFromContextPackage getAccessibleSelectionCountFromContext; | |
| IsAccessibleChildSelectedFromContextPackage isAccessibleChildSelectedFromContext; | |
| RemoveAccessibleSelectionFromContextPackage removeAccessibleSelectionFromContext; | |
| SelectAllAccessibleSelectionFromContextPackage selectAllAccessibleSelectionFromContext; | |
| // Event Notification Registration packages | |
| AddJavaEventNotificationPackage addJavaEventNotification; | |
| RemoveJavaEventNotificationPackage removeJavaEventNotification; | |
| AddAccessibilityEventNotificationPackage addAccessibilityEventNotification; | |
| RemoveAccessibilityEventNotificationPackage removeAccessibilityEventNotification; | |
| // AccessibleTable | |
| GetAccessibleTableInfoPackage _getAccessibleTableInfo; | |
| GetAccessibleTableCellInfoPackage _getAccessibleTableCellInfo; | |
| GetAccessibleTableRowHeaderPackage _getAccessibleTableRowHeader; | |
| GetAccessibleTableColumnHeaderPackage _getAccessibleTableColumnHeader; | |
| GetAccessibleTableRowDescriptionPackage _getAccessibleTableRowDescription; | |
| GetAccessibleTableColumnDescriptionPackage _getAccessibleTableColumnDescription; | |
| GetAccessibleTableRowSelectionCountPackage _getAccessibleTableRowSelectionCount; | |
| IsAccessibleTableRowSelectedPackage _isAccessibleTableRowSelected; | |
| GetAccessibleTableRowSelectionsPackage _getAccessibleTableRowSelections; | |
| GetAccessibleTableColumnSelectionCountPackage _getAccessibleTableColumnSelectionCount; | |
| IsAccessibleTableColumnSelectedPackage _isAccessibleTableColumnSelected; | |
| GetAccessibleTableColumnSelectionsPackage _getAccessibleTableColumnSelections; | |
| GetAccessibleTableRowPackage _getAccessibleTableRow; | |
| GetAccessibleTableColumnPackage _getAccessibleTableColumn; | |
| GetAccessibleTableIndexPackage _getAccessibleTableIndex; | |
| // AccessibleRelationSet | |
| GetAccessibleRelationSetPackage _getAccessibleRelationSet; | |
| // Accessible KeyBindings, Icons and Actions | |
| GetAccessibleKeyBindingsPackage _getAccessibleKeyBindings; | |
| GetAccessibleIconsPackage _getAccessibleIcons; | |
| GetAccessibleActionsPackage _getAccessibleActions; | |
| DoAccessibleActionsPackage _doAccessibleActions; | |
| IsSameObjectPackage _isSameObject; | |
| // utility methods | |
| SetTextContentsPackage _setTextContents; | |
| GetParentWithRolePackage _getParentWithRole; | |
| GetTopLevelObjectPackage _getTopLevelObject; | |
| GetParentWithRoleElseRootPackage _getParentWithRoleElseRoot; | |
| GetObjectDepthPackage _getObjectDepth; | |
| GetActiveDescendentPackage _getActiveDescendent; | |
| // Additional methods for Teton | |
| GetVirtualAccessibleNamePackage _getVirtualAccessibleName; | |
| RequestFocusPackage _requestFocus; | |
| SelectTextRangePackage _selectTextRange; | |
| GetTextAttributesInRangePackage _getTextAttributesInRange; | |
| GetVisibleChildrenCountPackage _getVisibleChildrenCount; | |
| GetVisibleChildrenPackage _getVisibleChildren; | |
| SetCaretPositionPackage _setCaretPosition; | |
| } WindowsInitiatedPackages; | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif |