You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2216 lines
75 KiB
C
2216 lines
75 KiB
C
/*
|
|
* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*/
|
|
|
|
/*
|
|
* 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_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
|