1 /* 2 * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 /* 27 * Header file for packages of paramaters passed between Java Accessibility 28 * and native Assistive Technologies 29 */ 30 31 #ifndef __AccessBridgePackages_H__ 32 #define __AccessBridgePackages_H__ 33 34 #include <jni.h> 35 #include <windows.h> 36 37 #ifdef __cplusplus 38 extern "C" { 39 #endif 40 41 #ifdef ACCESSBRIDGE_ARCH_LEGACY 42 typedef jobject JOBJECT64; 43 typedef HWND ABHWND64; 44 #define ABHandleToLong 45 #define ABLongToHandle 46 #else 47 typedef jlong JOBJECT64; 48 typedef long ABHWND64; 49 #define ABHandleToLong HandleToLong 50 #define ABLongToHandle LongToHandle 51 #endif 52 53 #define MAX_BUFFER_SIZE 10240 54 #define MAX_STRING_SIZE 1024 55 #define SHORT_STRING_SIZE 256 56 57 // object types 58 typedef JOBJECT64 AccessibleContext; 59 typedef JOBJECT64 AccessibleText; 60 typedef JOBJECT64 AccessibleValue; 61 typedef JOBJECT64 AccessibleSelection; 62 typedef JOBJECT64 Java_Object; 63 typedef JOBJECT64 PropertyChangeEvent; 64 typedef JOBJECT64 FocusEvent; 65 typedef JOBJECT64 CaretEvent; 66 typedef JOBJECT64 MouseEvent; 67 typedef JOBJECT64 MenuEvent; 68 typedef JOBJECT64 AccessibleTable; 69 typedef JOBJECT64 AccessibleHyperlink; 70 typedef JOBJECT64 AccessibleHypertext; 71 72 /** 73 ****************************************************** 74 * Java event types 75 ****************************************************** 76 */ 77 78 #define cPropertyChangeEvent (jlong) 1 // 1 79 #define cFocusGainedEvent (jlong) 2 // 2 80 #define cFocusLostEvent (jlong) 4 // 4 81 #define cCaretUpdateEvent (jlong) 8 // 8 82 #define cMouseClickedEvent (jlong) 16 // 10 83 #define cMouseEnteredEvent (jlong) 32 // 20 84 #define cMouseExitedEvent (jlong) 64 // 40 85 #define cMousePressedEvent (jlong) 128 // 80 86 #define cMouseReleasedEvent (jlong) 256 // 100 87 #define cMenuCanceledEvent (jlong) 512 // 200 88 #define cMenuDeselectedEvent (jlong) 1024 // 400 89 #define cMenuSelectedEvent (jlong) 2048 // 800 90 #define cPopupMenuCanceledEvent (jlong) 4096 // 1000 91 #define cPopupMenuWillBecomeInvisibleEvent (jlong) 8192 // 2000 92 #define cPopupMenuWillBecomeVisibleEvent (jlong) 16384 // 4000 93 #define cJavaShutdownEvent (jlong) 32768 // 8000 94 95 /** 96 ****************************************************** 97 * Accessible Roles 98 * Defines all AccessibleRoles in Local.US 99 ****************************************************** 100 */ 101 102 /** 103 * Object is used to alert the user about something. 104 */ 105 #define ACCESSIBLE_ALERT L"alert" 106 107 /** 108 * The header for a column of data. 109 */ 110 #define ACCESSIBLE_COLUMN_HEADER L"column header" 111 112 /** 113 * Object that can be drawn into and is used to trap 114 * events. 115 * see ACCESSIBLE_FRAME 116 * see ACCESSIBLE_GLASS_PANE 117 * see ACCESSIBLE_LAYERED_PANE 118 */ 119 #define ACCESSIBLE_CANVAS L"canvas" 120 121 /** 122 * A list of choices the user can select from. Also optionally 123 * allows the user to enter a choice of their own. 124 */ 125 #define ACCESSIBLE_COMBO_BOX L"combo box" 126 127 /** 128 * An iconified internal frame in a DESKTOP_PANE. 129 * see ACCESSIBLE_DESKTOP_PANE 130 * see ACCESSIBLE_INTERNAL_FRAME 131 */ 132 #define ACCESSIBLE_DESKTOP_ICON L"desktop icon" 133 134 /** 135 * A frame-like object that is clipped by a desktop pane. The 136 * desktop pane, internal frame, and desktop icon objects are 137 * often used to create multiple document interfaces within an 138 * application. 139 * see ACCESSIBLE_DESKTOP_ICON 140 * see ACCESSIBLE_DESKTOP_PANE 141 * see ACCESSIBLE_FRAME 142 */ 143 #define ACCESSIBLE_INTERNAL_FRAME L"internal frame" 144 145 /** 146 * A pane that supports internal frames and 147 * iconified versions of those internal frames. 148 * see ACCESSIBLE_DESKTOP_ICON 149 * see ACCESSIBLE_INTERNAL_FRAME 150 */ 151 #define ACCESSIBLE_DESKTOP_PANE L"desktop pane" 152 153 /** 154 * A specialized pane whose primary use is inside a DIALOG 155 * see ACCESSIBLE_DIALOG 156 */ 157 #define ACCESSIBLE_OPTION_PANE L"option pane" 158 159 /** 160 * A top level window with no title or border. 161 * see ACCESSIBLE_FRAME 162 * see ACCESSIBLE_DIALOG 163 */ 164 #define ACCESSIBLE_WINDOW L"window" 165 166 /** 167 * A top level window with a title bar, border, menu bar, etc. It is 168 * often used as the primary window for an application. 169 * see ACCESSIBLE_DIALOG 170 * see ACCESSIBLE_CANVAS 171 * see ACCESSIBLE_WINDOW 172 */ 173 #define ACCESSIBLE_FRAME L"frame" 174 175 /** 176 * A top level window with title bar and a border. A dialog is similar 177 * to a frame, but it has fewer properties and is often used as a 178 * secondary window for an application. 179 * see ACCESSIBLE_FRAME 180 * see ACCESSIBLE_WINDOW 181 */ 182 #define ACCESSIBLE_DIALOG L"dialog" 183 184 /** 185 * A specialized dialog that lets the user choose a color. 186 */ 187 #define ACCESSIBLE_COLOR_CHOOSER L"color chooser" 188 189 190 /** 191 * A pane that allows the user to navigate through 192 * and select the contents of a directory. May be used 193 * by a file chooser. 194 * see ACCESSIBLE_FILE_CHOOSER 195 */ 196 #define ACCESSIBLE_DIRECTORY_PANE L"directory pane" 197 198 /** 199 * A specialized dialog that displays the files in the directory 200 * and lets the user select a file, browse a different directory, 201 * or specify a filename. May use the directory pane to show the 202 * contents of a directory. 203 * see ACCESSIBLE_DIRECTORY_PANE 204 */ 205 #define ACCESSIBLE_FILE_CHOOSER L"file chooser" 206 207 /** 208 * An object that fills up space in a user interface. It is often 209 * used in interfaces to tweak the spacing between components, 210 * but serves no other purpose. 211 */ 212 #define ACCESSIBLE_FILLER L"filler" 213 214 /** 215 * A hypertext anchor 216 */ 217 #define ACCESSIBLE_HYPERLINK L"hyperlink" 218 219 /** 220 * A small fixed size picture, typically used to decorate components. 221 */ 222 #define ACCESSIBLE_ICON L"icon" 223 224 /** 225 * An object used to present an icon or short string in an interface. 226 */ 227 #define ACCESSIBLE_LABEL L"label" 228 229 /** 230 * A specialized pane that has a glass pane and a layered pane as its 231 * children. 232 * see ACCESSIBLE_GLASS_PANE 233 * see ACCESSIBLE_LAYERED_PANE 234 */ 235 #define ACCESSIBLE_ROOT_PANE L"root pane" 236 237 /** 238 * A pane that is guaranteed to be painted on top 239 * of all panes beneath it. 240 * see ACCESSIBLE_ROOT_PANE 241 * see ACCESSIBLE_CANVAS 242 */ 243 #define ACCESSIBLE_GLASS_PANE L"glass pane" 244 245 /** 246 * A specialized pane that allows its children to be drawn in layers, 247 * providing a form of stacking order. This is usually the pane that 248 * holds the menu bar as well as the pane that contains most of the 249 * visual components in a window. 250 * see ACCESSIBLE_GLASS_PANE 251 * see ACCESSIBLE_ROOT_PANE 252 */ 253 #define ACCESSIBLE_LAYERED_PANE L"layered pane" 254 255 /** 256 * An object that presents a list of objects to the user and allows the 257 * user to select one or more of them. A list is usually contained 258 * within a scroll pane. 259 * see ACCESSIBLE_SCROLL_PANE 260 * see ACCESSIBLE_LIST_ITEM 261 */ 262 #define ACCESSIBLE_LIST L"list" 263 264 /** 265 * An object that presents an element in a list. A list is usually 266 * contained within a scroll pane. 267 * see ACCESSIBLE_SCROLL_PANE 268 * see ACCESSIBLE_LIST 269 */ 270 #define ACCESSIBLE_LIST_ITEM L"list item" 271 272 /** 273 * An object usually drawn at the top of the primary dialog box of 274 * an application that contains a list of menus the user can choose 275 * from. For example, a menu bar might contain menus for "File," 276 * "Edit," and "Help." 277 * see ACCESSIBLE_MENU 278 * see ACCESSIBLE_POPUP_MENU 279 * see ACCESSIBLE_LAYERED_PANE 280 */ 281 #define ACCESSIBLE_MENU_BAR L"menu bar" 282 283 /** 284 * A temporary window that is usually used to offer the user a 285 * list of choices, and then hides when the user selects one of 286 * those choices. 287 * see ACCESSIBLE_MENU 288 * see ACCESSIBLE_MENU_ITEM 289 */ 290 #define ACCESSIBLE_POPUP_MENU L"popup menu" 291 292 /** 293 * An object usually found inside a menu bar that contains a list 294 * of actions the user can choose from. A menu can have any object 295 * as its children, but most often they are menu items, other menus, 296 * or rudimentary objects such as radio buttons, check boxes, or 297 * separators. For example, an application may have an "Edit" menu 298 * that contains menu items for "Cut" and "Paste." 299 * see ACCESSIBLE_MENU_BAR 300 * see ACCESSIBLE_MENU_ITEM 301 * see ACCESSIBLE_SEPARATOR 302 * see ACCESSIBLE_RADIO_BUTTON 303 * see ACCESSIBLE_CHECK_BOX 304 * see ACCESSIBLE_POPUP_MENU 305 */ 306 #define ACCESSIBLE_MENU L"menu" 307 308 /** 309 * An object usually contained in a menu that presents an action 310 * the user can choose. For example, the "Cut" menu item in an 311 * "Edit" menu would be an action the user can select to cut the 312 * selected area of text in a document. 313 * see ACCESSIBLE_MENU_BAR 314 * see ACCESSIBLE_SEPARATOR 315 * see ACCESSIBLE_POPUP_MENU 316 */ 317 #define ACCESSIBLE_MENU_ITEM L"menu item" 318 319 /** 320 * An object usually contained in a menu to provide a visual 321 * and logical separation of the contents in a menu. For example, 322 * the "File" menu of an application might contain menu items for 323 * "Open," "Close," and "Exit," and will place a separator between 324 * "Close" and "Exit" menu items. 325 * see ACCESSIBLE_MENU 326 * see ACCESSIBLE_MENU_ITEM 327 */ 328 #define ACCESSIBLE_SEPARATOR L"separator" 329 330 /** 331 * An object that presents a series of panels (or page tabs), one at a 332 * time, through some mechanism provided by the object. The most common 333 * mechanism is a list of tabs at the top of the panel. The children of 334 * a page tab list are all page tabs. 335 * see ACCESSIBLE_PAGE_TAB 336 */ 337 #define ACCESSIBLE_PAGE_TAB_LIST L"page tab list" 338 339 /** 340 * An object that is a child of a page tab list. Its sole child is 341 * the panel that is to be presented to the user when the user 342 * selects the page tab from the list of tabs in the page tab list. 343 * see ACCESSIBLE_PAGE_TAB_LIST 344 */ 345 #define ACCESSIBLE_PAGE_TAB L"page tab" 346 347 /** 348 * A generic container that is often used to group objects. 349 */ 350 #define ACCESSIBLE_PANEL L"panel" 351 352 /** 353 * An object used to indicate how much of a task has been completed. 354 */ 355 #define ACCESSIBLE_PROGRESS_BAR L"progress bar" 356 357 /** 358 * A text object used for passwords, or other places where the 359 * text contents is not shown visibly to the user 360 */ 361 #define ACCESSIBLE_PASSWORD_TEXT L"password text" 362 363 /** 364 * An object the user can manipulate to tell the application to do 365 * something. 366 * see ACCESSIBLE_CHECK_BOX 367 * see ACCESSIBLE_TOGGLE_BUTTON 368 * see ACCESSIBLE_RADIO_BUTTON 369 */ 370 #define ACCESSIBLE_PUSH_BUTTON L"push button" 371 372 /** 373 * A specialized push button that can be checked or unchecked, but 374 * does not provide a separate indicator for the current state. 375 * see ACCESSIBLE_PUSH_BUTTON 376 * see ACCESSIBLE_CHECK_BOX 377 * see ACCESSIBLE_RADIO_BUTTON 378 */ 379 #define ACCESSIBLE_TOGGLE_BUTTON L"toggle button" 380 381 /** 382 * A choice that can be checked or unchecked and provides a 383 * separate indicator for the current state. 384 * see ACCESSIBLE_PUSH_BUTTON 385 * see ACCESSIBLE_TOGGLE_BUTTON 386 * see ACCESSIBLE_RADIO_BUTTON 387 */ 388 #define ACCESSIBLE_CHECK_BOX L"check box" 389 390 /** 391 * A specialized check box that will cause other radio buttons in the 392 * same group to become unchecked when this one is checked. 393 * see ACCESSIBLE_PUSH_BUTTON 394 * see ACCESSIBLE_TOGGLE_BUTTON 395 * see ACCESSIBLE_CHECK_BOX 396 */ 397 #define ACCESSIBLE_RADIO_BUTTON L"radio button" 398 399 /** 400 * The header for a row of data. 401 */ 402 #define ACCESSIBLE_ROW_HEADER L"row header" 403 404 /** 405 * An object that allows a user to incrementally view a large amount 406 * of information. Its children can include scroll bars and a viewport. 407 * see ACCESSIBLE_SCROLL_BAR 408 * see ACCESSIBLE_VIEWPORT 409 */ 410 #define ACCESSIBLE_SCROLL_PANE L"scroll pane" 411 412 /** 413 * An object usually used to allow a user to incrementally view a 414 * large amount of data. Usually used only by a scroll pane. 415 * see ACCESSIBLE_SCROLL_PANE 416 */ 417 #define ACCESSIBLE_SCROLL_BAR L"scroll bar" 418 419 /** 420 * An object usually used in a scroll pane. It represents the portion 421 * of the entire data that the user can see. As the user manipulates 422 * the scroll bars, the contents of the viewport can change. 423 * see ACCESSIBLE_SCROLL_PANE 424 */ 425 #define ACCESSIBLE_VIEWPORT L"viewport" 426 427 /** 428 * An object that allows the user to select from a bounded range. For 429 * example, a slider might be used to select a number between 0 and 100. 430 */ 431 #define ACCESSIBLE_SLIDER L"slider" 432 433 /** 434 * A specialized panel that presents two other panels at the same time. 435 * Between the two panels is a divider the user can manipulate to make 436 * one panel larger and the other panel smaller. 437 */ 438 #define ACCESSIBLE_SPLIT_PANE L"split pane" 439 440 /** 441 * An object used to present information in terms of rows and columns. 442 * An example might include a spreadsheet application. 443 */ 444 #define ACCESSIBLE_TABLE L"table" 445 446 /** 447 * An object that presents text to the user. The text is usually 448 * editable by the user as opposed to a label. 449 * see ACCESSIBLE_LABEL 450 */ 451 #define ACCESSIBLE_TEXT L"text" 452 453 /** 454 * An object used to present hierarchical information to the user. 455 * The individual nodes in the tree can be collapsed and expanded 456 * to provide selective disclosure of the tree's contents. 457 */ 458 #define ACCESSIBLE_TREE L"tree" 459 460 /** 461 * A bar or palette usually composed of push buttons or toggle buttons. 462 * It is often used to provide the most frequently used functions for an 463 * application. 464 */ 465 #define ACCESSIBLE_TOOL_BAR L"tool bar" 466 467 /** 468 * An object that provides information about another object. The 469 * accessibleDescription property of the tool tip is often displayed 470 * to the user in a small L"help bubble" when the user causes the 471 * mouse to hover over the object associated with the tool tip. 472 */ 473 #define ACCESSIBLE_TOOL_TIP L"tool tip" 474 475 /** 476 * An AWT component, but nothing else is known about it. 477 * see ACCESSIBLE_SWING_COMPONENT 478 * see ACCESSIBLE_UNKNOWN 479 */ 480 #define ACCESSIBLE_AWT_COMPONENT L"awt component" 481 482 /** 483 * A Swing component, but nothing else is known about it. 484 * see ACCESSIBLE_AWT_COMPONENT 485 * see ACCESSIBLE_UNKNOWN 486 */ 487 #define ACCESSIBLE_SWING_COMPONENT L"swing component" 488 489 /** 490 * The object contains some Accessible information, but its role is 491 * not known. 492 * see ACCESSIBLE_AWT_COMPONENT 493 * see ACCESSIBLE_SWING_COMPONENT 494 */ 495 #define ACCESSIBLE_UNKNOWN L"unknown" 496 497 /** 498 * A STATUS_BAR is an simple component that can contain 499 * multiple labels of status information to the user. 500 */ 501 #define ACCESSIBLE_STATUS_BAR L"status bar" 502 503 /** 504 * A DATE_EDITOR is a component that allows users to edit 505 * java.util.Date and java.util.Time objects 506 */ 507 #define ACCESSIBLE_DATE_EDITOR L"date editor" 508 509 /** 510 * A SPIN_BOX is a simple spinner component and its main use 511 * is for simple numbers. 512 */ 513 #define ACCESSIBLE_SPIN_BOX L"spin box" 514 515 /** 516 * A FONT_CHOOSER is a component that lets the user pick various 517 * attributes for fonts. 518 */ 519 #define ACCESSIBLE_FONT_CHOOSER L"font chooser" 520 521 /** 522 * A GROUP_BOX is a simple container that contains a border 523 * around it and contains components inside it. 524 */ 525 #define ACCESSIBLE_GROUP_BOX L"group box" 526 527 /** 528 * A text header 529 */ 530 #define ACCESSIBLE_HEADER L"header" 531 532 /** 533 * A text footer 534 */ 535 #define ACCESSIBLE_FOOTER L"footer" 536 537 /** 538 * A text paragraph 539 */ 540 #define ACCESSIBLE_PARAGRAPH L"paragraph" 541 542 /** 543 * A ruler is an object used to measure distance 544 */ 545 #define ACCESSIBLE_RULER L"ruler" 546 547 /** 548 * A role indicating the object acts as a formula for 549 * calculating a value. An example is a formula in 550 * a spreadsheet cell. 551 */ 552 #define ACCESSIBLE_EDITBAR L"editbar" 553 554 /** 555 * A role indicating the object monitors the progress 556 * of some operation. 557 */ 558 #define PROGRESS_MONITOR L"progress monitor" 559 560 561 /** 562 ****************************************************** 563 * Accessibility event types 564 ****************************************************** 565 */ 566 567 #define cPropertyNameChangeEvent (jlong) 1 // 1 568 #define cPropertyDescriptionChangeEvent (jlong) 2 // 2 569 #define cPropertyStateChangeEvent (jlong) 4 // 4 570 #define cPropertyValueChangeEvent (jlong) 8 // 8 571 #define cPropertySelectionChangeEvent (jlong) 16 // 10 572 #define cPropertyTextChangeEvent (jlong) 32 // 20 573 #define cPropertyCaretChangeEvent (jlong) 64 // 40 574 #define cPropertyVisibleDataChangeEvent (jlong) 128 // 80 575 #define cPropertyChildChangeEvent (jlong) 256 // 100 576 #define cPropertyActiveDescendentChangeEvent (jlong) 512 // 200 577 #define cPropertyTableModelChangeEvent (jlong) 1024 // 400 578 579 /** 580 ****************************************************** 581 * optional AccessibleContext interfaces 582 * 583 * This version of the bridge reuses the accessibleValue 584 * field in the AccessibleContextInfo struct to represent 585 * additional optional interfaces that are supported by 586 * the Java AccessibleContext. This is backwardly compatable 587 * because the old accessibleValue was set to the BOOL 588 * value TRUE (i.e., 1) if the AccessibleValue interface is 589 * supported. 590 ****************************************************** 591 */ 592 593 #define cAccessibleValueInterface (jlong) 1 // 1 << 1 (TRUE) 594 #define cAccessibleActionInterface (jlong) 2 // 1 << 2 595 #define cAccessibleComponentInterface (jlong) 4 // 1 << 3 596 #define cAccessibleSelectionInterface (jlong) 8 // 1 << 4 597 #define cAccessibleTableInterface (jlong) 16 // 1 << 5 598 #define cAccessibleTextInterface (jlong) 32 // 1 << 6 599 #define cAccessibleHypertextInterface (jlong) 64 // 1 << 7 600 601 602 /** 603 ****************************************************** 604 * Accessibility information bundles 605 ****************************************************** 606 */ 607 608 typedef struct AccessBridgeVersionInfoTag { 609 wchar_t VMversion[SHORT_STRING_SIZE]; // output of "java -version" 610 wchar_t bridgeJavaClassVersion[SHORT_STRING_SIZE]; // version of the AccessBridge.class 611 wchar_t bridgeJavaDLLVersion[SHORT_STRING_SIZE]; // version of JavaAccessBridge.dll 612 wchar_t bridgeWinDLLVersion[SHORT_STRING_SIZE]; // version of WindowsAccessBridge.dll 613 } AccessBridgeVersionInfo; 614 615 616 typedef struct AccessibleContextInfoTag { 617 wchar_t name[MAX_STRING_SIZE]; // the AccessibleName of the object 618 wchar_t description[MAX_STRING_SIZE]; // the AccessibleDescription of the object 619 620 wchar_t role[SHORT_STRING_SIZE]; // localized AccesibleRole string 621 wchar_t role_en_US[SHORT_STRING_SIZE]; // AccesibleRole string in the en_US locale 622 wchar_t states[SHORT_STRING_SIZE]; // localized AccesibleStateSet string (comma separated) 623 wchar_t states_en_US[SHORT_STRING_SIZE]; // AccesibleStateSet string in the en_US locale (comma separated) 624 625 jint indexInParent; // index of object in parent 626 jint childrenCount; // # of children, if any 627 628 jint x; // screen coords in pixels 629 jint y; // " 630 jint width; // pixel width of object 631 jint height; // pixel height of object 632 633 BOOL accessibleComponent; // flags for various additional 634 BOOL accessibleAction; // Java Accessibility interfaces 635 BOOL accessibleSelection; // FALSE if this object doesn't 636 BOOL accessibleText; // implement the additional interface 637 // in question 638 639 // BOOL accessibleValue; // old BOOL indicating whether AccessibleValue is supported 640 BOOL accessibleInterfaces; // new bitfield containing additional interface flags 641 642 } AccessibleContextInfo; 643 644 645 646 // AccessibleText packages 647 typedef struct AccessibleTextInfoTag { 648 jint charCount; // # of characters in this text object 649 jint caretIndex; // index of caret 650 jint indexAtPoint; // index at the passsed in point 651 } AccessibleTextInfo; 652 653 typedef struct AccessibleTextItemsInfoTag { 654 wchar_t letter; 655 wchar_t word[SHORT_STRING_SIZE]; 656 wchar_t sentence[MAX_STRING_SIZE]; 657 } AccessibleTextItemsInfo; 658 659 typedef struct AccessibleTextSelectionInfoTag { 660 jint selectionStartIndex; 661 jint selectionEndIndex; 662 wchar_t selectedText[MAX_STRING_SIZE]; 663 } AccessibleTextSelectionInfo; 664 665 typedef struct AccessibleTextRectInfoTag { 666 jint x; // bounding rect of char at index 667 jint y; // " 668 jint width; // " 669 jint height; // " 670 } AccessibleTextRectInfo; 671 672 // standard attributes for text; note: tabstops are not supported 673 typedef struct AccessibleTextAttributesInfoTag { 674 BOOL bold; 675 BOOL italic; 676 BOOL underline; 677 BOOL strikethrough; 678 BOOL superscript; 679 BOOL subscript; 680 681 wchar_t backgroundColor[SHORT_STRING_SIZE]; 682 wchar_t foregroundColor[SHORT_STRING_SIZE]; 683 wchar_t fontFamily[SHORT_STRING_SIZE]; 684 jint fontSize; 685 686 jint alignment; 687 jint bidiLevel; 688 689 jfloat firstLineIndent; 690 jfloat leftIndent; 691 jfloat rightIndent; 692 jfloat lineSpacing; 693 jfloat spaceAbove; 694 jfloat spaceBelow; 695 696 wchar_t fullAttributesString[MAX_STRING_SIZE]; 697 } AccessibleTextAttributesInfo; 698 699 /** 700 ****************************************************** 701 * IPC management typedefs 702 ****************************************************** 703 */ 704 705 #define cMemoryMappedNameSize 255 706 707 /** 708 * sent by the WindowsDLL -> the memory-mapped file is setup 709 * 710 */ 711 typedef struct MemoryMappedFileCreatedPackageTag { 712 // HWND bridgeWindow; // redundant, but easier to get to here... 713 ABHWND64 bridgeWindow; // redundant, but easier to get to here... 714 char filename[cMemoryMappedNameSize]; 715 } MemoryMappedFileCreatedPackage; 716 717 718 719 720 /** 721 * sent when a new JavaVM attaches to the Bridge 722 * 723 */ 724 typedef struct JavaVMCreatedPackageTag { 725 ABHWND64 bridgeWindow; 726 long vmID; 727 } JavaVMCreatedPackage; 728 729 /** 730 * sent when a JavaVM detatches from the Bridge 731 * 732 */ 733 typedef struct JavaVMDestroyedPackageTag { 734 ABHWND64 bridgeWindow; 735 } JavaVMDestroyedPackage; 736 737 /** 738 * sent when a new AT attaches to the Bridge 739 * 740 */ 741 typedef struct WindowsATCreatedPackageTag { 742 ABHWND64 bridgeWindow; 743 } WindowsATCreatedPackage; 744 745 /** 746 * sent when an AT detatches from the Bridge 747 * 748 */ 749 typedef struct WindowsATDestroyedPackageTag { 750 ABHWND64 bridgeWindow; 751 } WindowsATDestroyedPackage; 752 753 754 /** 755 * sent by JVM Bridges in response to a WindowsATCreate 756 * message; saying "howdy, welcome to the neighborhood" 757 * 758 */ 759 typedef struct JavaVMPresentNotificationPackageTag { 760 ABHWND64 bridgeWindow; 761 long vmID; 762 } JavaVMPresentNotificationPackage; 763 764 /** 765 * sent by AT Bridges in response to a JavaVMCreate 766 * message; saying "howdy, welcome to the neighborhood" 767 * 768 */ 769 typedef struct WindowsATPresentNotificationPackageTag { 770 ABHWND64 bridgeWindow; 771 } WindowsATPresentNotificationPackage; 772 773 774 /** 775 ****************************************************** 776 * Core packages 777 ****************************************************** 778 */ 779 780 typedef struct ReleaseJavaObjectPackageTag { 781 long vmID; 782 JOBJECT64 object; 783 } ReleaseJavaObjectPackage; 784 785 typedef struct GetAccessBridgeVersionPackageTag { 786 long vmID; // can't get VM info w/out a VM! 787 AccessBridgeVersionInfo rVersionInfo; 788 } GetAccessBridgeVersionPackage; 789 790 typedef struct IsSameObjectPackageTag { 791 long vmID; 792 JOBJECT64 obj1; 793 JOBJECT64 obj2; 794 jboolean rResult; 795 } IsSameObjectPackage; 796 797 /** 798 ****************************************************** 799 * Windows packages 800 ****************************************************** 801 */ 802 803 typedef struct IsJavaWindowPackageTag { 804 jint window; 805 jboolean rResult; 806 } IsJavaWindowPackage; 807 808 typedef struct GetAccessibleContextFromHWNDPackageTag { 809 jint window; 810 long rVMID; 811 JOBJECT64 rAccessibleContext; 812 } GetAccessibleContextFromHWNDPackage; 813 814 typedef struct GetHWNDFromAccessibleContextPackageTag { 815 JOBJECT64 accessibleContext; 816 ABHWND64 rHWND; 817 } GetHWNDFromAccessibleContextPackage; 818 819 /** 820 ****************************************************** 821 * AccessibleContext packages 822 ****************************************************** 823 */ 824 825 typedef struct GetAccessibleContextAtPackageTag { 826 jint x; 827 jint y; 828 long vmID; 829 JOBJECT64 AccessibleContext; // look within this AC 830 JOBJECT64 rAccessibleContext; 831 } GetAccessibleContextAtPackage; 832 833 typedef struct GetAccessibleContextWithFocusPackageTag { 834 long rVMID; 835 JOBJECT64 rAccessibleContext; 836 } GetAccessibleContextWithFocusPackage; 837 838 typedef struct GetAccessibleContextInfoPackageTag { 839 long vmID; 840 JOBJECT64 AccessibleContext; 841 AccessibleContextInfo rAccessibleContextInfo; 842 } GetAccessibleContextInfoPackage; 843 844 typedef struct GetAccessibleChildFromContextPackageTag { 845 long vmID; 846 JOBJECT64 AccessibleContext; 847 jint childIndex; 848 JOBJECT64 rAccessibleContext; 849 } GetAccessibleChildFromContextPackage; 850 851 typedef struct GetAccessibleParentFromContextPackageTag { 852 long vmID; 853 JOBJECT64 AccessibleContext; 854 JOBJECT64 rAccessibleContext; 855 } GetAccessibleParentFromContextPackage; 856 857 /** 858 ****************************************************** 859 * AccessibleTable packages 860 ****************************************************** 861 */ 862 863 #define MAX_TABLE_SELECTIONS 64 864 865 // table information 866 typedef struct AccessibleTableInfoTag { 867 JOBJECT64 caption; // AccesibleContext 868 JOBJECT64 summary; // AccessibleContext 869 jint rowCount; 870 jint columnCount; 871 JOBJECT64 accessibleContext; 872 JOBJECT64 accessibleTable; 873 } AccessibleTableInfo; 874 875 typedef struct GetAccessibleTableInfoPackageTag { 876 long vmID; 877 JOBJECT64 accessibleContext; 878 AccessibleTableInfo rTableInfo; 879 } GetAccessibleTableInfoPackage; 880 881 // table cell information 882 typedef struct AccessibleTableCellInfoTag { 883 JOBJECT64 accessibleContext; 884 jint index; 885 jint row; 886 jint column; 887 jint rowExtent; 888 jint columnExtent; 889 jboolean isSelected; 890 } AccessibleTableCellInfo; 891 892 typedef struct GetAccessibleTableCellInfoPackageTag { 893 long vmID; 894 JOBJECT64 accessibleTable; 895 jint row; 896 jint column; 897 AccessibleTableCellInfo rTableCellInfo; 898 } GetAccessibleTableCellInfoPackage; 899 900 typedef struct GetAccessibleTableRowHeaderPackageTag { 901 long vmID; 902 JOBJECT64 accessibleContext; 903 AccessibleTableInfo rTableInfo; 904 } GetAccessibleTableRowHeaderPackage; 905 906 typedef struct GetAccessibleTableColumnHeaderPackageTag { 907 long vmID; 908 JOBJECT64 accessibleContext; 909 AccessibleTableInfo rTableInfo; 910 } GetAccessibleTableColumnHeaderPackage; 911 912 typedef struct GetAccessibleTableRowDescriptionPackageTag { 913 long vmID; 914 JOBJECT64 accessibleContext; 915 jint row; 916 JOBJECT64 rAccessibleContext; 917 } GetAccessibleTableRowDescriptionPackage; 918 919 typedef struct GetAccessibleTableColumnDescriptionPackageTag { 920 long vmID; 921 JOBJECT64 accessibleContext; 922 jint column; 923 JOBJECT64 rAccessibleContext; 924 } GetAccessibleTableColumnDescriptionPackage; 925 926 typedef struct GetAccessibleTableRowSelectionCountPackageTag { 927 long vmID; 928 JOBJECT64 accessibleTable; 929 jint rCount; 930 } GetAccessibleTableRowSelectionCountPackage; 931 932 typedef struct IsAccessibleTableRowSelectedPackageTag { 933 long vmID; 934 JOBJECT64 accessibleTable; 935 jint row; 936 jboolean rResult; 937 } IsAccessibleTableRowSelectedPackage; 938 939 typedef struct GetAccessibleTableRowSelectionsPackageTag { 940 long vmID; 941 JOBJECT64 accessibleTable; 942 jint count; 943 jint rSelections[MAX_TABLE_SELECTIONS]; 944 } GetAccessibleTableRowSelectionsPackage; 945 946 typedef struct GetAccessibleTableColumnSelectionCountPackageTag { 947 long vmID; 948 JOBJECT64 accessibleTable; 949 jint rCount; 950 } GetAccessibleTableColumnSelectionCountPackage; 951 952 typedef struct IsAccessibleTableColumnSelectedPackageTag { 953 long vmID; 954 JOBJECT64 accessibleTable; 955 jint column; 956 jboolean rResult; 957 } IsAccessibleTableColumnSelectedPackage; 958 959 typedef struct GetAccessibleTableColumnSelectionsPackageTag { 960 long vmID; 961 JOBJECT64 accessibleTable; 962 jint count; 963 jint rSelections[MAX_TABLE_SELECTIONS]; 964 } GetAccessibleTableColumnSelectionsPackage; 965 966 967 typedef struct GetAccessibleTableRowPackageTag { 968 long vmID; 969 JOBJECT64 accessibleTable; 970 jint index; 971 jint rRow; 972 } GetAccessibleTableRowPackage; 973 974 typedef struct GetAccessibleTableColumnPackageTag { 975 long vmID; 976 JOBJECT64 accessibleTable; 977 jint index; 978 jint rColumn; 979 } GetAccessibleTableColumnPackage; 980 981 typedef struct GetAccessibleTableIndexPackageTag { 982 long vmID; 983 JOBJECT64 accessibleTable; 984 jint row; 985 jint column; 986 jint rIndex; 987 } GetAccessibleTableIndexPackage; 988 989 990 /** 991 ****************************************************** 992 * AccessibleRelationSet packages 993 ****************************************************** 994 */ 995 996 #define MAX_RELATION_TARGETS 25 997 #define MAX_RELATIONS 5 998 999 typedef struct AccessibleRelationInfoTag { 1000 wchar_t key[SHORT_STRING_SIZE]; 1001 jint targetCount; 1002 JOBJECT64 targets[MAX_RELATION_TARGETS]; // AccessibleContexts 1003 } AccessibleRelationInfo; 1004 1005 typedef struct AccessibleRelationSetInfoTag { 1006 jint relationCount; 1007 AccessibleRelationInfo relations[MAX_RELATIONS]; 1008 } AccessibleRelationSetInfo; 1009 1010 typedef struct GetAccessibleRelationSetPackageTag { 1011 long vmID; 1012 JOBJECT64 accessibleContext; 1013 AccessibleRelationSetInfo rAccessibleRelationSetInfo; 1014 } GetAccessibleRelationSetPackage; 1015 1016 /** 1017 ****************************************************** 1018 * AccessibleHypertext packagess 1019 ****************************************************** 1020 */ 1021 1022 #define MAX_HYPERLINKS 64 // maximum number of hyperlinks returned 1023 1024 // hyperlink information 1025 typedef struct AccessibleHyperlinkInfoTag { 1026 wchar_t text[SHORT_STRING_SIZE]; // the hyperlink text 1027 jint startIndex; //index in the hypertext document where the link begins 1028 jint endIndex; //index in the hypertext document where the link ends 1029 JOBJECT64 accessibleHyperlink; // AccessibleHyperlink object 1030 } AccessibleHyperlinkInfo; 1031 1032 // hypertext information 1033 typedef struct AccessibleHypertextInfoTag { 1034 jint linkCount; // number of hyperlinks 1035 AccessibleHyperlinkInfo links[MAX_HYPERLINKS]; // the hyperlinks 1036 JOBJECT64 accessibleHypertext; // AccessibleHypertext object 1037 } AccessibleHypertextInfo; 1038 1039 // struct for sending a message to get the hypertext for an AccessibleContext 1040 typedef struct GetAccessibleHypertextPackageTag { 1041 long vmID; // the virtual machine ID 1042 JOBJECT64 accessibleContext; // AccessibleContext with hypertext 1043 AccessibleHypertextInfo rAccessibleHypertextInfo; // returned hypertext 1044 } GetAccessibleHypertextPackage; 1045 1046 // struct for sending an message to activate a hyperlink 1047 typedef struct ActivateAccessibleHyperlinkPackageTag { 1048 long vmID; // the virtual machine ID 1049 JOBJECT64 accessibleContext; // AccessibleContext containing the link 1050 JOBJECT64 accessibleHyperlink; // the link to activate 1051 BOOL rResult; // hyperlink activation return value 1052 } ActivateAccessibleHyperlinkPackage; 1053 1054 // struct for sending a message to get the number of hyperlinks in a component 1055 typedef struct GetAccessibleHyperlinkCountPackageTag { 1056 long vmID; // the virtual machine ID 1057 JOBJECT64 accessibleContext; // AccessibleContext containing AccessibleHypertext 1058 jint rLinkCount; // link count return value 1059 } GetAccessibleHyperlinkCountPackage; 1060 1061 // struct for sending a message to get the hypertext for an AccessibleContext 1062 // starting at a specified index in the document 1063 typedef struct GetAccessibleHypertextExtPackageTag { 1064 long vmID; // the virtual machine ID 1065 JOBJECT64 accessibleContext; // AccessibleContext with hypertext 1066 jint startIndex; // start index in document 1067 AccessibleHypertextInfo rAccessibleHypertextInfo; // returned hypertext 1068 BOOL rSuccess; // whether call succeeded 1069 } GetAccessibleHypertextExtPackage; 1070 1071 // struct for sending a message to get the nth hyperlink in a document; 1072 // maps to AccessibleHypertext.getLink 1073 typedef struct GetAccessibleHyperlinkPackageTag { 1074 long vmID; // the virtual machine ID 1075 JOBJECT64 hypertext; // AccessibleHypertext 1076 jint linkIndex; // hyperlink index 1077 AccessibleHyperlinkInfo rAccessibleHyperlinkInfo; // returned hyperlink 1078 } GetAccessibleHyperlinkPackage; 1079 1080 // struct for sending a message to get the index into an array 1081 // of hyperlinks that is associated with a character index in a 1082 // document; maps to AccessibleHypertext.getLinkIndex 1083 typedef struct GetAccessibleHypertextLinkIndexPackageTag { 1084 long vmID; // the virtual machine ID 1085 JOBJECT64 hypertext; // AccessibleHypertext 1086 jint charIndex; // character index in document 1087 jint rLinkIndex; // returned hyperlink index 1088 } GetAccessibleHypertextLinkIndexPackage; 1089 1090 /** 1091 ****************************************************** 1092 * Accessible Key Bindings packages 1093 ****************************************************** 1094 */ 1095 1096 #define MAX_KEY_BINDINGS 10 1097 1098 // keyboard character modifiers 1099 #define ACCESSIBLE_SHIFT_KEYSTROKE 1 1100 #define ACCESSIBLE_CONTROL_KEYSTROKE 2 1101 #define ACCESSIBLE_META_KEYSTROKE 4 1102 #define ACCESSIBLE_ALT_KEYSTROKE 8 1103 #define ACCESSIBLE_ALT_GRAPH_KEYSTROKE 16 1104 #define ACCESSIBLE_BUTTON1_KEYSTROKE 32 1105 #define ACCESSIBLE_BUTTON2_KEYSTROKE 64 1106 #define ACCESSIBLE_BUTTON3_KEYSTROKE 128 1107 #define ACCESSIBLE_FKEY_KEYSTROKE 256 // F key pressed, character contains 1-24 1108 #define ACCESSIBLE_CONTROLCODE_KEYSTROKE 512 // Control code key pressed, character contains control code. 1109 1110 // The supported control code keys are: 1111 #define ACCESSIBLE_VK_BACK_SPACE 8 1112 #define ACCESSIBLE_VK_DELETE 127 1113 #define ACCESSIBLE_VK_DOWN 40 1114 #define ACCESSIBLE_VK_END 35 1115 #define ACCESSIBLE_VK_HOME 36 1116 #define ACCESSIBLE_VK_INSERT 155 1117 #define ACCESSIBLE_VK_KP_DOWN 225 1118 #define ACCESSIBLE_VK_KP_LEFT 226 1119 #define ACCESSIBLE_VK_KP_RIGHT 227 1120 #define ACCESSIBLE_VK_KP_UP 224 1121 #define ACCESSIBLE_VK_LEFT 37 1122 #define ACCESSIBLE_VK_PAGE_DOWN 34 1123 #define ACCESSIBLE_VK_PAGE_UP 33 1124 #define ACCESSIBLE_VK_RIGHT 39 1125 #define ACCESSIBLE_VK_UP 38 1126 1127 // a key binding associates with a component 1128 typedef struct AccessibleKeyBindingInfoTag { 1129 jchar character; // the key character 1130 jint modifiers; // the key modifiers 1131 } AccessibleKeyBindingInfo; 1132 1133 // all of the key bindings associated with a component 1134 typedef struct AccessibleKeyBindingsTag { 1135 int keyBindingsCount; // number of key bindings 1136 AccessibleKeyBindingInfo keyBindingInfo[MAX_KEY_BINDINGS]; 1137 } AccessibleKeyBindings; 1138 1139 // struct to get the key bindings associated with a component 1140 typedef struct GetAccessibleKeyBindingsPackageTag { 1141 long vmID; // the virtual machine id 1142 JOBJECT64 accessibleContext; // the component 1143 AccessibleKeyBindings rAccessibleKeyBindings; // the key bindings 1144 } GetAccessibleKeyBindingsPackage; 1145 1146 /** 1147 ****************************************************** 1148 * AccessibleIcon packages 1149 ****************************************************** 1150 */ 1151 #define MAX_ICON_INFO 8 1152 1153 // an icon assocated with a component 1154 typedef struct AccessibleIconInfoTag { 1155 wchar_t description[SHORT_STRING_SIZE]; // icon description 1156 jint height; // icon height 1157 jint width; // icon width 1158 } AccessibleIconInfo; 1159 1160 // all of the icons associated with a component 1161 typedef struct AccessibleIconsTag { 1162 jint iconsCount; // number of icons 1163 AccessibleIconInfo iconInfo[MAX_ICON_INFO]; // the icons 1164 } AccessibleIcons; 1165 1166 // struct to get the icons associated with a component 1167 typedef struct GetAccessibleIconsPackageTag { 1168 long vmID; // the virtual machine id 1169 JOBJECT64 accessibleContext; // the component 1170 AccessibleIcons rAccessibleIcons; // the icons 1171 } GetAccessibleIconsPackage; 1172 1173 1174 /** 1175 ****************************************************** 1176 * AccessibleAction packages 1177 ****************************************************** 1178 */ 1179 #define MAX_ACTION_INFO 256 1180 #define MAX_ACTIONS_TO_DO 32 1181 1182 // an action assocated with a component 1183 typedef struct AccessibleActionInfoTag { 1184 wchar_t name[SHORT_STRING_SIZE]; // action name 1185 } AccessibleActionInfo; 1186 1187 // all of the actions associated with a component 1188 typedef struct AccessibleActionsTag { 1189 jint actionsCount; // number of actions 1190 AccessibleActionInfo actionInfo[MAX_ACTION_INFO]; // the action information 1191 } AccessibleActions; 1192 1193 // struct for requesting the actions associated with a component 1194 typedef struct GetAccessibleActionsPackageTag { 1195 long vmID; 1196 JOBJECT64 accessibleContext; // the component 1197 AccessibleActions rAccessibleActions; // the actions 1198 } GetAccessibleActionsPackage; 1199 1200 // list of AccessibleActions to do 1201 typedef struct AccessibleActionsToDoTag { 1202 jint actionsCount; // number of actions to do 1203 AccessibleActionInfo actions[MAX_ACTIONS_TO_DO];// the accessible actions to do 1204 } AccessibleActionsToDo; 1205 1206 // struct for sending an message to do one or more actions 1207 typedef struct DoAccessibleActionsPackageTag { 1208 long vmID; // the virtual machine ID 1209 JOBJECT64 accessibleContext; // component to do the action 1210 AccessibleActionsToDo actionsToDo; // the accessible actions to do 1211 BOOL rResult; // action return value 1212 jint failure; // index of action that failed if rResult is FALSE 1213 } DoAccessibleActionsPackage; 1214 1215 /** 1216 ****************************************************** 1217 * AccessibleText packages 1218 ****************************************************** 1219 */ 1220 1221 typedef struct GetAccessibleTextInfoPackageTag { 1222 long vmID; 1223 JOBJECT64 AccessibleContext; 1224 jint x; 1225 jint y; 1226 AccessibleTextInfo rTextInfo; 1227 } GetAccessibleTextInfoPackage; 1228 1229 typedef struct GetAccessibleTextItemsPackageTag { 1230 long vmID; 1231 JOBJECT64 AccessibleContext; 1232 jint index; 1233 AccessibleTextItemsInfo rTextItemsInfo; 1234 } GetAccessibleTextItemsPackage; 1235 1236 typedef struct GetAccessibleTextSelectionInfoPackageTag { 1237 long vmID; 1238 JOBJECT64 AccessibleContext; 1239 AccessibleTextSelectionInfo rTextSelectionItemsInfo; 1240 } GetAccessibleTextSelectionInfoPackage; 1241 1242 typedef struct GetAccessibleTextAttributeInfoPackageTag { 1243 long vmID; 1244 JOBJECT64 AccessibleContext; 1245 jint index; 1246 AccessibleTextAttributesInfo rAttributeInfo; 1247 } GetAccessibleTextAttributeInfoPackage; 1248 1249 typedef struct GetAccessibleTextRectInfoPackageTag { 1250 long vmID; 1251 JOBJECT64 AccessibleContext; 1252 jint index; 1253 AccessibleTextRectInfo rTextRectInfo; 1254 } GetAccessibleTextRectInfoPackage; 1255 1256 typedef struct GetCaretLocationPackageTag { 1257 long vmID; 1258 JOBJECT64 AccessibleContext; 1259 jint index; 1260 AccessibleTextRectInfo rTextRectInfo; 1261 } GetCaretLocationPackage; 1262 1263 typedef struct GetAccessibleTextLineBoundsPackageTag { 1264 long vmID; 1265 JOBJECT64 AccessibleContext; 1266 jint index; 1267 jint rLineStart; 1268 jint rLineEnd; 1269 } GetAccessibleTextLineBoundsPackage; 1270 1271 typedef struct GetAccessibleTextRangePackageTag { 1272 long vmID; 1273 JOBJECT64 AccessibleContext; 1274 jint start; 1275 jint end; 1276 wchar_t rText[MAX_BUFFER_SIZE]; 1277 } GetAccessibleTextRangePackage; 1278 1279 /** 1280 ****************************************************** 1281 * 1282 * Utility method packages 1283 ****************************************************** 1284 */ 1285 1286 typedef struct SetTextContentsPackageTag { 1287 long vmID; 1288 JOBJECT64 accessibleContext; // the text field 1289 wchar_t text[MAX_STRING_SIZE]; // the text 1290 BOOL rResult; 1291 } SetTextContentsPackage; 1292 1293 typedef struct GetParentWithRolePackageTag { 1294 long vmID; 1295 JOBJECT64 accessibleContext; 1296 wchar_t role[SHORT_STRING_SIZE]; // one of Accessible Roles above 1297 JOBJECT64 rAccessibleContext; 1298 } GetParentWithRolePackage; 1299 1300 typedef struct GetTopLevelObjectPackageTag { 1301 long vmID; 1302 JOBJECT64 accessibleContext; 1303 JOBJECT64 rAccessibleContext; 1304 } GetTopLevelObjectPackage; 1305 1306 typedef struct GetParentWithRoleElseRootPackageTag { 1307 long vmID; 1308 JOBJECT64 accessibleContext; 1309 wchar_t role[SHORT_STRING_SIZE]; // one of Accessible Roles above 1310 JOBJECT64 rAccessibleContext; 1311 } GetParentWithRoleElseRootPackage; 1312 1313 typedef struct GetObjectDepthPackageTag { 1314 long vmID; 1315 JOBJECT64 accessibleContext; 1316 jint rResult; 1317 } GetObjectDepthPackage; 1318 1319 typedef struct GetActiveDescendentPackageTag { 1320 long vmID; 1321 JOBJECT64 accessibleContext; 1322 JOBJECT64 rAccessibleContext; 1323 } GetActiveDescendentPackage; 1324 1325 /** 1326 ****************************************************** 1327 * AccessibleValue packages 1328 ****************************************************** 1329 */ 1330 1331 typedef struct GetCurrentAccessibleValueFromContextPackageTag { 1332 long vmID; 1333 JOBJECT64 AccessibleContext; 1334 wchar_t rValue[SHORT_STRING_SIZE]; 1335 } GetCurrentAccessibleValueFromContextPackage; 1336 1337 typedef struct GetMaximumAccessibleValueFromContextPackageTag { 1338 long vmID; 1339 JOBJECT64 AccessibleContext; 1340 wchar_t rValue[SHORT_STRING_SIZE]; 1341 } GetMaximumAccessibleValueFromContextPackage; 1342 1343 typedef struct GetMinimumAccessibleValueFromContextPackageTag { 1344 long vmID; 1345 JOBJECT64 AccessibleContext; 1346 wchar_t rValue[SHORT_STRING_SIZE]; 1347 } GetMinimumAccessibleValueFromContextPackage; 1348 1349 1350 /** 1351 ****************************************************** 1352 * AccessibleSelection packages 1353 ****************************************************** 1354 */ 1355 1356 typedef struct AddAccessibleSelectionFromContextPackageTag { 1357 long vmID; 1358 JOBJECT64 AccessibleContext; 1359 jint index; 1360 } AddAccessibleSelectionFromContextPackage; 1361 1362 typedef struct ClearAccessibleSelectionFromContextPackageTag { 1363 long vmID; 1364 JOBJECT64 AccessibleContext; 1365 } ClearAccessibleSelectionFromContextPackage; 1366 1367 typedef struct GetAccessibleSelectionFromContextPackageTag { 1368 long vmID; 1369 JOBJECT64 AccessibleContext; 1370 jint index; 1371 JOBJECT64 rAccessibleContext; 1372 } GetAccessibleSelectionFromContextPackage; 1373 1374 typedef struct GetAccessibleSelectionCountFromContextPackageTag { 1375 long vmID; 1376 JOBJECT64 AccessibleContext; 1377 jint rCount; 1378 } GetAccessibleSelectionCountFromContextPackage; 1379 1380 typedef struct IsAccessibleChildSelectedFromContextPackageTag { 1381 long vmID; 1382 JOBJECT64 AccessibleContext; 1383 jint index; 1384 jboolean rResult; 1385 } IsAccessibleChildSelectedFromContextPackage; 1386 1387 typedef struct RemoveAccessibleSelectionFromContextPackageTag { 1388 long vmID; 1389 JOBJECT64 AccessibleContext; 1390 jint index; 1391 } RemoveAccessibleSelectionFromContextPackage; 1392 1393 typedef struct SelectAllAccessibleSelectionFromContextPackageTag { 1394 long vmID; 1395 JOBJECT64 AccessibleContext; 1396 } SelectAllAccessibleSelectionFromContextPackage; 1397 1398 1399 /** 1400 ****************************************************** 1401 * Java Event Notification Registration packages 1402 ****************************************************** 1403 */ 1404 1405 typedef struct AddJavaEventNotificationPackageTag { 1406 jlong type; 1407 //HWND DLLwindow; 1408 ABHWND64 DLLwindow; 1409 } AddJavaEventNotificationPackage; 1410 1411 typedef struct RemoveJavaEventNotificationPackageTag { 1412 jlong type; 1413 //HWND DLLwindow; 1414 ABHWND64 DLLwindow; 1415 } RemoveJavaEventNotificationPackage; 1416 1417 1418 /** 1419 ****************************************************** 1420 * Accessibility Event Notification Registration packages 1421 ****************************************************** 1422 */ 1423 1424 typedef struct AddAccessibilityEventNotificationPackageTag { 1425 jlong type; 1426 //HWND DLLwindow; 1427 ABHWND64 DLLwindow; 1428 } AddAccessibilityEventNotificationPackage; 1429 1430 typedef struct RemoveAccessibilityEventNotificationPackageTag { 1431 jlong type; 1432 //HWND DLLwindow; 1433 ABHWND64 DLLwindow; 1434 } RemoveAccessibilityEventNotificationPackage; 1435 1436 1437 /** 1438 ****************************************************** 1439 * Accessibility Property Change Event packages 1440 ****************************************************** 1441 */ 1442 1443 typedef struct PropertyCaretChangePackageTag { 1444 long vmID; 1445 JOBJECT64 Event; 1446 JOBJECT64 AccessibleContextSource; 1447 jint oldPosition; 1448 jint newPosition; 1449 } PropertyCaretChangePackage; 1450 1451 typedef struct PropertyDescriptionChangePackageTag { 1452 long vmID; 1453 JOBJECT64 Event; 1454 JOBJECT64 AccessibleContextSource; 1455 wchar_t oldDescription[SHORT_STRING_SIZE]; 1456 wchar_t newDescription[SHORT_STRING_SIZE]; 1457 } PropertyDescriptionChangePackage; 1458 1459 typedef struct PropertyNameChangePackageTag { 1460 long vmID; 1461 JOBJECT64 Event; 1462 JOBJECT64 AccessibleContextSource; 1463 wchar_t oldName[SHORT_STRING_SIZE]; 1464 wchar_t newName[SHORT_STRING_SIZE]; 1465 } PropertyNameChangePackage; 1466 1467 typedef struct PropertySelectionChangePackageTag { 1468 long vmID; 1469 JOBJECT64 Event; 1470 JOBJECT64 AccessibleContextSource; 1471 } PropertySelectionChangePackage; 1472 1473 typedef struct PropertyStateChangePackageTag { 1474 long vmID; 1475 JOBJECT64 Event; 1476 JOBJECT64 AccessibleContextSource; 1477 wchar_t oldState[SHORT_STRING_SIZE]; 1478 wchar_t newState[SHORT_STRING_SIZE]; 1479 } PropertyStateChangePackage; 1480 1481 typedef struct PropertyTextChangePackageTag { 1482 long vmID; 1483 JOBJECT64 Event; 1484 JOBJECT64 AccessibleContextSource; 1485 } PropertyTextChangePackage; 1486 1487 typedef struct PropertyValueChangePackageTag { 1488 long vmID; 1489 JOBJECT64 Event; 1490 JOBJECT64 AccessibleContextSource; 1491 wchar_t oldValue[SHORT_STRING_SIZE]; 1492 wchar_t newValue[SHORT_STRING_SIZE]; 1493 } PropertyValueChangePackage; 1494 1495 typedef struct PropertyVisibleDataChangePackageTag { 1496 long vmID; 1497 JOBJECT64 Event; 1498 JOBJECT64 AccessibleContextSource; 1499 } PropertyVisibleDataChangePackage; 1500 1501 typedef struct PropertyChildChangePackageTag { 1502 long vmID; 1503 JOBJECT64 Event; 1504 JOBJECT64 AccessibleContextSource; 1505 JOBJECT64 oldChildAccessibleContext; 1506 JOBJECT64 newChildAccessibleContext; 1507 } PropertyChildChangePackage; 1508 1509 typedef struct PropertyActiveDescendentChangePackageTag { 1510 long vmID; 1511 JOBJECT64 Event; 1512 JOBJECT64 AccessibleContextSource; 1513 JOBJECT64 oldActiveDescendentAccessibleContext; 1514 JOBJECT64 newActiveDescendentAccessibleContext; 1515 } PropertyActiveDescendentChangePackage; 1516 1517 1518 // String format for newValue is: 1519 // "type" one of "INSERT", "UPDATE" or "DELETE" 1520 // "firstRow" 1521 // "lastRow" 1522 // "firstColumn" 1523 // "lastColumn" 1524 // 1525 // oldValue is currently unused 1526 // 1527 typedef struct PropertyTableModelChangePackageTag { 1528 long vmID; 1529 JOBJECT64 Event; 1530 JOBJECT64 AccessibleContextSource; 1531 wchar_t oldValue[SHORT_STRING_SIZE]; 1532 wchar_t newValue[SHORT_STRING_SIZE]; 1533 } PropertyTableModelChangePackage; 1534 1535 1536 /** 1537 ****************************************************** 1538 * Property Change Event packages 1539 ****************************************************** 1540 */ 1541 1542 /* 1543 typedef struct PropertyChangePackageTag { 1544 long vmID; 1545 jobject Event; 1546 jobject AccessibleContextSource; 1547 char propertyName[SHORT_STRING_SIZE]; 1548 char oldValue[SHORT_STRING_SIZE]; // PropertyChangeEvent().getOldValue().toString() 1549 char newValue[SHORT_STRING_SIZE]; // PropertyChangeEvent().getNewValue().toString() 1550 } PropertyChangePackage; 1551 */ 1552 1553 /* 1554 * Java shutdown event package 1555 */ 1556 typedef struct JavaShutdownPackageTag { 1557 long vmID; 1558 } JavaShutdownPackage; 1559 1560 1561 /** 1562 ****************************************************** 1563 * Focus Event packages 1564 ****************************************************** 1565 */ 1566 1567 typedef struct FocusGainedPackageTag { 1568 long vmID; 1569 JOBJECT64 Event; 1570 JOBJECT64 AccessibleContextSource; 1571 } FocusGainedPackage; 1572 1573 typedef struct FocusLostPackageTag { 1574 long vmID; 1575 JOBJECT64 Event; 1576 JOBJECT64 AccessibleContextSource; 1577 } FocusLostPackage; 1578 1579 1580 /** 1581 ****************************************************** 1582 * Caret Event packages 1583 ****************************************************** 1584 */ 1585 1586 typedef struct CaretUpdatePackageTag { 1587 long vmID; 1588 JOBJECT64 Event; 1589 JOBJECT64 AccessibleContextSource; 1590 } CaretUpdatePackage; 1591 1592 1593 /** 1594 ****************************************************** 1595 * Mouse Event packages 1596 ****************************************************** 1597 */ 1598 1599 typedef struct MouseClickedPackageTag { 1600 long vmID; 1601 JOBJECT64 Event; 1602 JOBJECT64 AccessibleContextSource; 1603 } MouseClickedPackage; 1604 1605 typedef struct MouseEnteredPackageTag { 1606 long vmID; 1607 JOBJECT64 Event; 1608 JOBJECT64 AccessibleContextSource; 1609 } MouseEnteredPackage; 1610 1611 typedef struct MouseExitedPackageTag { 1612 long vmID; 1613 JOBJECT64 Event; 1614 JOBJECT64 AccessibleContextSource; 1615 } MouseExitedPackage; 1616 1617 typedef struct MousePressedPackageTag { 1618 long vmID; 1619 JOBJECT64 Event; 1620 JOBJECT64 AccessibleContextSource; 1621 } MousePressedPackage; 1622 1623 typedef struct MouseReleasedPackageTag { 1624 long vmID; 1625 JOBJECT64 Event; 1626 JOBJECT64 AccessibleContextSource; 1627 } MouseReleasedPackage; 1628 1629 1630 /** 1631 ****************************************************** 1632 * Menu/PopupMenu Event packages 1633 ****************************************************** 1634 */ 1635 1636 typedef struct MenuCanceledPackageTag { 1637 long vmID; 1638 JOBJECT64 Event; 1639 JOBJECT64 AccessibleContextSource; 1640 } MenuCanceledPackage; 1641 1642 typedef struct MenuDeselectedPackageTag { 1643 long vmID; 1644 JOBJECT64 Event; 1645 JOBJECT64 AccessibleContextSource; 1646 } MenuDeselectedPackage; 1647 1648 typedef struct MenuSelectedPackageTag { 1649 long vmID; 1650 JOBJECT64 Event; 1651 JOBJECT64 AccessibleContextSource; 1652 } MenuSelectedPackage; 1653 1654 1655 typedef struct PopupMenuCanceledPackageTag { 1656 long vmID; 1657 JOBJECT64 Event; 1658 JOBJECT64 AccessibleContextSource; 1659 } PopupMenuCanceledPackage; 1660 1661 typedef struct PopupMenuWillBecomeInvisiblePackageTag { 1662 long vmID; 1663 JOBJECT64 Event; 1664 JOBJECT64 AccessibleContextSource; 1665 } PopupMenuWillBecomeInvisiblePackage; 1666 1667 typedef struct PopupMenuWillBecomeVisiblePackageTag { 1668 long vmID; 1669 JOBJECT64 Event; 1670 JOBJECT64 AccessibleContextSource; 1671 } PopupMenuWillBecomeVisiblePackage; 1672 1673 /** 1674 ****************************************************** 1675 * Additional methods for Teton 1676 ****************************************************** 1677 */ 1678 1679 /** 1680 * Gets the AccessibleName for a component based upon the JAWS algorithm. Returns 1681 * whether successful. 1682 * 1683 * Bug ID 4916682 - Implement JAWS AccessibleName policy 1684 */ 1685 typedef struct GetVirtualAccessibleNamePackageTag { 1686 long vmID; 1687 AccessibleContext accessibleContext; 1688 wchar_t rName[MAX_STRING_SIZE]; 1689 int len; 1690 } GetVirtualAccessibleNamePackage; 1691 1692 /** 1693 * Request focus for a component. Returns whether successful; 1694 * 1695 * Bug ID 4944757 - requestFocus method needed 1696 */ 1697 typedef struct RequestFocusPackageTag { 1698 long vmID; 1699 AccessibleContext accessibleContext; 1700 } RequestFocusPackage; 1701 1702 /** 1703 * Selects text between two indices. Selection includes the text at the start index 1704 * and the text at the end index. Returns whether successful; 1705 * 1706 * Bug ID 4944758 - selectTextRange method needed 1707 */ 1708 typedef struct SelectTextRangePackageTag { 1709 long vmID; 1710 AccessibleContext accessibleContext; 1711 jint startIndex; 1712 jint endIndex; 1713 } SelectTextRangePackage; 1714 1715 /** 1716 * Gets the number of contiguous characters with the same attributes. 1717 * 1718 * Bug ID 4944761 - getTextAttributes between two indices method needed 1719 */ 1720 typedef struct GetTextAttributesInRangePackageTag { 1721 long vmID; 1722 AccessibleContext accessibleContext; 1723 jint startIndex; // start index (inclusive) 1724 jint endIndex; // end index (inclusive) 1725 AccessibleTextAttributesInfo attributes; // character attributes to match 1726 short rLength; // number of contiguous characters with matching attributes 1727 } GetTextAttributesInRangePackage; 1728 1729 #define MAX_VISIBLE_CHILDREN 256 1730 1731 // visible children information 1732 typedef struct VisibleChildenInfoTag { 1733 int returnedChildrenCount; // number of children returned 1734 AccessibleContext children[MAX_VISIBLE_CHILDREN]; // the visible children 1735 } VisibleChildrenInfo; 1736 1737 // struct for sending a message to get the number of visible children 1738 typedef struct GetVisibleChildrenCountPackageTag { 1739 long vmID; // the virtual machine ID 1740 JOBJECT64 accessibleContext; // AccessibleContext of parent component 1741 jint rChildrenCount; // visible children count return value 1742 } GetVisibleChildrenCountPackage; 1743 1744 // struct for sending a message to get the hypertext for an AccessibleContext 1745 // starting at a specified index in the document 1746 typedef struct GetVisibleChildrenPackageTag { 1747 long vmID; // the virtual machine ID 1748 JOBJECT64 accessibleContext; // AccessibleContext of parent component 1749 jint startIndex; // start index for retrieving children 1750 VisibleChildrenInfo rVisibleChildrenInfo; // returned info 1751 BOOL rSuccess; // whether call succeeded 1752 } GetVisibleChildrenPackage; 1753 1754 /** 1755 * Set the caret to a text position. Returns whether successful; 1756 * 1757 * Bug ID 4944770 - setCaretPosition method needed 1758 */ 1759 typedef struct SetCaretPositionPackageTag { 1760 long vmID; 1761 AccessibleContext accessibleContext; 1762 jint position; 1763 } SetCaretPositionPackage; 1764 1765 1766 /** 1767 ****************************************************** 1768 * Wrapping up all of the packages 1769 ****************************************************** 1770 */ 1771 1772 /** 1773 * What is the type of this package 1774 */ 1775 typedef enum PackageType { 1776 1777 cMemoryMappedFileCreatedPackage = 0x11000, 1778 1779 // many of these will go away... 1780 cJavaVMCreatedPackage = 0x10000, 1781 cJavaVMDestroyedPackage, 1782 cWindowsATCreatedPackage, 1783 cWindowsATDestroyedPackage, 1784 cJavaVMPresentNotificationPackage, 1785 cWindowsATPresentNotificationPackage, 1786 1787 cReleaseJavaObjectPackage = 1, 1788 cGetAccessBridgeVersionPackage = 2, 1789 1790 cGetAccessibleContextFromHWNDPackage = 0x10, 1791 cIsJavaWindowPackage, 1792 cGetHWNDFromAccessibleContextPackage, 1793 1794 cGetAccessibleContextAtPackage = 0x100, 1795 cGetAccessibleContextWithFocusPackage, 1796 cGetAccessibleContextInfoPackage, 1797 cGetAccessibleChildFromContextPackage, 1798 cGetAccessibleParentFromContextPackage, 1799 cIsSameObjectPackage, 1800 1801 cGetAccessibleTextInfoPackage = 0x200, 1802 cGetAccessibleTextItemsPackage, 1803 cGetAccessibleTextSelectionInfoPackage, 1804 cGetAccessibleTextAttributeInfoPackage, 1805 cGetAccessibleTextRectInfoPackage, 1806 cGetAccessibleTextLineBoundsPackage, 1807 cGetAccessibleTextRangePackage, 1808 1809 cGetCurrentAccessibleValueFromContextPackage = 0x300, 1810 cGetMaximumAccessibleValueFromContextPackage, 1811 cGetMinimumAccessibleValueFromContextPackage, 1812 1813 cAddAccessibleSelectionFromContextPackage = 0x400, 1814 cClearAccessibleSelectionFromContextPackage, 1815 cGetAccessibleSelectionFromContextPackage, 1816 cGetAccessibleSelectionCountFromContextPackage, 1817 cIsAccessibleChildSelectedFromContextPackage, 1818 cRemoveAccessibleSelectionFromContextPackage, 1819 cSelectAllAccessibleSelectionFromContextPackage, 1820 1821 cAddJavaEventNotificationPackage = 0x900, 1822 cRemoveJavaEventNotificationPackage, 1823 cAddAccessibilityEventNotificationPackage, 1824 cRemoveAccessibilityEventNotificationPackage, 1825 1826 cPropertyChangePackage = 0x1000, 1827 1828 cJavaShutdownPackage = 0x1010, 1829 cFocusGainedPackage, 1830 cFocusLostPackage, 1831 1832 cCaretUpdatePackage = 0x1020, 1833 1834 cMouseClickedPackage = 0x1030, 1835 cMouseEnteredPackage, 1836 cMouseExitedPackage, 1837 cMousePressedPackage, 1838 cMouseReleasedPackage, 1839 1840 cMenuCanceledPackage = 0x1040, 1841 cMenuDeselectedPackage, 1842 cMenuSelectedPackage, 1843 cPopupMenuCanceledPackage, 1844 cPopupMenuWillBecomeInvisiblePackage, 1845 cPopupMenuWillBecomeVisiblePackage, 1846 1847 cPropertyCaretChangePackage = 0x1100, 1848 cPropertyDescriptionChangePackage, 1849 cPropertyNameChangePackage, 1850 cPropertySelectionChangePackage, 1851 cPropertyStateChangePackage, 1852 cPropertyTextChangePackage, 1853 cPropertyValueChangePackage, 1854 cPropertyVisibleDataChangePackage, 1855 cPropertyChildChangePackage, 1856 cPropertyActiveDescendentChangePackage, 1857 1858 1859 // AccessibleTable 1860 cGetAccessibleTableInfoPackage = 0x1200, 1861 cGetAccessibleTableCellInfoPackage, 1862 1863 cGetAccessibleTableRowHeaderPackage, 1864 cGetAccessibleTableColumnHeaderPackage, 1865 1866 cGetAccessibleTableRowDescriptionPackage, 1867 cGetAccessibleTableColumnDescriptionPackage, 1868 1869 cGetAccessibleTableRowSelectionCountPackage, 1870 cIsAccessibleTableRowSelectedPackage, 1871 cGetAccessibleTableRowSelectionsPackage, 1872 1873 cGetAccessibleTableColumnSelectionCountPackage, 1874 cIsAccessibleTableColumnSelectedPackage, 1875 cGetAccessibleTableColumnSelectionsPackage, 1876 1877 cGetAccessibleTableRowPackage, 1878 cGetAccessibleTableColumnPackage, 1879 cGetAccessibleTableIndexPackage, 1880 1881 cPropertyTableModelChangePackage, 1882 1883 1884 // AccessibleRelationSet 1885 cGetAccessibleRelationSetPackage = 0x1300, 1886 1887 // AccessibleHypertext 1888 cGetAccessibleHypertextPackage = 0x1400, 1889 cActivateAccessibleHyperlinkPackage, 1890 cGetAccessibleHyperlinkCountPackage, 1891 cGetAccessibleHypertextExtPackage, 1892 cGetAccessibleHypertextLinkIndexPackage, 1893 cGetAccessibleHyperlinkPackage, 1894 1895 // Accessible KeyBinding, Icon and Action 1896 cGetAccessibleKeyBindingsPackage = 0x1500, 1897 cGetAccessibleIconsPackage, 1898 cGetAccessibleActionsPackage, 1899 cDoAccessibleActionsPackage, 1900 1901 // Utility methods 1902 cSetTextContentsPackage = 0x1600, 1903 cGetParentWithRolePackage, 1904 cGetTopLevelObjectPackage, 1905 cGetParentWithRoleElseRootPackage, 1906 cGetObjectDepthPackage, 1907 cGetActiveDescendentPackage, 1908 1909 // Additional methods for Teton 1910 cGetVirtualAccessibleNamePackage = 0x1700, 1911 cRequestFocusPackage, 1912 cSelectTextRangePackage, 1913 cGetTextAttributesInRangePackage, 1914 cGetSameTextAttributesInRangePackage, 1915 cGetVisibleChildrenCountPackage, 1916 cGetVisibleChildrenPackage, 1917 cSetCaretPositionPackage, 1918 cGetCaretLocationPackage 1919 1920 1921 } PackageType; 1922 1923 1924 /** 1925 * Union of all package contents 1926 */ 1927 typedef union AllPackagesTag { 1928 1929 // Initial Rendezvous packages 1930 MemoryMappedFileCreatedPackage memoryMappedFileCreatedPackage; 1931 1932 JavaVMCreatedPackage javaVMCreatedPackage; 1933 JavaVMDestroyedPackage javaVMDestroyedPackage; 1934 WindowsATCreatedPackage windowsATCreatedPackage; 1935 WindowsATDestroyedPackage windowsATDestroyedPackage; 1936 JavaVMPresentNotificationPackage javaVMPresentNotificationPackage; 1937 WindowsATPresentNotificationPackage windowsATPresentNotificationPackage; 1938 1939 // Core packages 1940 ReleaseJavaObjectPackage releaseJavaObject; 1941 GetAccessBridgeVersionPackage getAccessBridgeVersion; 1942 1943 // Window packages 1944 GetAccessibleContextFromHWNDPackage getAccessibleContextFromHWND; 1945 GetHWNDFromAccessibleContextPackage getHWNDFromAccessibleContext; 1946 1947 // AccessibleContext packages 1948 GetAccessibleContextAtPackage getAccessibleContextAt; 1949 GetAccessibleContextWithFocusPackage getAccessibleContextWithFocus; 1950 GetAccessibleContextInfoPackage getAccessibleContextInfo; 1951 GetAccessibleChildFromContextPackage getAccessibleChildFromContext; 1952 GetAccessibleParentFromContextPackage getAccessibleParentFromContext; 1953 1954 // AccessibleText packages 1955 GetAccessibleTextInfoPackage getAccessibleTextInfo; 1956 GetAccessibleTextItemsPackage getAccessibleTextItems; 1957 GetAccessibleTextSelectionInfoPackage getAccessibleTextSelectionInfo; 1958 GetAccessibleTextAttributeInfoPackage getAccessibleTextAttributeInfo; 1959 GetAccessibleTextRectInfoPackage getAccessibleTextRectInfo; 1960 GetAccessibleTextLineBoundsPackage getAccessibleTextLineBounds; 1961 GetAccessibleTextRangePackage getAccessibleTextRange; 1962 1963 // AccessibleValue packages 1964 GetCurrentAccessibleValueFromContextPackage getCurrentAccessibleValueFromContext; 1965 GetMaximumAccessibleValueFromContextPackage getMaximumAccessibleValueFromContext; 1966 GetMinimumAccessibleValueFromContextPackage getMinimumAccessibleValueFromContext; 1967 1968 // AccessibleSelection packages 1969 AddAccessibleSelectionFromContextPackage addAccessibleSelectionFromContext; 1970 ClearAccessibleSelectionFromContextPackage clearAccessibleSelectionFromContext; 1971 GetAccessibleSelectionFromContextPackage getAccessibleSelectionFromContext; 1972 GetAccessibleSelectionCountFromContextPackage getAccessibleSelectionCountFromContext; 1973 IsAccessibleChildSelectedFromContextPackage isAccessibleChildSelectedFromContext; 1974 RemoveAccessibleSelectionFromContextPackage removeAccessibleSelectionFromContext; 1975 SelectAllAccessibleSelectionFromContextPackage selectAllAccessibleSelectionFromContext; 1976 1977 // Event Notification Registration packages 1978 AddJavaEventNotificationPackage addJavaEventNotification; 1979 RemoveJavaEventNotificationPackage removeJavaEventNotification; 1980 AddAccessibilityEventNotificationPackage addAccessibilityEventNotification; 1981 RemoveAccessibilityEventNotificationPackage removeAccessibilityEventNotification; 1982 1983 // Event contents packages 1984 // PropertyChangePackage propertyChange; 1985 PropertyCaretChangePackage propertyCaretChangePackage; 1986 PropertyDescriptionChangePackage propertyDescriptionChangePackage; 1987 PropertyNameChangePackage propertyNameChangePackage; 1988 PropertySelectionChangePackage propertySelectionChangePackage; 1989 PropertyStateChangePackage propertyStateChangePackage; 1990 PropertyTextChangePackage propertyTextChangePackage; 1991 PropertyValueChangePackage propertyValueChangePackage; 1992 PropertyVisibleDataChangePackage propertyVisibleDataChangePackage; 1993 PropertyChildChangePackage propertyChildChangePackage; 1994 PropertyActiveDescendentChangePackage propertyActiveDescendentChangePackage; 1995 1996 PropertyTableModelChangePackage propertyTableModelChangePackage; 1997 1998 JavaShutdownPackage JavaShutdown; 1999 FocusGainedPackage focusGained; 2000 FocusLostPackage focusLost; 2001 2002 CaretUpdatePackage caretUpdate; 2003 2004 MouseClickedPackage mouseClicked; 2005 MouseEnteredPackage mouseEntered; 2006 MouseExitedPackage mouseExited; 2007 MousePressedPackage mousePressed; 2008 MouseReleasedPackage mouseReleased; 2009 2010 MenuCanceledPackage menuCanceled; 2011 MenuDeselectedPackage menuDeselected; 2012 MenuSelectedPackage menuSelected; 2013 PopupMenuCanceledPackage popupMenuCanceled; 2014 PopupMenuWillBecomeInvisiblePackage popupMenuWillBecomeInvisible; 2015 PopupMenuWillBecomeVisiblePackage popupMenuWillBecomeVisible; 2016 2017 // AccessibleRelationSet 2018 GetAccessibleRelationSetPackage getAccessibleRelationSet; 2019 2020 // AccessibleHypertext 2021 GetAccessibleHypertextPackage _getAccessibleHypertext; 2022 ActivateAccessibleHyperlinkPackage _activateAccessibleHyperlink; 2023 GetAccessibleHyperlinkCountPackage _getAccessibleHyperlinkCount; 2024 GetAccessibleHypertextExtPackage _getAccessibleHypertextExt; 2025 GetAccessibleHypertextLinkIndexPackage _getAccessibleHypertextLinkIndex; 2026 GetAccessibleHyperlinkPackage _getAccessibleHyperlink; 2027 2028 // Accessible KeyBinding, Icon and Action 2029 GetAccessibleKeyBindingsPackage getAccessibleKeyBindings; 2030 GetAccessibleIconsPackage getAccessibleIcons; 2031 GetAccessibleActionsPackage getAccessibleActions; 2032 DoAccessibleActionsPackage doAccessibleActions; 2033 2034 // utility methods 2035 SetTextContentsPackage _setTextContents; 2036 GetParentWithRolePackage _getParentWithRole; 2037 GetTopLevelObjectPackage _getTopLevelObject; 2038 GetParentWithRoleElseRootPackage _getParentWithRoleElseRoot; 2039 GetObjectDepthPackage _getObjectDepth; 2040 GetActiveDescendentPackage _getActiveDescendent; 2041 2042 // Additional methods for Teton 2043 GetVirtualAccessibleNamePackage _getVirtualAccessibleName; 2044 RequestFocusPackage _requestFocus; 2045 SelectTextRangePackage _selectTextRange; 2046 GetTextAttributesInRangePackage _getTextAttributesInRange; 2047 GetVisibleChildrenCountPackage _getVisibleChildrenCount; 2048 GetVisibleChildrenPackage _getVisibleChildren; 2049 SetCaretPositionPackage _setCaretPosition; 2050 2051 } AllPackages; 2052 2053 2054 /** 2055 * Union of all Java-initiated package contents 2056 */ 2057 typedef union JavaInitiatedPackagesTag { 2058 2059 // Initial Rendezvous packages 2060 JavaVMCreatedPackage javaVMCreatedPackage; 2061 JavaVMDestroyedPackage javaVMDestroyedPackage; 2062 JavaVMPresentNotificationPackage javaVMPresentNotificationPackage; 2063 2064 // Event contents packages 2065 PropertyCaretChangePackage propertyCaretChangePackage; 2066 PropertyDescriptionChangePackage propertyDescriptionChangePackage; 2067 PropertyNameChangePackage propertyNameChangePackage; 2068 PropertySelectionChangePackage propertySelectionChangePackage; 2069 PropertyStateChangePackage propertyStateChangePackage; 2070 PropertyTextChangePackage propertyTextChangePackage; 2071 PropertyValueChangePackage propertyValueChangePackage; 2072 PropertyVisibleDataChangePackage propertyVisibleDataChangePackage; 2073 PropertyChildChangePackage propertyChildChangePackage; 2074 PropertyActiveDescendentChangePackage propertyActiveDescendentChangePackage; 2075 2076 PropertyTableModelChangePackage propertyTableModelChangePackage; 2077 2078 JavaShutdownPackage JavaShutdown; 2079 FocusGainedPackage focusGained; 2080 FocusLostPackage focusLost; 2081 2082 CaretUpdatePackage caretUpdate; 2083 2084 MouseClickedPackage mouseClicked; 2085 MouseEnteredPackage mouseEntered; 2086 MouseExitedPackage mouseExited; 2087 MousePressedPackage mousePressed; 2088 MouseReleasedPackage mouseReleased; 2089 2090 MenuCanceledPackage menuCanceled; 2091 MenuDeselectedPackage menuDeselected; 2092 MenuSelectedPackage menuSelected; 2093 PopupMenuCanceledPackage popupMenuCanceled; 2094 PopupMenuWillBecomeInvisiblePackage popupMenuWillBecomeInvisible; 2095 PopupMenuWillBecomeVisiblePackage popupMenuWillBecomeVisible; 2096 2097 } JavaInitiatedPackages; 2098 2099 2100 /** 2101 * Union of all Windows-initiated package contents 2102 */ 2103 typedef union WindowsInitiatedPackagesTag { 2104 2105 // Initial Rendezvous packages 2106 MemoryMappedFileCreatedPackage memoryMappedFileCreatedPackage; 2107 2108 WindowsATCreatedPackage windowsATCreatedPackage; 2109 WindowsATDestroyedPackage windowsATDestroyedPackage; 2110 WindowsATPresentNotificationPackage windowsATPresentNotificationPackage; 2111 2112 // Core packages 2113 ReleaseJavaObjectPackage releaseJavaObject; 2114 GetAccessBridgeVersionPackage getAccessBridgeVersion; 2115 2116 // Window packages 2117 GetAccessibleContextFromHWNDPackage getAccessibleContextFromHWND; 2118 GetHWNDFromAccessibleContextPackage getHWNDFromAccessibleContext; 2119 2120 // AccessibleContext packages 2121 GetAccessibleContextAtPackage getAccessibleContextAt; 2122 GetAccessibleContextWithFocusPackage getAccessibleContextWithFocus; 2123 GetAccessibleContextInfoPackage getAccessibleContextInfo; 2124 GetAccessibleChildFromContextPackage getAccessibleChildFromContext; 2125 GetAccessibleParentFromContextPackage getAccessibleParentFromContext; 2126 2127 // AccessibleText packages 2128 GetAccessibleTextInfoPackage getAccessibleTextInfo; 2129 GetAccessibleTextItemsPackage getAccessibleTextItems; 2130 GetAccessibleTextSelectionInfoPackage getAccessibleTextSelectionInfo; 2131 GetAccessibleTextAttributeInfoPackage getAccessibleTextAttributeInfo; 2132 GetAccessibleTextRectInfoPackage getAccessibleTextRectInfo; 2133 GetAccessibleTextLineBoundsPackage getAccessibleTextLineBounds; 2134 GetAccessibleTextRangePackage getAccessibleTextRange; 2135 2136 // AccessibleValue packages 2137 GetCurrentAccessibleValueFromContextPackage getCurrentAccessibleValueFromContext; 2138 GetMaximumAccessibleValueFromContextPackage getMaximumAccessibleValueFromContext; 2139 GetMinimumAccessibleValueFromContextPackage getMinimumAccessibleValueFromContext; 2140 2141 // AccessibleSelection packages 2142 AddAccessibleSelectionFromContextPackage addAccessibleSelectionFromContext; 2143 ClearAccessibleSelectionFromContextPackage clearAccessibleSelectionFromContext; 2144 GetAccessibleSelectionFromContextPackage getAccessibleSelectionFromContext; 2145 GetAccessibleSelectionCountFromContextPackage getAccessibleSelectionCountFromContext; 2146 IsAccessibleChildSelectedFromContextPackage isAccessibleChildSelectedFromContext; 2147 RemoveAccessibleSelectionFromContextPackage removeAccessibleSelectionFromContext; 2148 SelectAllAccessibleSelectionFromContextPackage selectAllAccessibleSelectionFromContext; 2149 2150 // Event Notification Registration packages 2151 AddJavaEventNotificationPackage addJavaEventNotification; 2152 RemoveJavaEventNotificationPackage removeJavaEventNotification; 2153 AddAccessibilityEventNotificationPackage addAccessibilityEventNotification; 2154 RemoveAccessibilityEventNotificationPackage removeAccessibilityEventNotification; 2155 2156 // AccessibleTable 2157 GetAccessibleTableInfoPackage _getAccessibleTableInfo; 2158 GetAccessibleTableCellInfoPackage _getAccessibleTableCellInfo; 2159 2160 GetAccessibleTableRowHeaderPackage _getAccessibleTableRowHeader; 2161 GetAccessibleTableColumnHeaderPackage _getAccessibleTableColumnHeader; 2162 2163 GetAccessibleTableRowDescriptionPackage _getAccessibleTableRowDescription; 2164 GetAccessibleTableColumnDescriptionPackage _getAccessibleTableColumnDescription; 2165 2166 GetAccessibleTableRowSelectionCountPackage _getAccessibleTableRowSelectionCount; 2167 IsAccessibleTableRowSelectedPackage _isAccessibleTableRowSelected; 2168 GetAccessibleTableRowSelectionsPackage _getAccessibleTableRowSelections; 2169 2170 GetAccessibleTableColumnSelectionCountPackage _getAccessibleTableColumnSelectionCount; 2171 IsAccessibleTableColumnSelectedPackage _isAccessibleTableColumnSelected; 2172 GetAccessibleTableColumnSelectionsPackage _getAccessibleTableColumnSelections; 2173 2174 GetAccessibleTableRowPackage _getAccessibleTableRow; 2175 GetAccessibleTableColumnPackage _getAccessibleTableColumn; 2176 GetAccessibleTableIndexPackage _getAccessibleTableIndex; 2177 2178 // AccessibleRelationSet 2179 GetAccessibleRelationSetPackage _getAccessibleRelationSet; 2180 2181 // Accessible KeyBindings, Icons and Actions 2182 GetAccessibleKeyBindingsPackage _getAccessibleKeyBindings; 2183 GetAccessibleIconsPackage _getAccessibleIcons; 2184 GetAccessibleActionsPackage _getAccessibleActions; 2185 DoAccessibleActionsPackage _doAccessibleActions; 2186 2187 2188 IsSameObjectPackage _isSameObject; 2189 2190 // utility methods 2191 SetTextContentsPackage _setTextContents; 2192 GetParentWithRolePackage _getParentWithRole; 2193 GetTopLevelObjectPackage _getTopLevelObject; 2194 GetParentWithRoleElseRootPackage _getParentWithRoleElseRoot; 2195 GetObjectDepthPackage _getObjectDepth; 2196 GetActiveDescendentPackage _getActiveDescendent; 2197 2198 // Additional methods for Teton 2199 GetVirtualAccessibleNamePackage _getVirtualAccessibleName; 2200 RequestFocusPackage _requestFocus; 2201 SelectTextRangePackage _selectTextRange; 2202 GetTextAttributesInRangePackage _getTextAttributesInRange; 2203 GetVisibleChildrenCountPackage _getVisibleChildrenCount; 2204 GetVisibleChildrenPackage _getVisibleChildren; 2205 SetCaretPositionPackage _setCaretPosition; 2206 2207 2208 } WindowsInitiatedPackages; 2209 2210 2211 #ifdef __cplusplus 2212 } 2213 #endif 2214 2215 #endif