Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Side by Side Diff: iaccessible_hack2.h

Issue 1183633003: cross gn Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: slightly smaller diff Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 #ifndef LOLLOLLOL
2 #define LOLLOLLOL
3 #include <atlbase.h>
4 #include <UIAutomationCore.h>
5
6 typedef int AccessibleStates;
7 class IA2Locale;
8 class IA2TableModelChange;
9
10 struct IA2TextSegment {
11 BSTR text;
12 long start, end;
13 };
14
15 extern __declspec(selectany) const IID IID_IAccessibleText = {};
16 extern __declspec(selectany) const IID IID_IAccessible2 = {};
17 extern __declspec(selectany) const IID IID_IAccessible2_2 = {};
18 extern __declspec(selectany) const IID LIBID_IAccessible2Lib = {};
19 extern __declspec(selectany) const IID IID_IAccessibleAction = {};
20 extern __declspec(selectany) const IID IID_IAccessibleApplication = {};
21 extern __declspec(selectany) const IID IID_IAccessibleHyperlink = {};
22 extern __declspec(selectany) const IID IID_IAccessibleHypertext = {};
23 extern __declspec(selectany) const IID IID_IAccessibleImage = {};
24 extern __declspec(selectany) const IID IID_IAccessibleTable = {};
25 extern __declspec(selectany) const IID IID_IAccessibleTable2 = {};
26 extern __declspec(selectany) const IID IID_IAccessibleTableCell = {};
27 extern __declspec(selectany) const IID IID_IAccessibleValue = {};
28 extern __declspec(selectany) const IID IID_ISimpleDOMDocument = {};
29 extern __declspec(selectany) const IID IID_ISimpleDOMNode = {};
30 extern __declspec(selectany) const IID IID_ISimpleDOMText = {};
31
32
33 enum IA2TextBoundaryType {
34 IA2_TEXT_BOUNDARY_ALL,
35 IA2_TEXT_BOUNDARY_CHAR,
36 IA2_TEXT_BOUNDARY_LINE,
37 IA2_TEXT_BOUNDARY_PARAGRAPH,
38 IA2_TEXT_BOUNDARY_SENTENCE,
39 IA2_TEXT_BOUNDARY_WORD,
40 };
41
42 enum IA2ScrollType {
43 IA2_SCROLL_TYPE_TOP_LEFT,
44 IA2_SCROLL_TYPE_BOTTOM_RIGHT,
45 IA2_SCROLL_TYPE_TOP_EDGE,
46 IA2_SCROLL_TYPE_BOTTOM_EDGE,
47 IA2_SCROLL_TYPE_LEFT_EDGE,
48 IA2_SCROLL_TYPE_RIGHT_EDGE,
49 IA2_SCROLL_TYPE_ANYWHERE,
50 };
51 enum IA2States {
52
53 /** Indicates a window is currently the active window, or is an active subelemen t
54 within a container or table.
55
56 This state can be used to indicate the current active item in a container, even
57 if the container itself is not currently active. In other words this would ind icate
58 the item that will get focus if you tab to the container.
59
60 This information is important for knowing what to report for trees and potentia lly
61 other containers in a virtual buffer.
62
63 Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
64 */
65 IA2_STATE_ACTIVE = 0x1,
66
67 /** Indicates that the object is armed.
68
69 Used to indicate that the control is "pressed" and will be invoked when the
70 actuator, e.g. a mouse button, is "released". An AT which either monitors the
71 mouse or synthesizes mouse events might need to know that, and possibly a talk ing
72 interface would even let the user know about it. It could also potentially be
73 useful to on screen keyboards or test tools since the information does indicat e
74 something about the state of the interface, for example, code operating asynch ronously
75 might need to wait for the armed state to change before doing something else.
76
77 */
78 IA2_STATE_ARMED = 0x2,
79
80 /** Indicates the user interface object corresponding to this object no longer e xists. */
81 IA2_STATE_DEFUNCT = 0x4,
82
83 /** An object with this state has a caret and implements the IAccessibleText int erface.
84
85 Such fields may be read-only, so STATE_SYSTEM_READONLY is valid in combination
86 with IA2_STATE_EDITABLE.
87
88 */
89 IA2_STATE_EDITABLE = 0x8,
90
91 /** Indicates the orientation of this object is horizontal. */
92 IA2_STATE_HORIZONTAL = 0x10,
93
94 /** Indicates this object is minimized and is represented only by an icon. */
95 IA2_STATE_ICONIFIED = 0x20,
96
97 /** Indicates an input validation failure. */
98 IA2_STATE_INVALID_ENTRY = 0x40,
99
100 /** Indicates that this object manages its children.
101
102 Note: Due to the fact that MSAA's WinEvents don't allow the active child index
103 to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages
104 descendants scheme can't be used. Instead the active child object has to fi re
105 MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be
106 added to provide for event specific data to be passed with the event. At that
107 time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
108 IA2_STATE_MANAGES_DESCENDANTS state would be useful.
109 */
110 IA2_STATE_MANAGES_DESCENDANTS = 0x80,
111
112 /** Indicates that an object is modal.
113
114 Modal objects have the behavior that something must be done with the object
115 before the user can interact with an object in a different window.
116 */
117 IA2_STATE_MODAL = 0x100,
118
119 /** Indicates this text object can contain multiple lines of text. */
120 IA2_STATE_MULTI_LINE = 0x200,
121
122 /** Indicates this object paints every pixel within its rectangular region. */
123 IA2_STATE_OPAQUE = 0x400,
124
125 /** Indicates that user interaction is required.
126
127 An example of when this state is used is when a field in a form must be filled
128 before a form can be processed.
129 */
130 IA2_STATE_REQUIRED = 0x800,
131
132 /** Indicates an object which supports text selection.
133
134 Note: This is different than MSAA STATE_SYSTEM_SELECTABLE.
135 */
136 IA2_STATE_SELECTABLE_TEXT = 0x1000,
137
138 /** Indicates that this text object can contain only a single line of text. */
139 IA2_STATE_SINGLE_LINE = 0x2000,
140
141 /** Indicates that the accessible object is stale.
142
143 This state is used when the accessible object no longer accurately
144 represents the state of the object which it is representing such as when an
145 object is transient or when an object has been or is in the process of being
146 destroyed or when the object's index in its parent has changed.
147 */
148 IA2_STATE_STALE = 0x4000,
149
150 /** Indicates that the object implements autocompletion.
151
152 This state indicates that a text control will respond to the input of
153 one ore more characters and cause a sub-item to become selected. The
154 selection may also result in events fired on the parent object.
155 */
156 IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000,
157
158 /** Indicates this object is transient.
159
160 An object has this state when its parent object has the state ::IA2_STATE_MANAG ES_DESCENDANTS.
161 For example, a list item object may be managed by its parent list object and ma y only
162 exist as long as the object is actually rendered. Similarly a table cell's acc essible
163 object may exist only while the cell has focus. However, from the perspective of an
164 assistive technology a transient object behaves like a non-transient object. A s a
165 result it is likely that this state is not of use to an assistive technology, b ut it
166 is provided in case an assistive technology determines that knowledge of the tr ansient
167 nature of the object is useful and also for harmony with the Linux accessibilit y API.
168
169 Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
170 */
171 IA2_STATE_TRANSIENT = 0x10000,
172
173 /** Indicates the orientation of this object is vertical. */
174 IA2_STATE_VERTICAL = 0x20000,
175
176 /** Indicates this object is checkable.
177
178 The standard checkable objects are check boxes, radio buttons, check box menu
179 items, radio menu items, and toggle buttons. Since assistive technology will
180 determine that these objects are checkable via the object's role the checkable
181 state is not required. However, this state is necessary in those cases where
182 an object has a role which is not one of the previously mentioned roles. An
183 example is a table cell which indicates whether or not an email has an attachme nt,
184 whether or not an mail is considered spam, and whether or not an email has been read.
185 */
186 IA2_STATE_CHECKABLE = 0x40000,
187
188 /** Indicates this object is pinned.
189
190 This state indicates that an object is fixed at a certain location. One exampl e
191 is a browser tab that when pinned cannot be moved until unpinned. Another exam ple
192 is a movable or floating object that when pinned remains in its pinned location
193 until being unpinned.
194 */
195 IA2_STATE_PINNED = 0x80000
196
197 };
198 enum IA2Role {
199
200 /** Unknown role. The object contains some Accessible information, but its
201 role is not known.
202 */
203 IA2_ROLE_UNKNOWN = 0,
204
205 /** An object that can be drawn into and to manage events from the objects
206 drawn into it. Also refer to ::IA2_ROLE_FRAME,
207 ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE.
208 */
209 IA2_ROLE_CANVAS = 0x401,
210
211 /// A caption describing another object.
212 IA2_ROLE_CAPTION,
213
214 /// Used for check buttons that are menu items.
215 IA2_ROLE_CHECK_MENU_ITEM,
216
217 /// A specialized dialog that lets the user choose a color.
218 IA2_ROLE_COLOR_CHOOSER,
219
220 /// A date editor.
221 IA2_ROLE_DATE_EDITOR,
222
223 /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE.
224 Also refer to ::IA2_ROLE_INTERNAL_FRAME.
225 */
226 IA2_ROLE_DESKTOP_ICON,
227
228 /** A desktop pane. A pane that supports internal frames and iconified
229 versions of those internal frames. Also refer to ::IA2_ROLE_INTERNAL_FRAME.
230 */
231 IA2_ROLE_DESKTOP_PANE,
232
233 /** A directory pane. A pane that allows the user to navigate through
234 and select the contents of a directory. May be used by a file chooser.
235 Also refer to ::IA2_ROLE_FILE_CHOOSER.
236 */
237 IA2_ROLE_DIRECTORY_PANE,
238
239 /** An editable text object in a toolbar. <b>Deprecated.</b>
240 The edit bar role was meant for a text area in a tool bar. However, to detect
241 a text area in a tool bar the AT can query the parent.
242 */
243 IA2_ROLE_EDITBAR,
244
245 /// Embedded (OLE) object.
246 IA2_ROLE_EMBEDDED_OBJECT,
247
248 /// Text that is used as an endnote (footnote at the end of a chapter or secti on).
249 IA2_ROLE_ENDNOTE,
250
251 /** A file chooser. A specialized dialog that displays the files in the
252 directory and lets the user select a file, browse a different directory,
253 or specify a filename. May use the directory pane to show the contents of
254 a directory.
255 Also refer to ::IA2_ROLE_DIRECTORY_PANE.
256 */
257 IA2_ROLE_FILE_CHOOSER,
258
259 /** A font chooser. A font chooser is a component that lets the user pick
260 various attributes for fonts.
261 */
262 IA2_ROLE_FONT_CHOOSER,
263
264 /** Footer of a document page.
265 Also refer to ::IA2_ROLE_HEADER.
266 */
267 IA2_ROLE_FOOTER,
268
269 /// Text that is used as a footnote. Also refer to ::IA2_ROLE_ENDNOTE.
270 IA2_ROLE_FOOTNOTE,
271
272 /** A container of form controls. An example of the use of this role is to
273 represent an HTML FORM tag.
274 */
275 IA2_ROLE_FORM,
276
277 /** Frame role. A top level window with a title bar, border, menu bar, etc.
278 It is often used as the primary window for an application. Also refer to
279 ::IA2_ROLE_CANVAS and the MSAA roles of dialog and window.
280 */
281 IA2_ROLE_FRAME,
282
283 /** A glass pane. A pane that is guaranteed to be painted on top of all panes
284 beneath it. Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_INTERNAL_FRAME, and
285 ::IA2_ROLE_ROOT_PANE.
286 */
287 IA2_ROLE_GLASS_PANE,
288
289 /** Header of a document page.
290 Also refer to ::IA2_ROLE_FOOTER.
291 */
292 IA2_ROLE_HEADER,
293
294 /// Heading. Use the IAccessible2::attributes level attribute to determine th e heading level.
295 IA2_ROLE_HEADING,
296
297 /// A small fixed size picture, typically used to decorate components.
298 IA2_ROLE_ICON,
299
300 /** An image map object. Usually a graphic with multiple hotspots, where
301 each hotspot can be activated resulting in the loading of another document
302 or section of a document.
303 */
304 IA2_ROLE_IMAGE_MAP,
305
306 /** An object which is used to allow input of characters not found on a keyboa rd,
307 such as the input of Chinese characters on a Western keyboard.
308 */
309 IA2_ROLE_INPUT_METHOD_WINDOW,
310
311 /** An internal frame. A frame-like object that is clipped by a desktop pane.
312 The desktop pane, internal frame, and desktop icon objects are often used to
313 create multiple document interfaces within an application.
314 Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROL E_FRAME.
315 */
316 IA2_ROLE_INTERNAL_FRAME,
317
318 /// An object used to present an icon or short string in an interface.
319 IA2_ROLE_LABEL,
320
321 /** A layered pane. A specialized pane that allows its children to be drawn
322 in layers, providing a form of stacking order. This is usually the pane that
323 holds the menu bar as well as the pane that contains most of the visual
324 components in a window.
325 Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_P ANE.
326 */
327 IA2_ROLE_LAYERED_PANE,
328
329 /** A section whose content is parenthetic or ancillary to the main content
330 of the resource.
331 */
332 IA2_ROLE_NOTE,
333
334 /** A specialized pane whose primary use is inside a dialog.
335 Also refer to MSAA's dialog role.
336 */
337 IA2_ROLE_OPTION_PANE,
338
339 /** An object representing a page of document content. It is used in document s
340 which are accessed by the user on a page by page basis.
341 */
342 IA2_ROLE_PAGE,
343
344 /// A paragraph of text.
345 IA2_ROLE_PARAGRAPH,
346
347 /** A radio button that is a menu item.
348 Also refer to MSAA's button and menu item roles.
349 */
350 IA2_ROLE_RADIO_MENU_ITEM,
351
352 /** An object which is redundant with another object in the accessible hierarc hy.
353 ATs typically ignore objects with this role.
354 */
355 IA2_ROLE_REDUNDANT_OBJECT,
356
357 /** A root pane. A specialized pane that has a glass pane and a layered pane
358 as its children.
359 Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE
360 */
361 IA2_ROLE_ROOT_PANE,
362
363 /** A ruler such as those used in word processors.
364 */
365 IA2_ROLE_RULER,
366
367 /** A scroll pane. An object that allows a user to incrementally view a large
368 amount of information. Its children can include scroll bars and a viewport.
369 Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role.
370 */
371 IA2_ROLE_SCROLL_PANE,
372
373 /** A container of document content. An example of the use of this role is to
374 represent an HTML DIV tag. A section may be used as a region. A region is a
375 group of elements that together form a perceivable unit. A region does not
376 necessarily follow the logical structure of the content, but follows the
377 perceivable structure of the page. A region may have an attribute in the set
378 of IAccessible2::attributes which indicates that it is "live". A live region
379 is content that is likely to change in response to a timed change, a user
380 event, or some other programmed logic or event.
381 */
382 IA2_ROLE_SECTION,
383
384 /// Object with graphical representation used to represent content on draw pag es.
385 IA2_ROLE_SHAPE,
386
387 /** A split pane. A specialized panel that presents two other panels at the
388 same time. Between the two panels is a divider the user can manipulate to mak e
389 one panel larger and the other panel smaller.
390 */
391 IA2_ROLE_SPLIT_PANE,
392
393 /** An object that forms part of a menu system but which can be "undocked"
394 from or "torn off" the menu system to exist as a separate window.
395 */
396 IA2_ROLE_TEAR_OFF_MENU,
397
398 /// An object used as a terminal emulator.
399 IA2_ROLE_TERMINAL,
400
401 /// Collection of objects that constitute a logical text entity.
402 IA2_ROLE_TEXT_FRAME,
403
404 /** A toggle button. A specialized push button that can be checked or unchecke d,
405 but does not provide a separate indicator for the current state.
406 Also refer to MSAA's roles of push button, check box, and radio button.
407 <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used. Instead, use MSA A's
408 ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED.
409 */
410 IA2_ROLE_TOGGLE_BUTTON,
411
412 /** A viewport. An object usually used in a scroll pane. It represents the
413 portion of the entire data that the user can see. As the user manipulates
414 the scroll bars, the contents of the viewport can change.
415 Also refer to ::IA2_ROLE_SCROLL_PANE.
416 */
417 IA2_ROLE_VIEW_PORT,
418
419 /** An object containing content which is complementary to the main content of
420 a document, but remains meaningful when separated from the main content. The re
421 are various types of content that would appropriately have this role. For ex ample,
422 in the case where content is delivered via a web portal to a web browser, thi s may
423 include but not be limited to show times, current weather, related articles, or
424 stocks to watch. The complementary role indicates that contained content is relevant
425 to the main content. If the complementary content is completely separable ma in
426 content, it may be appropriate to use a more general role.
427 */
428 IA2_ROLE_COMPLEMENTARY_CONTENT
429
430 };
431
432 const int NODETYPE_TEXT = 0;
433 const int NODETYPE_DOCUMENT = 1;
434 const int NODETYPE_ELEMENT = 1;
435
436 enum IA2TextSpecialOffsets {
437 IA2_TEXT_OFFSET_LENGTH = -1, /**< This offset is equivalent to the length of the string. It eliminates
438 the need to cal l IAccessibleText::nCharacters. */
439 IA2_TEXT_OFFSET_CARET = -2 /**< This offset signifies that the text related to the physical location
440 of the caret sh ould be used. */
441 };
442 /** The target object is the containing application object. */
443 const WCHAR *const IA2_RELATION_CONTAINING_APPLICATION = L"containingApplication ";
444
445 /** The target object is the containing document object. The target object imple ments
446 the IAccessibleDocument interface.
447 */
448 const WCHAR *const IA2_RELATION_CONTAINING_DOCUMENT = L"containingDocument";
449
450 /** The target object is the containing tab pane object. */
451 const WCHAR *const IA2_RELATION_CONTAINING_TAB_PANE = L"containingTabPane";
452
453 /** The target object is the containing window object. */
454 const WCHAR *const IA2_RELATION_CONTAINING_WINDOW = L"containingWindow";
455
456 /** Some attribute of this object is affected by a target object. */
457 const WCHAR *const IA2_RELATION_CONTROLLED_BY = L"controlledBy";
458
459 /** This object is interactive and controls some attribute of a target object. * /
460 const WCHAR *const IA2_RELATION_CONTROLLER_FOR = L"controllerFor";
461
462 /** This object is described by the target object. */
463 const WCHAR *const IA2_RELATION_DESCRIBED_BY = L"describedBy";
464
465 /** This object is describes the target object. */
466 const WCHAR *const IA2_RELATION_DESCRIPTION_FOR = L"descriptionFor";
467
468 /** This object is embedded by a target object. */
469 const WCHAR *const IA2_RELATION_EMBEDDED_BY = L"embeddedBy";
470
471 /** This object embeds a target object. This relation can be used on the
472 OBJID_CLIENT accessible for a top level window to show where the content
473 areas are.
474 */
475 const WCHAR *const IA2_RELATION_EMBEDS = L"embeds";
476
477 /** Content flows to this object from a target object.
478 This relation and IA2_RELATION_FLOWS_TO are useful to tie text and non-text
479 objects together in order to allow assistive technology to follow the
480 intended reading order.
481 */
482 const WCHAR *const IA2_RELATION_FLOWS_FROM = L"flowsFrom";
483
484 /** Content flows from this object to a target object. */
485 const WCHAR *const IA2_RELATION_FLOWS_TO = L"flowsTo";
486
487 /** This object is label for a target object. */
488 const WCHAR *const IA2_RELATION_LABEL_FOR = L"labelFor";
489
490 /** This object is labelled by a target object. Note that the double L spelling
491 which follows is preferred. Please use it instead. This single L version may
492 be removed in a later version.
493 */
494 const WCHAR *const IA2_RELATION_LABELED_BY = L"labelledBy";
495
496 /** This object is labelled by a target object. */
497 const WCHAR *const IA2_RELATION_LABELLED_BY = L"labelledBy";
498
499 /** This object is a member of a group of one or more objects. When
500 there is more than one object in the group each member may have one and the
501 same target, e.g. a grouping object. It is also possible that each member has
502 multiple additional targets, e.g. one for every other member in the group.
503 */
504 const WCHAR *const IA2_RELATION_MEMBER_OF = L"memberOf";
505
506 /** The target object is the next object in the tab order. */
507 const WCHAR *const IA2_RELATION_NEXT_TABBABLE = L"nextTabbable";
508
509 /** This object is a logical child of a target object. This relation is the rec iprocal
510 of the IA2_RELATION_NODE_PARENT_OF relation. In some cases an application's acc essible
511 tree is such that objects can be in a logical parent-child relationship which i s
512 different from the hierarchy of the accessible tree. */
513 const WCHAR *const IA2_RELATION_NODE_CHILD_OF = L"nodeChildOf";
514
515 /** This object is a logical parent of a target object. This relation is the rec iprocal
516 of the IA2_RELATION_NODE_CHILD_OF relation. In some cases an application's acce ssible
517 tree is such that objects can be in a logical parent-child relationship which i s
518 different from the hierarchy of the accessible tree. */
519 const WCHAR *const IA2_RELATION_NODE_PARENT_OF = L"nodeParentOf";
520
521 /** This object is a parent window of the target object. */
522 const WCHAR *const IA2_RELATION_PARENT_WINDOW_OF = L"parentWindowOf";
523
524 /** This object is a transient component related to the target object.
525 When this object is activated the target object doesn't lose focus.
526 */
527 const WCHAR *const IA2_RELATION_POPUP_FOR = L"popupFor";
528
529 /** The target object is the previous object in the tab order. */
530 const WCHAR *const IA2_RELATION_PREVIOUS_TABBABLE = L"previousTabbable";
531
532 /** This object is a sub window of a target object. */
533 const WCHAR *const IA2_RELATION_SUBWINDOW_OF = L"subwindowOf";
534 enum IA2EventID {
535
536 /** The change of the number or attributes of actions of an accessible
537 object is signaled by events of this type.
538 */
539 IA2_EVENT_ACTION_CHANGED = 0x101,
540
541 /** <b>Deprecated.</b> The active descendant of a component has changed.
542
543 Note: This event constant is misspelled and thus is deprecated and will be
544 removed in a later version. Please use the correctly spelled version whi ch
545 follows.
546 */
547 IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
548
549 /** The active descendant of a component has changed. The active descendant
550 is used in objects with transient children.
551
552 Note: Due to the fact that MSAA's WinEvents don't allow the active child ind ex
553 to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event the manage s
554 descendants scheme can't be used. Instead the active child object h as to fire
555 MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism ma y be
556 added to provide for event specific data to be passed with the event. A t that
557 time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
558 IA2_STATE_MANAGES_DESCENDANTS state would be useful.
559 */
560 IA2_EVENT_ACTIVE_DESCENDANT_CHANGED = IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
561
562 /** The document wide attributes of the document object have changed.
563 */
564 IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED,
565
566 /** The contents of the document have changed.
567 */
568 IA2_EVENT_DOCUMENT_CONTENT_CHANGED,
569
570 /** The loading of the document has completed.
571 */
572 IA2_EVENT_DOCUMENT_LOAD_COMPLETE,
573
574 /** The loading of the document was interrupted.
575 */
576 IA2_EVENT_DOCUMENT_LOAD_STOPPED,
577
578 /** The document contents are being reloaded.
579 */
580 IA2_EVENT_DOCUMENT_RELOAD,
581
582 /** The ending index of this link within the containing string has changed.
583 */
584 IA2_EVENT_HYPERLINK_END_INDEX_CHANGED,
585
586 /** The number of anchors associated with this hyperlink object has changed.
587 */
588 IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED,
589
590 /** The hyperlink selected state changed from selected to unselected or
591 from unselected to selected.
592 */
593 IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED,
594
595 /** One of the links associated with the hypertext object has been activated.
596 */
597 IA2_EVENT_HYPERTEXT_LINK_ACTIVATED,
598
599 /** One of the links associated with the hypertext object has been selected.
600 */
601 IA2_EVENT_HYPERTEXT_LINK_SELECTED,
602
603 /** The starting index of this link within the containing string has changed.
604 */
605 IA2_EVENT_HYPERLINK_START_INDEX_CHANGED,
606
607 /** Focus has changed from one hypertext object to another, or focus moved
608 from a non-hypertext object to a hypertext object, or focus moved from a
609 hypertext object to a non-hypertext object.
610 */
611 IA2_EVENT_HYPERTEXT_CHANGED,
612
613 /** The number of hyperlinks associated with a hypertext object changed
614 */
615 IA2_EVENT_HYPERTEXT_NLINKS_CHANGED,
616
617 /** An object's attributes changed.
618 Also see ::IA2_EVENT_TEXT_ATTRIBUTE_CHANGED.
619 */
620 IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED,
621
622 /** A slide changed in a presentation document or a page boundary was
623 crossed in a word processing document.
624 */
625 IA2_EVENT_PAGE_CHANGED,
626
627 /** The caret moved from one section to the next.
628 */
629 IA2_EVENT_SECTION_CHANGED,
630
631 /** A table caption changed.
632 */
633 IA2_EVENT_TABLE_CAPTION_CHANGED,
634
635 /** A table's column description changed.
636 */
637 IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED,
638
639 /** A table's column header changed.
640 */
641 IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED,
642
643 /** A table's data changed.
644 */
645 IA2_EVENT_TABLE_MODEL_CHANGED,
646
647 /** A table's row description changed.
648 */
649 IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED,
650
651 /** A table's row header changed.
652 */
653 IA2_EVENT_TABLE_ROW_HEADER_CHANGED,
654
655 /** A table's summary changed.
656 */
657 IA2_EVENT_TABLE_SUMMARY_CHANGED,
658
659 /** A text object's attributes changed.
660 Also see ::IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED.
661 */
662 IA2_EVENT_TEXT_ATTRIBUTE_CHANGED,
663
664 /** The caret has moved to a new position.
665 */
666 IA2_EVENT_TEXT_CARET_MOVED,
667
668 /** <b>Deprecated.</b> This event is equivalent to ::IA2_EVENT_TEXT_UPDATED.
669 */
670 IA2_EVENT_TEXT_CHANGED,
671
672 /** The caret moved from one column to the next.
673 */
674 IA2_EVENT_TEXT_COLUMN_CHANGED,
675
676 /** Text was inserted.
677 */
678 IA2_EVENT_TEXT_INSERTED,
679
680 /** Text was removed.
681 */
682 IA2_EVENT_TEXT_REMOVED,
683
684 /** This event indicates general text changes, i.e. changes to text that are
685 exposed through the IAccessibleText interface. For compatibility with ATK/A T-SPI
686 which does not have an equivalent event, servers can alternatively fire
687 ::IA2_EVENT_TEXT_REMOVED and ::IA2_EVENT_TEXT_INSERTED.
688 */
689 IA2_EVENT_TEXT_UPDATED,
690
691 /** The text selection changed. Later versions of Microsoft development envir onments
692 have an equivalent event identified, EVENT_OBJECT_TEXTSELECTIONCHANGED. Serv ers
693 should use that if it is available and use IA2_EVENT_TEXT_SELECTION_CHANGED o therwise.
694 Clients should be prepared to respond to either event.
695
696 */
697 IA2_EVENT_TEXT_SELECTION_CHANGED,
698
699 /** A visible data event indicates the change of the visual appearance
700 of an accessible object. This includes for example most of the
701 attributes available via the IAccessibleComponent interface.
702 */
703 IA2_EVENT_VISIBLE_DATA_CHANGED
704
705 };
706
707 enum IA2CoordinateType {
708 IA2_COORDTYPE_SCREEN_RELATIVE,
709 IA2_COORDTYPE_PARENT_RELATIVE,
710 };
711
712
713 struct __declspec(uuid("00234000-0000-457b-a96d-07f000001000")) IAccessibleRelat ion {
714 virtual STDMETHODIMP get_relationType(BSTR* relation_type) {return S_OK;}
715 virtual STDMETHODIMP get_nTargets(long* n_targets) {return S_OK;}
716 virtual STDMETHODIMP get_target(long target_index, IUnknown** target) {return S_OK;}
717 virtual STDMETHODIMP get_targets(long max_targets, IUnknown** targets, long* n _targets) {return S_OK;}
718 virtual STDMETHODIMP get_localizedRelationType(BSTR* relation_type) {return S_ OK;}
719 };
720
721 struct __declspec(uuid("00000000-0000-457b-a96d-07f000001000")) IAccessibleActio n : public IUnknown {
722 virtual STDMETHODIMP nActions(long* n_actions) {return S_OK;}
723 virtual STDMETHODIMP doAction(long action_index) {return S_OK;}
724 virtual STDMETHODIMP get_description(long action_index, BSTR* description) {re turn S_OK;}
725 virtual STDMETHODIMP get_keyBinding(long action_index, long n_max_bindings, BS TR** key_bindings, long* n_bindings) {return S_OK;}
726 virtual STDMETHODIMP get_name(long action_index, BSTR* name) {return S_OK;}
727 virtual STDMETHODIMP get_localizedName(long action_index, BSTR* localized_name ) {return S_OK;}
728 };
729
730 class __declspec(uuid("00000000-0000-457b-a96d-07f000000000")) IAccessibleText {
731 public:
732 //
733 // IAccessibleText methods.
734 //
735
736 virtual STDMETHODIMP get_nCharacters(LONG* n_characters) {return S_OK;}
737
738 virtual STDMETHODIMP get_caretOffset(LONG* offset) {return S_OK;}
739
740 virtual STDMETHODIMP get_nSelections(LONG* n_selections) {return S_OK;}
741
742 virtual STDMETHODIMP get_selection(LONG selection_index, LONG* start_offset, L ONG* end_offset) {return S_OK;}
743
744 virtual STDMETHODIMP get_text(LONG start_offset, LONG end_offset, BSTR* text) {return S_OK;}
745
746 virtual STDMETHODIMP get_textAtOffset(LONG offset, enum IA2TextBoundaryType bo undary_type, LONG* start_offset, LONG* end_offset, BSTR* text) {return S_OK;}
747
748 virtual STDMETHODIMP get_textBeforeOffset(LONG offset, enum IA2TextBoundaryTyp e boundary_type, LONG* start_offset, LONG* end_offset, BSTR* text) {return S_OK; }
749
750 virtual STDMETHODIMP get_textAfterOffset(LONG offset, enum IA2TextBoundaryType boundary_type, LONG* start_offset, LONG* end_offset, BSTR* text) {return S_OK;}
751
752 virtual STDMETHODIMP get_offsetAtPoint(LONG x, LONG y, enum IA2CoordinateType coord_type, LONG* offset) {return S_OK;}
753
754 //
755 // IAccessibleText methods not implemented.
756 //
757
758 virtual STDMETHODIMP get_newText(IA2TextSegment* new_text) {return S_OK;}
759 virtual STDMETHODIMP get_oldText(IA2TextSegment* old_text) {return S_OK;}
760 virtual STDMETHODIMP addSelection(LONG start_offset, LONG end_offset) {return S_OK;}
761 virtual STDMETHODIMP get_attributes(LONG offset, LONG* start_offset, LONG* end _offset, BSTR* text_attributes) {return S_OK;}
762 virtual STDMETHODIMP get_characterExtents(LONG offset, enum IA2CoordinateType coord_type, LONG* x, LONG* y, LONG* width, LONG* height) {return S_OK;}
763 virtual STDMETHODIMP removeSelection(LONG selection_index) {return S_OK;}
764 virtual STDMETHODIMP setCaretOffset(LONG offset) {return S_OK;}
765 virtual STDMETHODIMP setSelection(LONG selection_index, LONG start_offset, LON G end_offset) {return S_OK;}
766 virtual STDMETHODIMP scrollSubstringTo(LONG start_index, LONG end_index, enum IA2ScrollType scroll_type) {return S_OK;}
767 virtual STDMETHODIMP scrollSubstringToPoint(LONG start_index, LONG end_index, enum IA2CoordinateType coordinate_type, LONG x, LONG y) {return S_OK;}
768 };
769
770 struct __declspec(uuid("26f5641a-246d-457b-a96d-07f000000000")) IAccessible2 : p ublic IAccessible {
771 // Returns role from a longer list of possible roles.
772 virtual STDMETHODIMP role(LONG* role) {return S_OK;}
773
774 // Returns the state bitmask from a larger set of possible states.
775 virtual STDMETHODIMP get_states(AccessibleStates* states) {return S_OK;}
776
777 // Returns the attributes specific to this IAccessible2 object,
778 // such as a cell's formula.
779 virtual STDMETHODIMP get_attributes(BSTR* attributes) {return S_OK;}
780
781 // Get the unique ID of this object so that the client knows if it's
782 // been encountered previously.
783 virtual STDMETHODIMP get_uniqueID(LONG* unique_id) {return S_OK;}
784
785 // Get the window handle of the enclosing window.
786 virtual STDMETHODIMP get_windowHandle(HWND* window_handle) {return S_OK;}
787
788 // Get this object's index in its parent object.
789 virtual STDMETHODIMP get_indexInParent(LONG* index_in_parent) {return S_OK;}
790
791 virtual STDMETHODIMP get_nRelations(LONG* n_relations) {return S_OK;}
792
793 STDMETHODIMP
794 virtual get_relation(LONG relation_index, IAccessibleRelation** relation) {ret urn S_OK;}
795
796 virtual STDMETHODIMP get_relations(LONG max_relations, IAccessibleRelation** r elations, LONG* n_relations) {return S_OK;}
797
798 virtual STDMETHODIMP scrollTo(enum IA2ScrollType scroll_type) {return S_OK;}
799
800 virtual STDMETHODIMP scrollToPoint(enum IA2CoordinateType coordinate_type, LON G x, LONG y) {return S_OK;}
801
802 virtual STDMETHODIMP get_groupPosition(LONG* group_level, LONG* similar_items_ in_group, LONG* position_in_group) {return S_OK;}
803
804 virtual STDMETHODIMP get_extendedRole(BSTR* extended_role) {return S_OK;}
805 virtual STDMETHODIMP get_localizedExtendedRole(BSTR* localized_extended_role) {return S_OK;}
806 virtual STDMETHODIMP get_nExtendedStates(LONG* n_extended_states) {return S_OK ;}
807 virtual STDMETHODIMP get_extendedStates(LONG max_extended_states, BSTR** exten ded_states, LONG* n_extended_states) {return S_OK;}
808 virtual STDMETHODIMP get_localizedExtendedStates(LONG max_localized_extended_s tates, BSTR** localized_extended_states, LONG* n_localized_extended_states) {ret urn S_OK;}
809 virtual STDMETHODIMP get_locale(IA2Locale* locale) {return S_OK;}
810 };
811
812 class __declspec(uuid("00000000-246d-457b-a96d-07f000000000")) IAccessible2_2 : public IAccessible2 {
813 public:
814 //
815 // IAccessible methods.
816 //
817
818 // Retrieves the child element or child object at a given point on the screen.
819 virtual STDMETHODIMP accHitTest(LONG x_left, LONG y_top, VARIANT* child) {retu rn S_OK;}
820
821 // Performs the object's default action.
822 virtual STDMETHODIMP accDoDefaultAction(VARIANT var_id) {return S_OK;}
823
824 // Retrieves the specified object's current screen location.
825 virtual STDMETHODIMP accLocation(LONG* x_left, LONG* y_top, LONG* width, LONG* height, VARIANT var_id) {return S_OK;}
826
827 // Traverses to another UI element and retrieves the object.
828 virtual STDMETHODIMP accNavigate(LONG nav_dir, VARIANT start, VARIANT* end) {r eturn S_OK;}
829
830 // Retrieves an IDispatch interface pointer for the specified child.
831 virtual STDMETHODIMP get_accChild(VARIANT var_child, IDispatch** disp_child) { return S_OK;}
832
833 // Retrieves the number of accessible children.
834 virtual STDMETHODIMP get_accChildCount(LONG* child_count) {return S_OK;}
835
836 // Retrieves a string that describes the object's default action.
837 virtual STDMETHODIMP get_accDefaultAction(VARIANT var_id, BSTR* default_action ) {return S_OK;}
838
839 // Retrieves the tooltip description.
840 virtual STDMETHODIMP get_accDescription(VARIANT var_id, BSTR* desc) {return S_ OK;}
841
842 // Retrieves the object that has the keyboard focus.
843 virtual STDMETHODIMP get_accFocus(VARIANT* focus_child) {return S_OK;}
844
845 // Retrieves the specified object's shortcut.
846 virtual STDMETHODIMP get_accKeyboardShortcut(VARIANT var_id, BSTR* access_key) {return S_OK;}
847
848 // Retrieves the name of the specified object.
849 virtual STDMETHODIMP get_accName(VARIANT var_id, BSTR* name) {return S_OK;}
850
851 // Retrieves the IDispatch interface of the object's parent.
852 virtual STDMETHODIMP get_accParent(IDispatch** disp_parent) {return S_OK;}
853
854 // Retrieves information describing the role of the specified object.
855 virtual STDMETHODIMP get_accRole(VARIANT var_id, VARIANT* role) {return S_OK;}
856
857 // Retrieves the current state of the specified object.
858 virtual STDMETHODIMP get_accState(VARIANT var_id, VARIANT* state) {return S_OK ;}
859
860 // Gets the help string for the specified object.
861 virtual STDMETHODIMP get_accHelp(VARIANT var_id, BSTR* help) {return S_OK;}
862
863 // Retrieve or set the string value associated with the specified object.
864 // Setting the value is not typically used by screen readers, but it's
865 // used frequently by automation software.
866 virtual STDMETHODIMP get_accValue(VARIANT var_id, BSTR* value) {return S_OK;}
867 virtual STDMETHODIMP put_accValue(VARIANT var_id, BSTR new_value) {return S_OK ;}
868
869 // IAccessible methods not implemented.
870 virtual STDMETHODIMP get_accSelection(VARIANT* selected) {return S_OK;}
871 virtual STDMETHODIMP accSelect(LONG flags_sel, VARIANT var_id) {return S_OK;}
872 virtual STDMETHODIMP get_accHelpTopic(BSTR* help_file, VARIANT var_id, LONG* t opic_id) {return S_OK;}
873 virtual STDMETHODIMP put_accName(VARIANT var_id, BSTR put_name) {return S_OK;}
874
875 //
876 // IAccessible2 methods.
877 //
878
879 virtual STDMETHODIMP role(LONG* role) {return S_OK;}
880
881 virtual STDMETHODIMP get_states(AccessibleStates* states) {return S_OK;}
882
883 virtual STDMETHODIMP get_uniqueID(LONG* unique_id) {return S_OK;}
884
885 virtual STDMETHODIMP get_windowHandle(HWND* window_handle) {return S_OK;}
886
887 virtual STDMETHODIMP get_relationTargetsOfType(BSTR type, long max_targets, IU nknown*** targets, long* n_targets) {return S_OK;}
888
889 virtual STDMETHODIMP get_attributes(BSTR* attributes) {return S_OK;}
890
891 virtual STDMETHODIMP get_indexInParent(LONG* index_in_parent) {return S_OK;}
892
893 //
894 // IAccessible2 methods not implemented.
895 //
896
897 virtual STDMETHODIMP get_attribute(BSTR name, VARIANT* attribute) {return S_OK ;}
898 virtual STDMETHODIMP get_extendedRole(BSTR* extended_role) {return S_OK;}
899 virtual STDMETHODIMP get_nRelations(LONG* n_relations) {return S_OK;}
900 virtual STDMETHODIMP get_relation(LONG relation_index, IAccessibleRelation** r elation) {return S_OK;}
901 virtual STDMETHODIMP get_relations(LONG max_relations, IAccessibleRelation** r elations, LONG* n_relations) {return S_OK;}
902 virtual STDMETHODIMP scrollTo(enum IA2ScrollType scroll_type) {return S_OK;}
903 virtual STDMETHODIMP scrollToPoint(enum IA2CoordinateType coordinate_type, LON G x, LONG y) {return S_OK;}
904 virtual STDMETHODIMP get_groupPosition(LONG* group_level, LONG* similar_items_ in_group, LONG* position_in_group) {return S_OK;}
905 virtual STDMETHODIMP get_localizedExtendedRole( BSTR* localized_extended_role) {return S_OK;}
906 virtual STDMETHODIMP get_nExtendedStates(LONG* n_extended_states) {return S_OK ;}
907 virtual STDMETHODIMP get_extendedStates(LONG max_extended_states, BSTR** exten ded_states, LONG* n_extended_states) {return S_OK;}
908 virtual STDMETHODIMP get_localizedExtendedStates( LONG max_localized_extended_ states, BSTR** localized_extended_states, LONG* n_localized_extended_states) {re turn S_OK;}
909 virtual STDMETHODIMP get_locale(IA2Locale* locale) {return S_OK;}
910 virtual STDMETHODIMP get_accessibleWithCaret(IUnknown** accessible, long* care t_offset) {return S_OK;}
911 };
912
913 struct __declspec(uuid("00000000-0000-457b-a96d-07f000001008")) IAccessibleAppli cation {
914 virtual STDMETHODIMP get_appName(BSTR* app_name) {return S_OK;}
915
916 virtual STDMETHODIMP get_appVersion(BSTR* app_version) {return S_OK;}
917
918 virtual STDMETHODIMP get_toolkitName(BSTR* toolkit_name) {return S_OK;}
919
920 virtual STDMETHODIMP get_toolkitVersion(BSTR* toolkit_version) {return S_OK;}
921 };
922
923 struct __declspec(uuid("00000000-0000-457b-a96d-07f000001028")) IAccessibleHyper link : public IAccessibleAction {
924 virtual STDMETHODIMP get_anchor(long index, VARIANT* anchor) {return S_OK;}
925 virtual STDMETHODIMP get_anchorTarget(long index, VARIANT* anchor_target) {ret urn S_OK;}
926 virtual STDMETHODIMP get_startIndex(long* index) {return S_OK;}
927 virtual STDMETHODIMP get_endIndex(long* index) {return S_OK;}
928 virtual STDMETHODIMP get_valid(boolean* valid) {return S_OK;}
929 };
930
931 struct __declspec(uuid("00000000-0000-457b-a96d-07f000001038")) IAccessibleHyper text : public IAccessibleText {
932 virtual STDMETHODIMP get_nHyperlinks(long* hyperlink_count) {return S_OK;}
933
934 virtual STDMETHODIMP get_hyperlink(long index, IAccessibleHyperlink** hyperlin k) {return S_OK;}
935
936 virtual STDMETHODIMP get_hyperlinkIndex(long char_index, long* hyperlink_index ) {return S_OK;}
937 };
938
939 struct __declspec(uuid("00000000-0000-457b-a96d-07f002001008")) IAccessibleImage {
940 virtual STDMETHODIMP get_description(BSTR* description) {return S_OK;}
941
942 virtual STDMETHODIMP get_imagePosition(enum IA2CoordinateType coordinate_type, LONG* x, LONG* y) {return S_OK;}
943
944 virtual STDMETHODIMP get_imageSize(LONG* height, LONG* width) {return S_OK;}
945 };
946
947 struct __declspec(uuid("00000000-0000-450b-a96d-07f002001008")) IAccessibleTable : public IUnknown {
948 virtual STDMETHODIMP get_accessibleAt(long row, long column, IUnknown** access ible) {return S_OK;}
949
950 virtual STDMETHODIMP get_caption(IUnknown** accessible) {return S_OK;}
951
952 virtual STDMETHODIMP get_childIndex(long row_index, long column_index, long* c ell_index) {return S_OK;}
953
954 virtual STDMETHODIMP get_columnDescription(long column, BSTR* description) {re turn S_OK;}
955
956 virtual STDMETHODIMP get_columnExtentAt(long row, long column, long* n_columns _spanned) {return S_OK;}
957
958 virtual STDMETHODIMP get_columnHeader(IAccessibleTable** accessible_table, lon g* starting_row_index) {return S_OK;}
959
960 virtual STDMETHODIMP get_columnIndex(long cell_index, long* column_index) {ret urn S_OK;}
961
962 virtual STDMETHODIMP get_nColumns(long* column_count) {return S_OK;}
963 virtual STDMETHODIMP get_nRows(long* row_count) {return S_OK;}
964
965 virtual STDMETHODIMP get_nSelectedChildren(long* cell_count) {return S_OK;}
966
967 virtual STDMETHODIMP get_nSelectedColumns(long* column_count) {return S_OK;}
968
969 virtual STDMETHODIMP get_nSelectedRows(long* row_count) {return S_OK;}
970
971 virtual STDMETHODIMP get_rowDescription(long row, BSTR* description) {return S _OK;}
972
973 virtual STDMETHODIMP get_rowExtentAt(long row, long column, long* n_rows_spann ed) {return S_OK;}
974
975 virtual STDMETHODIMP get_rowHeader(IAccessibleTable** accessible_table, long* starting_column_index) {return S_OK;}
976
977 virtual STDMETHODIMP get_rowIndex(long cell_index, long* row_index) {return S_ OK;}
978
979 virtual STDMETHODIMP get_selectedChildren(long max_children, long** children, long* n_children) {return S_OK;}
980 virtual STDMETHODIMP get_selectedColumns(long max_columns, long** columns, lon g* n_columns) {return S_OK;}
981
982 virtual STDMETHODIMP get_selectedRows(long max_rows, long** rows, long* n_rows ) {return S_OK;}
983
984 virtual STDMETHODIMP get_summary(IUnknown** accessible) {return S_OK;}
985
986 virtual STDMETHODIMP get_isColumnSelected(long column, boolean* is_selected) { return S_OK;}
987
988 virtual STDMETHODIMP get_isRowSelected(long row, boolean* is_selected) {return S_OK;}
989
990 virtual STDMETHODIMP get_isSelected(long row, long column, boolean* is_selecte d) {return S_OK;}
991
992 virtual STDMETHODIMP get_rowColumnExtentsAtIndex(long index, long* row, long* column, long* row_extents, long* column_extents, boolean* is_selected) {return S _OK;}
993
994 virtual STDMETHODIMP selectRow(long row) {return S_OK;}
995 virtual STDMETHODIMP selectColumn(long column) {return S_OK;}
996
997 virtual STDMETHODIMP unselectRow(long row) {return S_OK;}
998
999 virtual STDMETHODIMP unselectColumn(long column) {return S_OK;}
1000
1001 virtual STDMETHODIMP get_modelChange(IA2TableModelChange* model_change) {retur n S_OK;}
1002 };
1003
1004 struct __declspec(uuid("00100000-0000-450b-a96d-07f002001008")) IAccessibleTable 2 {
1005 virtual STDMETHODIMP get_cellAt(long row, long column, IUnknown** cell) {retur n S_OK;}
1006 virtual STDMETHODIMP get_nSelectedCells(long* cell_count) {return S_OK;}
1007 virtual STDMETHODIMP get_selectedCells(IUnknown*** cells, long* n_selected_cel ls) {return S_OK;}
1008 virtual STDMETHODIMP get_selectedColumns(long** columns, long* n_columns) {ret urn S_OK;}
1009 virtual STDMETHODIMP get_selectedRows(long** rows, long* n_rows) {return S_OK; }
1010 };
1011
1012 struct __declspec(uuid("00100001-0000-450b-a96d-07f002001008")) IAccessibleTable Cell {
1013 virtual STDMETHODIMP get_columnExtent(long* n_columns_spanned) {return S_OK;}
1014
1015 virtual STDMETHODIMP get_columnHeaderCells(IUnknown*** cell_accessibles, long* n_column_header_cells) {return S_OK;}
1016
1017 virtual STDMETHODIMP get_columnIndex(long* column_index) {return S_OK;}
1018
1019 virtual STDMETHODIMP get_rowExtent(long* n_rows_spanned) {return S_OK;}
1020
1021 virtual STDMETHODIMP get_rowHeaderCells(IUnknown*** cell_accessibles, long* n_ row_header_cells) {return S_OK;}
1022
1023 virtual STDMETHODIMP get_rowIndex(long* row_index) {return S_OK;}
1024
1025 virtual STDMETHODIMP get_isSelected(boolean* is_selected) {return S_OK;}
1026
1027 virtual STDMETHODIMP get_rowColumnExtents(long* row, long* column, long* row_e xtents, long* column_extents, boolean* is_selected) {return S_OK;}
1028
1029 virtual STDMETHODIMP get_table(IUnknown** table) {return S_OK;}
1030 };
1031
1032 struct __declspec(uuid("00100001-0000-450b-a97d-07f002001008")) IAccessibleValue {
1033 virtual STDMETHODIMP get_currentValue(VARIANT* value) {return S_OK;}
1034
1035 virtual STDMETHODIMP get_minimumValue(VARIANT* value) {return S_OK;}
1036
1037 virtual STDMETHODIMP get_maximumValue(VARIANT* value) {return S_OK;}
1038
1039 virtual STDMETHODIMP setCurrentValue(VARIANT new_value) {return S_OK;}
1040 };
1041
1042 //struct IServiceProvider { };
1043 struct __declspec(uuid("00100001-0010-451b-a97d-07f002001008")) ISimpleDOMDocume nt {
1044 virtual STDMETHODIMP get_URL(BSTR* url) {return S_OK;}
1045
1046 virtual STDMETHODIMP get_title(BSTR* title) {return S_OK;}
1047
1048 virtual STDMETHODIMP get_mimeType(BSTR* mime_type) {return S_OK;}
1049
1050 virtual STDMETHODIMP get_docType(BSTR* doc_type) {return S_OK;}
1051
1052 virtual STDMETHODIMP get_nameSpaceURIForID(short name_space_id, BSTR* name_spa ce_uri) {return S_OK;}
1053 virtual STDMETHODIMP put_alternateViewMediaTypes(BSTR* comma_separated_media_t ypes) {return S_OK;}
1054
1055 };
1056
1057 struct __declspec(uuid("00100001-0010-151b-a97d-07f002001008")) ISimpleDOMNode {
1058 virtual STDMETHODIMP get_nodeInfo(BSTR* node_name, short* name_space_id, BSTR* node_value, unsigned int* num_children, unsigned int* unique_id, unsigned short * node_type) {return S_OK;}
1059
1060 virtual STDMETHODIMP get_attributes(unsigned short max_attribs, BSTR* attrib_n ames, short* name_space_id, BSTR* attrib_values, unsigned short* num_attribs) {r eturn S_OK;}
1061
1062 virtual STDMETHODIMP get_attributesForNames(unsigned short num_attribs, BSTR* attrib_names, short* name_space_id, BSTR* attrib_values) {return S_OK;}
1063
1064 virtual STDMETHODIMP get_computedStyle(unsigned short max_style_properties, bo olean use_alternate_view, BSTR* style_properties, BSTR* style_values, unsigned s hort* num_style_properties) {return S_OK;}
1065
1066 virtual STDMETHODIMP get_computedStyleForProperties(unsigned short num_style_p roperties, boolean use_alternate_view, BSTR* style_properties, BSTR* style_value s) {return S_OK;}
1067
1068 virtual STDMETHODIMP scrollTo(boolean placeTopLeft) {return S_OK;}
1069
1070 virtual STDMETHODIMP get_parentNode(ISimpleDOMNode** node) {return S_OK;}
1071
1072 virtual STDMETHODIMP get_firstChild(ISimpleDOMNode** node) {return S_OK;}
1073
1074 virtual STDMETHODIMP get_lastChild(ISimpleDOMNode** node) {return S_OK;}
1075
1076 virtual STDMETHODIMP get_previousSibling(ISimpleDOMNode** node) {return S_OK;}
1077
1078 virtual STDMETHODIMP get_nextSibling(ISimpleDOMNode** node) {return S_OK;}
1079
1080 virtual STDMETHODIMP get_childAt(unsigned int child_index, ISimpleDOMNode** no de) {return S_OK;}
1081
1082 virtual STDMETHODIMP get_innerHTML(BSTR* innerHTML) {return S_OK;}
1083
1084 virtual STDMETHODIMP get_localInterface(void** local_interface) {return S_OK;}
1085
1086 virtual STDMETHODIMP get_language(BSTR* language) {return S_OK;}
1087 };
1088
1089 struct __declspec(uuid("00100001-1010-151b-a97d-07f002001008")) ISimpleDOMText {
1090 virtual STDMETHODIMP get_domText(BSTR* dom_text) {return S_OK;}
1091
1092 virtual STDMETHODIMP get_clippedSubstringBounds(unsigned int start_index, unsi gned int end_index, int* out_x, int* out_y, int* out_width, int* out_height) {re turn S_OK;}
1093
1094 virtual STDMETHODIMP get_unclippedSubstringBounds(unsigned int start_index, un signed int end_index, int* out_x, int* out_y, int* out_width, int* out_height) { return S_OK;}
1095
1096 virtual STDMETHODIMP scrollToSubstring(unsigned int start_index, unsigned int end_index) {return S_OK;}
1097
1098 virtual STDMETHODIMP get_fontFamily(BSTR* font_family) {return S_OK;}
1099 };
1100
1101 //struct IAccessibleEx { };
1102 //struct IRawElementProviderSimple { };
1103
1104 #endif
OLDNEW
« no previous file with comments | « content/browser/accessibility/browser_accessibility_win.h ('k') | ppapi/tests/ppapi_nacl_tests_newlib.nmf » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698