123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706 |
- /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- */
- /*
- * Wrapper functions around calls to the AccessBridge DLL
- */
- #include <windows.h>
- #include <jni.h>
- #include "AccessBridgeCallbacks.h"
- #include "AccessBridgePackages.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define null NULL
- 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;
- typedef void (*Windows_runFP) ();
- typedef void (*SetPropertyChangeFP) (AccessBridge_PropertyChangeFP fp);
- typedef void (*SetJavaShutdownFP) (AccessBridge_JavaShutdownFP fp);
- typedef void (*SetFocusGainedFP) (AccessBridge_FocusGainedFP fp);
- typedef void (*SetFocusLostFP) (AccessBridge_FocusLostFP fp);
- typedef void (*SetCaretUpdateFP) (AccessBridge_CaretUpdateFP fp);
- typedef void (*SetMouseClickedFP) (AccessBridge_MouseClickedFP fp);
- typedef void (*SetMouseEnteredFP) (AccessBridge_MouseEnteredFP fp);
- typedef void (*SetMouseExitedFP) (AccessBridge_MouseExitedFP fp);
- typedef void (*SetMousePressedFP) (AccessBridge_MousePressedFP fp);
- typedef void (*SetMouseReleasedFP) (AccessBridge_MouseReleasedFP fp);
- typedef void (*SetMenuCanceledFP) (AccessBridge_MenuCanceledFP fp);
- typedef void (*SetMenuDeselectedFP) (AccessBridge_MenuDeselectedFP fp);
- typedef void (*SetMenuSelectedFP) (AccessBridge_MenuSelectedFP fp);
- typedef void (*SetPopupMenuCanceledFP) (AccessBridge_PopupMenuCanceledFP fp);
- typedef void (*SetPopupMenuWillBecomeInvisibleFP) (AccessBridge_PopupMenuWillBecomeInvisibleFP fp);
- typedef void (*SetPopupMenuWillBecomeVisibleFP) (AccessBridge_PopupMenuWillBecomeVisibleFP fp);
- typedef void (*SetPropertyNameChangeFP) (AccessBridge_PropertyNameChangeFP fp);
- typedef void (*SetPropertyDescriptionChangeFP) (AccessBridge_PropertyDescriptionChangeFP fp);
- typedef void (*SetPropertyStateChangeFP) (AccessBridge_PropertyStateChangeFP fp);
- typedef void (*SetPropertyValueChangeFP) (AccessBridge_PropertyValueChangeFP fp);
- typedef void (*SetPropertySelectionChangeFP) (AccessBridge_PropertySelectionChangeFP fp);
- typedef void (*SetPropertyTextChangeFP) (AccessBridge_PropertyTextChangeFP fp);
- typedef void (*SetPropertyCaretChangeFP) (AccessBridge_PropertyCaretChangeFP fp);
- typedef void (*SetPropertyVisibleDataChangeFP) (AccessBridge_PropertyVisibleDataChangeFP fp);
- typedef void (*SetPropertyChildChangeFP) (AccessBridge_PropertyChildChangeFP fp);
- typedef void (*SetPropertyActiveDescendentChangeFP) (AccessBridge_PropertyActiveDescendentChangeFP fp);
- typedef void (*SetPropertyTableModelChangeFP) (AccessBridge_PropertyTableModelChangeFP fp);
- typedef void (*ReleaseJavaObjectFP) (long vmID, Java_Object object);
- typedef BOOL (*GetVersionInfoFP) (long vmID, AccessBridgeVersionInfo *info);
- typedef BOOL (*IsJavaWindowFP) (HWND window);
- typedef BOOL (*IsSameObjectFP) (long vmID, JOBJECT64 obj1, JOBJECT64 obj2);
- typedef BOOL (*GetAccessibleContextFromHWNDFP) (HWND window, long *vmID, AccessibleContext *ac);
- typedef HWND (*getHWNDFromAccessibleContextFP) (long vmID, AccessibleContext ac);
- typedef BOOL (*GetAccessibleContextAtFP) (long vmID, AccessibleContext acParent,
- jint x, jint y, AccessibleContext *ac);
- typedef BOOL (*GetAccessibleContextWithFocusFP) (HWND window, long *vmID, AccessibleContext *ac);
- typedef BOOL (*GetAccessibleContextInfoFP) (long vmID, AccessibleContext ac, AccessibleContextInfo *info);
- typedef AccessibleContext (*GetAccessibleChildFromContextFP) (long vmID, AccessibleContext ac, jint i);
- typedef AccessibleContext (*GetAccessibleParentFromContextFP) (long vmID, AccessibleContext ac);
- /* begin AccessibleTable */
- typedef BOOL (*getAccessibleTableInfoFP) (long vmID, AccessibleContext ac, AccessibleTableInfo *tableInfo);
- typedef BOOL (*getAccessibleTableCellInfoFP) (long vmID, AccessibleTable accessibleTable,
- jint row, jint column, AccessibleTableCellInfo *tableCellInfo);
- typedef BOOL (*getAccessibleTableRowHeaderFP) (long vmID, AccessibleContext acParent, AccessibleTableInfo *tableInfo);
- typedef BOOL (*getAccessibleTableColumnHeaderFP) (long vmID, AccessibleContext acParent, AccessibleTableInfo *tableInfo);
- typedef AccessibleContext (*getAccessibleTableRowDescriptionFP) (long vmID, AccessibleContext acParent, jint row);
- typedef AccessibleContext (*getAccessibleTableColumnDescriptionFP) (long vmID, AccessibleContext acParent, jint column);
- typedef jint (*getAccessibleTableRowSelectionCountFP) (long vmID, AccessibleTable table);
- typedef BOOL (*isAccessibleTableRowSelectedFP) (long vmID, AccessibleTable table, jint row);
- typedef BOOL (*getAccessibleTableRowSelectionsFP) (long vmID, AccessibleTable table, jint count,
- jint *selections);
- typedef jint (*getAccessibleTableColumnSelectionCountFP) (long vmID, AccessibleTable table);
- typedef BOOL (*isAccessibleTableColumnSelectedFP) (long vmID, AccessibleTable table, jint column);
- typedef BOOL (*getAccessibleTableColumnSelectionsFP) (long vmID, AccessibleTable table, jint count,
- jint *selections);
- typedef jint (*getAccessibleTableRowFP) (long vmID, AccessibleTable table, jint index);
- typedef jint (*getAccessibleTableColumnFP) (long vmID, AccessibleTable table, jint index);
- typedef jint (*getAccessibleTableIndexFP) (long vmID, AccessibleTable table, jint row, jint column);
- /* end AccessibleTable */
- /* AccessibleRelationSet */
- typedef BOOL (*getAccessibleRelationSetFP) (long vmID, AccessibleContext accessibleContext,
- AccessibleRelationSetInfo *relationSetInfo);
- /* AccessibleHypertext */
- typedef BOOL (*getAccessibleHypertextFP)(long vmID, AccessibleContext accessibleContext,
- AccessibleHypertextInfo *hypertextInfo);
- typedef BOOL (*activateAccessibleHyperlinkFP)(long vmID, AccessibleContext accessibleContext,
- AccessibleHyperlink accessibleHyperlink);
- typedef jint (*getAccessibleHyperlinkCountFP)(const long vmID,
- const AccessibleContext accessibleContext);
- typedef BOOL (*getAccessibleHypertextExtFP) (const long vmID,
- const AccessibleContext accessibleContext,
- const jint nStartIndex,
- AccessibleHypertextInfo *hypertextInfo);
- typedef jint (*getAccessibleHypertextLinkIndexFP)(const long vmID,
- const AccessibleHypertext hypertext,
- const jint nIndex);
- typedef BOOL (*getAccessibleHyperlinkFP)(const long vmID,
- const AccessibleHypertext hypertext,
- const jint nIndex,
- AccessibleHyperlinkInfo *hyperlinkInfo);
- /* Accessible KeyBindings, Icons and Actions */
- typedef BOOL (*getAccessibleKeyBindingsFP)(long vmID, AccessibleContext accessibleContext,
- AccessibleKeyBindings *keyBindings);
- typedef BOOL (*getAccessibleIconsFP)(long vmID, AccessibleContext accessibleContext,
- AccessibleIcons *icons);
- typedef BOOL (*getAccessibleActionsFP)(long vmID, AccessibleContext accessibleContext,
- AccessibleActions *actions);
- typedef BOOL (*doAccessibleActionsFP)(long vmID, AccessibleContext accessibleContext,
- AccessibleActionsToDo *actionsToDo, jint *failure);
- /* AccessibleText */
- typedef BOOL (*GetAccessibleTextInfoFP) (long vmID, AccessibleText at, AccessibleTextInfo *textInfo, jint x, jint y);
- typedef BOOL (*GetAccessibleTextItemsFP) (long vmID, AccessibleText at, AccessibleTextItemsInfo *textItems, jint index);
- typedef BOOL (*GetAccessibleTextSelectionInfoFP) (long vmID, AccessibleText at, AccessibleTextSelectionInfo *textSelection);
- typedef BOOL (*GetAccessibleTextAttributesFP) (long vmID, AccessibleText at, jint index, AccessibleTextAttributesInfo *attributes);
- typedef BOOL (*GetAccessibleTextRectFP) (long vmID, AccessibleText at, AccessibleTextRectInfo *rectInfo, jint index);
- typedef BOOL (*GetAccessibleTextLineBoundsFP) (long vmID, AccessibleText at, jint index, jint *startIndex, jint *endIndex);
- typedef BOOL (*GetAccessibleTextRangeFP) (long vmID, AccessibleText at, jint start, jint end, wchar_t *text, short len);
- typedef BOOL (*GetCurrentAccessibleValueFromContextFP) (long vmID, AccessibleValue av, wchar_t *value, short len);
- typedef BOOL (*GetMaximumAccessibleValueFromContextFP) (long vmID, AccessibleValue av, wchar_t *value, short len);
- typedef BOOL (*GetMinimumAccessibleValueFromContextFP) (long vmID, AccessibleValue av, wchar_t *value, short len);
- typedef void (*AddAccessibleSelectionFromContextFP) (long vmID, AccessibleSelection as, int i);
- typedef void (*ClearAccessibleSelectionFromContextFP) (long vmID, AccessibleSelection as);
- typedef JOBJECT64 (*GetAccessibleSelectionFromContextFP) (long vmID, AccessibleSelection as, int i);
- typedef int (*GetAccessibleSelectionCountFromContextFP) (long vmID, AccessibleSelection as);
- typedef BOOL (*IsAccessibleChildSelectedFromContextFP) (long vmID, AccessibleSelection as, int i);
- typedef void (*RemoveAccessibleSelectionFromContextFP) (long vmID, AccessibleSelection as, int i);
- typedef void (*SelectAllAccessibleSelectionFromContextFP) (long vmID, AccessibleSelection as);
- /* Utility methods */
- typedef BOOL (*setTextContentsFP) (const long vmID, const AccessibleContext ac, const wchar_t *text);
- typedef AccessibleContext (*getParentWithRoleFP) (const long vmID, const AccessibleContext ac, const wchar_t *role);
- typedef AccessibleContext (*getParentWithRoleElseRootFP) (const long vmID, const AccessibleContext ac, const wchar_t *role);
- typedef AccessibleContext (*getTopLevelObjectFP) (const long vmID, const AccessibleContext ac);
- typedef int (*getObjectDepthFP) (const long vmID, const AccessibleContext ac);
- typedef AccessibleContext (*getActiveDescendentFP) (const long vmID, const AccessibleContext ac);
- typedef BOOL (*getVirtualAccessibleNameFP) (const long vmID, const AccessibleContext accessibleContext,
- wchar_t *name, int len);
- typedef BOOL (*requestFocusFP) (const long vmID, const AccessibleContext accessibleContext);
- typedef BOOL (*selectTextRangeFP) (const long vmID, const AccessibleContext accessibleContext,
- const int startIndex, const int endIndex);
- typedef BOOL (*getTextAttributesInRangeFP) (const long vmID, const AccessibleContext accessibleContext,
- const int startIndex, const int endIndex,
- AccessibleTextAttributesInfo *attributes, short *len);
- typedef int (*getVisibleChildrenCountFP) (const long vmID, const AccessibleContext accessibleContext);
- typedef BOOL (*getVisibleChildrenFP) (const long vmID, const AccessibleContext accessibleContext,
- const int startIndex, VisibleChildrenInfo *children);
- typedef BOOL (*setCaretPositionFP) (const long vmID, const AccessibleContext accessibleContext, const int position);
- typedef BOOL (*getCaretLocationFP) (long vmID, AccessibleContext ac, AccessibleTextRectInfo *rectInfo, jint index);
- typedef int (*getEventsWaitingFP) ();
- typedef struct AccessBridgeFPsTag {
- Windows_runFP Windows_run;
- SetPropertyChangeFP SetPropertyChange;
- SetJavaShutdownFP SetJavaShutdown;
- SetFocusGainedFP SetFocusGained;
- SetFocusLostFP SetFocusLost;
- SetCaretUpdateFP SetCaretUpdate;
- SetMouseClickedFP SetMouseClicked;
- SetMouseEnteredFP SetMouseEntered;
- SetMouseExitedFP SetMouseExited;
- SetMousePressedFP SetMousePressed;
- SetMouseReleasedFP SetMouseReleased;
- SetMenuCanceledFP SetMenuCanceled;
- SetMenuDeselectedFP SetMenuDeselected;
- SetMenuSelectedFP SetMenuSelected;
- SetPopupMenuCanceledFP SetPopupMenuCanceled;
- SetPopupMenuWillBecomeInvisibleFP SetPopupMenuWillBecomeInvisible;
- SetPopupMenuWillBecomeVisibleFP SetPopupMenuWillBecomeVisible;
- SetPropertyNameChangeFP SetPropertyNameChange;
- SetPropertyDescriptionChangeFP SetPropertyDescriptionChange;
- SetPropertyStateChangeFP SetPropertyStateChange;
- SetPropertyValueChangeFP SetPropertyValueChange;
- SetPropertySelectionChangeFP SetPropertySelectionChange;
- SetPropertyTextChangeFP SetPropertyTextChange;
- SetPropertyCaretChangeFP SetPropertyCaretChange;
- SetPropertyVisibleDataChangeFP SetPropertyVisibleDataChange;
- SetPropertyChildChangeFP SetPropertyChildChange;
- SetPropertyActiveDescendentChangeFP SetPropertyActiveDescendentChange;
- SetPropertyTableModelChangeFP SetPropertyTableModelChange;
- ReleaseJavaObjectFP ReleaseJavaObject;
- GetVersionInfoFP GetVersionInfo;
- IsJavaWindowFP IsJavaWindow;
- IsSameObjectFP IsSameObject;
- GetAccessibleContextFromHWNDFP GetAccessibleContextFromHWND;
- getHWNDFromAccessibleContextFP getHWNDFromAccessibleContext;
- GetAccessibleContextAtFP GetAccessibleContextAt;
- GetAccessibleContextWithFocusFP GetAccessibleContextWithFocus;
- GetAccessibleContextInfoFP GetAccessibleContextInfo;
- GetAccessibleChildFromContextFP GetAccessibleChildFromContext;
- GetAccessibleParentFromContextFP GetAccessibleParentFromContext;
- getAccessibleTableInfoFP getAccessibleTableInfo;
- getAccessibleTableCellInfoFP getAccessibleTableCellInfo;
- getAccessibleTableRowHeaderFP getAccessibleTableRowHeader;
- getAccessibleTableColumnHeaderFP getAccessibleTableColumnHeader;
- getAccessibleTableRowDescriptionFP getAccessibleTableRowDescription;
- getAccessibleTableColumnDescriptionFP getAccessibleTableColumnDescription;
- getAccessibleTableRowSelectionCountFP getAccessibleTableRowSelectionCount;
- isAccessibleTableRowSelectedFP isAccessibleTableRowSelected;
- getAccessibleTableRowSelectionsFP getAccessibleTableRowSelections;
- getAccessibleTableColumnSelectionCountFP getAccessibleTableColumnSelectionCount;
- isAccessibleTableColumnSelectedFP isAccessibleTableColumnSelected;
- getAccessibleTableColumnSelectionsFP getAccessibleTableColumnSelections;
- getAccessibleTableRowFP getAccessibleTableRow;
- getAccessibleTableColumnFP getAccessibleTableColumn;
- getAccessibleTableIndexFP getAccessibleTableIndex;
- getAccessibleRelationSetFP getAccessibleRelationSet;
- getAccessibleHypertextFP getAccessibleHypertext;
- activateAccessibleHyperlinkFP activateAccessibleHyperlink;
- getAccessibleHyperlinkCountFP getAccessibleHyperlinkCount;
- getAccessibleHypertextExtFP getAccessibleHypertextExt;
- getAccessibleHypertextLinkIndexFP getAccessibleHypertextLinkIndex;
- getAccessibleHyperlinkFP getAccessibleHyperlink;
- getAccessibleKeyBindingsFP getAccessibleKeyBindings;
- getAccessibleIconsFP getAccessibleIcons;
- getAccessibleActionsFP getAccessibleActions;
- doAccessibleActionsFP doAccessibleActions;
- GetAccessibleTextInfoFP GetAccessibleTextInfo;
- GetAccessibleTextItemsFP GetAccessibleTextItems;
- GetAccessibleTextSelectionInfoFP GetAccessibleTextSelectionInfo;
- GetAccessibleTextAttributesFP GetAccessibleTextAttributes;
- GetAccessibleTextRectFP GetAccessibleTextRect;
- GetAccessibleTextLineBoundsFP GetAccessibleTextLineBounds;
- GetAccessibleTextRangeFP GetAccessibleTextRange;
- GetCurrentAccessibleValueFromContextFP GetCurrentAccessibleValueFromContext;
- GetMaximumAccessibleValueFromContextFP GetMaximumAccessibleValueFromContext;
- GetMinimumAccessibleValueFromContextFP GetMinimumAccessibleValueFromContext;
- AddAccessibleSelectionFromContextFP AddAccessibleSelectionFromContext;
- ClearAccessibleSelectionFromContextFP ClearAccessibleSelectionFromContext;
- GetAccessibleSelectionFromContextFP GetAccessibleSelectionFromContext;
- GetAccessibleSelectionCountFromContextFP GetAccessibleSelectionCountFromContext;
- IsAccessibleChildSelectedFromContextFP IsAccessibleChildSelectedFromContext;
- RemoveAccessibleSelectionFromContextFP RemoveAccessibleSelectionFromContext;
- SelectAllAccessibleSelectionFromContextFP SelectAllAccessibleSelectionFromContext;
- setTextContentsFP setTextContents;
- getParentWithRoleFP getParentWithRole;
- getTopLevelObjectFP getTopLevelObject;
- getParentWithRoleElseRootFP getParentWithRoleElseRoot;
- getObjectDepthFP getObjectDepth;
- getActiveDescendentFP getActiveDescendent;
- getVirtualAccessibleNameFP getVirtualAccessibleName;
- requestFocusFP requestFocus;
- selectTextRangeFP selectTextRange;
- getTextAttributesInRangeFP getTextAttributesInRange;
- getVisibleChildrenCountFP getVisibleChildrenCount;
- getVisibleChildrenFP getVisibleChildren;
- setCaretPositionFP setCaretPosition;
- getCaretLocationFP getCaretLocation;
- getEventsWaitingFP getEventsWaiting;
- } AccessBridgeFPs;
- /**
- * Initialize the world
- */
- BOOL initializeAccessBridge();
- BOOL shutdownAccessBridge();
- /**
- * Window routines
- */
- BOOL IsJavaWindow(HWND window);
- // Returns the virtual machine ID and AccessibleContext for a top-level window
- BOOL GetAccessibleContextFromHWND(HWND target, long *vmID, AccessibleContext *ac);
- // Returns the HWND from the AccessibleContext of a top-level window
- HWND getHWNDFromAccessibleContext(long vmID, AccessibleContext ac);
- /**
- * Event handling routines
- */
- void SetJavaShutdown(AccessBridge_JavaShutdownFP fp);
- void SetFocusGained(AccessBridge_FocusGainedFP fp);
- void SetFocusLost(AccessBridge_FocusLostFP fp);
- void SetCaretUpdate(AccessBridge_CaretUpdateFP fp);
- void SetMouseClicked(AccessBridge_MouseClickedFP fp);
- void SetMouseEntered(AccessBridge_MouseEnteredFP fp);
- void SetMouseExited(AccessBridge_MouseExitedFP fp);
- void SetMousePressed(AccessBridge_MousePressedFP fp);
- void SetMouseReleased(AccessBridge_MouseReleasedFP fp);
- void SetMenuCanceled(AccessBridge_MenuCanceledFP fp);
- void SetMenuDeselected(AccessBridge_MenuDeselectedFP fp);
- void SetMenuSelected(AccessBridge_MenuSelectedFP fp);
- void SetPopupMenuCanceled(AccessBridge_PopupMenuCanceledFP fp);
- void SetPopupMenuWillBecomeInvisible(AccessBridge_PopupMenuWillBecomeInvisibleFP fp);
- void SetPopupMenuWillBecomeVisible(AccessBridge_PopupMenuWillBecomeVisibleFP fp);
- void SetPropertyNameChange(AccessBridge_PropertyNameChangeFP fp);
- void SetPropertyDescriptionChange(AccessBridge_PropertyDescriptionChangeFP fp);
- void SetPropertyStateChange(AccessBridge_PropertyStateChangeFP fp);
- void SetPropertyValueChange(AccessBridge_PropertyValueChangeFP fp);
- void SetPropertySelectionChange(AccessBridge_PropertySelectionChangeFP fp);
- void SetPropertyTextChange(AccessBridge_PropertyTextChangeFP fp);
- void SetPropertyCaretChange(AccessBridge_PropertyCaretChangeFP fp);
- void SetPropertyVisibleDataChange(AccessBridge_PropertyVisibleDataChangeFP fp);
- void SetPropertyChildChange(AccessBridge_PropertyChildChangeFP fp);
- void SetPropertyActiveDescendentChange(AccessBridge_PropertyActiveDescendentChangeFP fp);
- void SetPropertyTableModelChange(AccessBridge_PropertyTableModelChangeFP fp);
- /**
- * General routines
- */
- void ReleaseJavaObject(long vmID, Java_Object object);
- BOOL GetVersionInfo(long vmID, AccessBridgeVersionInfo *info);
- HWND GetHWNDFromAccessibleContext(long vmID, JOBJECT64 accesibleContext);
- /**
- * Accessible Context routines
- */
- BOOL GetAccessibleContextAt(long vmID, AccessibleContext acParent,
- jint x, jint y, AccessibleContext *ac);
- BOOL GetAccessibleContextWithFocus(HWND window, long *vmID, AccessibleContext *ac);
- BOOL GetAccessibleContextInfo(long vmID, AccessibleContext ac, AccessibleContextInfo *info);
- AccessibleContext GetAccessibleChildFromContext(long vmID, AccessibleContext ac, jint index);
- AccessibleContext GetAccessibleParentFromContext(long vmID, AccessibleContext ac);
- /**
- * Accessible Text routines
- */
- BOOL GetAccessibleTextInfo(long vmID, AccessibleText at, AccessibleTextInfo *textInfo, jint x, jint y);
- BOOL GetAccessibleTextItems(long vmID, AccessibleText at, AccessibleTextItemsInfo *textItems, jint index);
- BOOL GetAccessibleTextSelectionInfo(long vmID, AccessibleText at, AccessibleTextSelectionInfo *textSelection);
- BOOL GetAccessibleTextAttributes(long vmID, AccessibleText at, jint index, AccessibleTextAttributesInfo *attributes);
- BOOL GetAccessibleTextRect(long vmID, AccessibleText at, AccessibleTextRectInfo *rectInfo, jint index);
- BOOL GetAccessibleTextLineBounds(long vmID, AccessibleText at, jint index, jint *startIndex, jint *endIndex);
- BOOL GetAccessibleTextRange(long vmID, AccessibleText at, jint start, jint end, wchar_t *text, short len);
- /* begin AccessibleTable routines */
- BOOL getAccessibleTableInfo(long vmID, AccessibleContext acParent, AccessibleTableInfo *tableInfo);
- BOOL getAccessibleTableCellInfo(long vmID, AccessibleTable accessibleTable, jint row, jint column,
- AccessibleTableCellInfo *tableCellInfo);
- BOOL getAccessibleTableRowHeader(long vmID, AccessibleContext acParent, AccessibleTableInfo *tableInfo);
- BOOL getAccessibleTableColumnHeader(long vmID, AccessibleContext acParent, AccessibleTableInfo *tableInfo);
- AccessibleContext getAccessibleTableRowDescription(long vmID, AccessibleContext acParent, jint row);
- AccessibleContext getAccessibleTableColumnDescription(long vmID, AccessibleContext acParent, jint column);
- jint getAccessibleTableRowSelectionCount(long vmID, AccessibleTable table);
- BOOL isAccessibleTableRowSelected(long vmID, AccessibleTable table, jint row);
- BOOL getAccessibleTableRowSelections(long vmID, AccessibleTable table, jint count, jint *selections);
- jint getAccessibleTableColumnSelectionCount(long vmID, AccessibleTable table);
- BOOL isAccessibleTableColumnSelected(long vmID, AccessibleTable table, jint column);
- BOOL getAccessibleTableColumnSelections(long vmID, AccessibleTable table, jint count, jint *selections);
- jint getAccessibleTableRow(long vmID, AccessibleTable table, jint index);
- jint getAccessibleTableColumn(long vmID, AccessibleTable table, jint index);
- jint getAccessibleTableIndex(long vmID, AccessibleTable table, jint row, jint column);
- /* end AccessibleTable */
- /* ----- AccessibleRelationSet routines */
- BOOL getAccessibleRelationSet(long vmID, AccessibleContext accessibleContext,
- AccessibleRelationSetInfo *relationSetInfo);
- /* ----- AccessibleHypertext routines */
- /*
- * Returns hypertext information associated with a component.
- */
- BOOL getAccessibleHypertext(long vmID, AccessibleContext accessibleContext,
- AccessibleHypertextInfo *hypertextInfo);
- /*
- * Requests that a hyperlink be activated.
- */
- BOOL activateAccessibleHyperlink(long vmID, AccessibleContext accessibleContext,
- AccessibleHyperlink accessibleHyperlink);
- /*
- * Returns the number of hyperlinks in a component
- * Maps to AccessibleHypertext.getLinkCount.
- * Returns -1 on error.
- */
- jint getAccessibleHyperlinkCount(const long vmID,
- const AccessibleHypertext hypertext);
- /*
- * This method is used to iterate through the hyperlinks in a component. It
- * returns hypertext information for a component starting at hyperlink index
- * nStartIndex. No more than MAX_HYPERLINKS AccessibleHypertextInfo objects will
- * be returned for each call to this method.
- * Returns FALSE on error.
- */
- BOOL getAccessibleHypertextExt(const long vmID,
- const AccessibleContext accessibleContext,
- const jint nStartIndex,
- /* OUT */ AccessibleHypertextInfo *hypertextInfo);
- /*
- * Returns the index into an array of hyperlinks that is associated with
- * a character index in document; maps to AccessibleHypertext.getLinkIndex
- * Returns -1 on error.
- */
- jint getAccessibleHypertextLinkIndex(const long vmID,
- const AccessibleHypertext hypertext,
- const jint nIndex);
- /*
- * Returns the nth hyperlink in a document
- * Maps to AccessibleHypertext.getLink.
- * Returns FALSE on error
- */
- BOOL getAccessibleHyperlink(const long vmID,
- const AccessibleHypertext hypertext,
- const jint nIndex,
- /* OUT */ AccessibleHyperlinkInfo *hyperlinkInfo);
- /* Accessible KeyBindings, Icons and Actions */
- /*
- * Returns a list of key bindings associated with a component.
- */
- BOOL getAccessibleKeyBindings(long vmID, AccessibleContext accessibleContext,
- AccessibleKeyBindings *keyBindings);
- /*
- * Returns a list of icons associate with a component.
- */
- BOOL getAccessibleIcons(long vmID, AccessibleContext accessibleContext,
- AccessibleIcons *icons);
- /*
- * Returns a list of actions that a component can perform.
- */
- BOOL getAccessibleActions(long vmID, AccessibleContext accessibleContext,
- AccessibleActions *actions);
- /*
- * Request that a list of AccessibleActions be performed by a component.
- * Returns TRUE if all actions are performed. Returns FALSE
- * when the first requested action fails in which case "failure"
- * contains the index of the action that failed.
- */
- BOOL doAccessibleActions(long vmID, AccessibleContext accessibleContext,
- AccessibleActionsToDo *actionsToDo, jint *failure);
- /* Additional utility methods */
- /*
- * Returns whether two object references refer to the same object.
- */
- BOOL IsSameObject(long vmID, JOBJECT64 obj1, JOBJECT64 obj2);
- /**
- * Sets editable text contents. The AccessibleContext must implement AccessibleEditableText and
- * be editable. The maximum text length that can be set is MAX_STRING_SIZE - 1.
- * Returns whether successful
- */
- BOOL setTextContents (const long vmID, const AccessibleContext accessibleContext, const wchar_t *text);
- /**
- * Returns the Accessible Context with the specified role that is the
- * ancestor of a given object. The role is one of the role strings
- * defined in AccessBridgePackages.h
- * If there is no ancestor object that has the specified role,
- * returns (AccessibleContext)0.
- */
- AccessibleContext getParentWithRole (const long vmID, const AccessibleContext accessibleContext,
- const wchar_t *role);
- /**
- * Returns the Accessible Context with the specified role that is the
- * ancestor of a given object. The role is one of the role strings
- * defined in AccessBridgePackages.h. If an object with the specified
- * role does not exist, returns the top level object for the Java Window.
- * Returns (AccessibleContext)0 on error.
- */
- AccessibleContext getParentWithRoleElseRoot (const long vmID, const AccessibleContext accessibleContext,
- const wchar_t *role);
- /**
- * Returns the Accessible Context for the top level object in
- * a Java Window. This is same Accessible Context that is obtained
- * from GetAccessibleContextFromHWND for that window. Returns
- * (AccessibleContext)0 on error.
- */
- AccessibleContext getTopLevelObject (const long vmID, const AccessibleContext accessibleContext);
- /**
- * Returns how deep in the object hierarchy a given object is.
- * The top most object in the object hierarchy has an object depth of 0.
- * Returns -1 on error.
- */
- int getObjectDepth (const long vmID, const AccessibleContext accessibleContext);
- /**
- * Returns the Accessible Context of the current ActiveDescendent of an object.
- * This method assumes the ActiveDescendent is the component that is currently
- * selected in a container object.
- * Returns (AccessibleContext)0 on error or if there is no selection.
- */
- AccessibleContext getActiveDescendent (const long vmID, const AccessibleContext accessibleContext);
- /**
- /**
- * Accessible Value routines
- */
- BOOL GetCurrentAccessibleValueFromContext(long vmID, AccessibleValue av, wchar_t *value, short len);
- BOOL GetMaximumAccessibleValueFromContext(long vmID, AccessibleValue av, wchar_t *value, short len);
- BOOL GetMinimumAccessibleValueFromContext(long vmID, AccessibleValue av, wchar_t *value, short len);
- /**
- * Accessible Selection routines
- */
- void AddAccessibleSelectionFromContext(long vmID, AccessibleSelection as, int i);
- void ClearAccessibleSelectionFromContext(long vmID, AccessibleSelection as);
- JOBJECT64 GetAccessibleSelectionFromContext(long vmID, AccessibleSelection as, int i);
- int GetAccessibleSelectionCountFromContext(long vmID, AccessibleSelection as);
- BOOL IsAccessibleChildSelectedFromContext(long vmID, AccessibleSelection as, int i);
- void RemoveAccessibleSelectionFromContext(long vmID, AccessibleSelection as, int i);
- void SelectAllAccessibleSelectionFromContext(long vmID, AccessibleSelection as);
- /**
- * 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
- */
- BOOL getVirtualAccessibleName(const long vmID, const AccessibleContext accessibleContext,
- wchar_t *name, int len);
- /**
- * Request focus for a component. Returns whether successful.
- *
- * Bug ID 4944757 - requestFocus method needed
- */
- BOOL requestFocus(const long vmID, const AccessibleContext accessibleContext);
- /**
- * 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
- */
- BOOL selectTextRange(const long vmID, const AccessibleContext accessibleContext, const int startIndex,
- const int endIndex);
- /**
- * Get text attributes between two indices. The attribute list includes the text at the
- * start index and the text at the end index. Returns whether successful;
- *
- * Bug ID 4944761 - getTextAttributes between two indices method needed
- */
- BOOL getTextAttributesInRange(const long vmID, const AccessibleContext accessibleContext,
- const int startIndex, const int endIndex,
- AccessibleTextAttributesInfo *attributes, short *len);
- /**
- * Returns the number of visible children of a component. Returns -1 on error.
- *
- * Bug ID 4944762- getVisibleChildren for list-like components needed
- */
- int getVisibleChildrenCount(const long vmID, const AccessibleContext accessibleContext);
- /**
- * Gets the visible children of an AccessibleContext. Returns whether successful.
- *
- * Bug ID 4944762- getVisibleChildren for list-like components needed
- */
- BOOL getVisibleChildren(const long vmID, const AccessibleContext accessibleContext,
- const int startIndex,
- VisibleChildrenInfo *visibleChildrenInfo);
- /**
- * Set the caret to a text position. Returns whether successful.
- *
- * Bug ID 4944770 - setCaretPosition method needed
- */
- BOOL setCaretPosition(const long vmID, const AccessibleContext accessibleContext,
- const int position);
- /**
- * Gets the text caret location
- */
- BOOL getCaretLocation(long vmID, AccessibleContext ac,
- AccessibleTextRectInfo *rectInfo, jint index);
- /**
- * Gets the number of events waiting to fire
- */
- int getEventsWaiting();
- #ifdef __cplusplus
- }
- #endif
|