AccessBridgePackages.h 75 KB

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