5 /* Implementation private definitions */
9 * Definitions for ACCESSIBLE_STATE , ACCESSIBLE_ROLE, AccessibleEvent,
10 * and event listeners.
13 #include "spi-roletypes.h"
14 #include "spi-statetypes.h"
15 #include "spi-listener.h"
19 * Enumerated type for text boundary types
26 TEXT_BOUNDARY_CURSOR_POS,
27 TEXT_BOUNDARY_WORD_START,
28 TEXT_BOUNDARY_WORD_END,
29 TEXT_BOUNDARY_SENTENCE_START,
30 TEXT_BOUNDARY_SENTENCE_END,
31 TEXT_BOUNDARY_LINE_START,
32 TEXT_BOUNDARY_LINE_END,
33 TEXT_BOUNDARY_ATTRIBUTE_RANGE
40 * Enumerated type for relation types
48 RELATION_CONTROLLER_FOR,
49 RELATION_CONTROLLED_BY,
54 /* don't change the order of these ! */
55 typedef enum _AccessibleCoordType {
58 } AccessibleCoordType;
60 typedef enum _KeyEventType {
65 typedef enum _KeyListenerSyncType {
66 KEYLISTENER_SYNCHRONOUS = 1,
67 KEYLISTENER_CANCONSUME = 2,
68 KEYLISTENER_ALLWINDOWS = 4
69 } KeyListenerSyncType;
71 typedef unsigned long KeyEventMask;
73 typedef struct _KeyStroke
78 unsigned short modifiers;
81 typedef struct _KeySet
83 unsigned long *keysyms;
84 unsigned short *keycodes;
88 #define ALL_KEYS ((void *)NULL)
92 * Basic SPI initialization and event loop function prototypes
99 * Connects to the accessibility registry and initializes the SPI.
101 * Returns: 0 on success, otherwise an integer error code.
108 * @isGNOMEApp: a #boolean indicating whether the client of the SPI
109 * will use the Gnome event loop or not.
111 * Starts/enters the main event loop for the SPI services.
113 * (NOTE: This method does not return control, it is exited via a call to exit()
114 * from within an event handler).
118 SPI_event_main (boolean isGNOMEApp);
121 * SPI_event_is_ready:
123 * Checks to see if an SPI event is waiting in the event queue.
124 * Used by clients that don't wish to use SPI_event_main().
125 * Not Yet Implemented.
127 * Returns: #TRUE if an event is waiting, otherwise #FALSE.
136 * Gets the next event in the SPI event queue; blocks if no event
138 * Used by clients that don't wish to use SPI_event_main().
139 * Not Yet Implemented.
141 * Returns: the next #AccessibleEvent in the SPI event queue.
145 SPI_nextEvent (boolean waitForEvent);
150 * Disconnects from the Accessibility Registry and releases resources.
151 * Not Yet Implemented.
158 * Event Listener creation and support.
162 * createEventListener:
163 * @callback : an #AccessibleEventListenerCB callback function, or NULL.
165 * Create a new #AccessibleEventListener with a specified callback function.
167 * Returns: a pointer to a newly-created #AccessibleEventListener.
170 AccessibleEventListener *
171 createEventListener (AccessibleEventListenerCB callback);
174 * EventListener_addCallback:
175 * @listener: the #AccessibleEventListener instance to modify.
176 * @callback: an #AccessibleEventListenerCB function pointer.
178 * Add an in-process callback function to an existing AccessibleEventListener.
180 * Returns: #TRUE if successful, otherwise #FALSE.
184 EventListener_addCallback (AccessibleEventListener *listener,
185 AccessibleEventListenerCB callback);
188 * EventListener_removeCallback:
189 * @listener: the #AccessibleEventListener instance to modify.
190 * @callback: an #AccessibleEventListenerCB function pointer.
192 * Remove an in-process callback function from an existing AccessibleEventListener.
194 * Returns: #TRUE if successful, otherwise #FALSE.
198 EventListener_removeCallback (AccessibleEventListener *listener,
199 AccessibleEventListenerCB callback);
203 * @callback : an #KeystrokeListenerCB callback function, or NULL.
205 * Create a new #KeystrokeListener with a specified callback function.
207 * Returns: a pointer to a newly-created #KeystrokeListener.
211 createKeystrokeListener (KeystrokeListenerCB callback);
214 * KeystrokeListener_addCallback:
215 * @listener: the #KeystrokeListener instance to modify.
216 * @callback: an #KeystrokeListenerCB function pointer.
218 * Add an in-process callback function to an existing #KeystrokeListener.
220 * Returns: #TRUE if successful, otherwise #FALSE.
224 KeystrokeListener_addCallback (KeystrokeListener *listener,
225 KeystrokeListenerCB callback);
228 * KeystrokeListener_removeCallback:
229 * @listener: the #KeystrokeListener instance to modify.
230 * @callback: an #KeystrokeListenerCB function pointer.
232 * Remove an in-process callback function from an existing #KeystrokeListener.
234 * Returns: #TRUE if successful, otherwise #FALSE.
238 KeystrokeListener_removeCallback (KeystrokeListener *listener,
239 KeystrokeListenerCB callback);
243 * Global functions serviced by the registry
248 * registerGlobalEventListener:
249 * @listener: the #AccessibleEventListener to be registered against an event type.
250 * @callback: a character string indicating the type of events for which
251 * notification is requested. Format is
252 * EventClass:major_type:minor_type:detail
253 * where all subfields other than EventClass are optional.
254 * EventClasses include "Focus", "Window", "Mouse",
255 * and toolkit events (e.g. "Gtk", "AWT").
256 * Examples: "focus:", "Gtk:GtkWidget:button_press_event".
258 * NOTE: this string may be UTF-8, but should not contain byte value 56 (ascii ':'),
259 * except as a delimiter, since non-UTF-8 string delimiting
260 * functions are used internally. In general, listening to
261 * toolkit-specific events is not recommended.
263 * Add an in-process callback function to an existing AccessibleEventListener.
265 * Returns: #TRUE if successful, otherwise #FALSE.
269 registerGlobalEventListener (AccessibleEventListener *listener,
275 * Get the number of virtual desktops.
276 * NOTE: currently multiple virtual desktops are not implemented, this
277 * function always returns '1'.
279 * Returns: an integer indicating the number of active virtual desktops.
287 * @i: an integer indicating which of the accessible desktops is to be returned.
289 * Get the virtual desktop indicated by index @i.
290 * NOTE: currently multiple virtual desktops are not implemented, this
291 * function always returns '1'.
293 * Returns: a pointer to the 'i-th' virtual desktop's #Accessible representation.
301 * @list: a pointer to an array of #Accessible objects.
303 * Get the list of virtual desktops. On return, @list will point
304 * to a newly-created array of virtual desktop pointers.
305 * It is the responsibility of the caller to free this array when
306 * it is no longer needed.
308 * Not Yet Implemented.
310 * Returns: an integer indicating how many virtual desktops have been
311 * placed in the list pointed to by parameter @list.
314 getDesktopList (Accessible **list);
317 * registerKeystrokeListener:
318 * @listener: a pointer to the #KeystrokeListener for which
319 * keystroke events are requested.
321 * Not Yet Implemented.
325 registerKeystrokeListener (KeystrokeListener *listener,
328 KeyEventMask eventmask,
329 KeyListenerSyncType sync_type);
333 * @keycode: a #long indicating the keycode of the key event
335 * @meta: a #long indicating the key modifiers to be sent
336 * with the event, if any.
338 * Synthesize a keyboard event (as if a hardware keyboard event occurred in the
339 * current UI context).
340 * Not Yet Implemented.
344 generateKeyEvent (long keyCode, long meta);
347 * generateMouseEvent:
348 * @x: a #long indicating the screen x coordinate of the mouse event.
349 * @y: a #long indicating the screen y coordinate of the mouse event.
350 * @name: a string indicating which mouse event to be synthesized
351 * (e.g. "button1", "button2", "mousemove").
353 * Synthesize a mouse event at a specific screen coordinate.
354 * Not Yet Implemented.
358 generateMouseEvent (long x, long y, char *name);
362 * Accessible function prototypes
368 * @obj: a pointer to the #Accessible object on which to operate.
370 * Increment the reference count for an #Accessible object.
372 * Returns: (no return code implemented yet).
376 Accessible_ref (Accessible *obj);
380 * @obj: a pointer to the #Accessible object on which to operate.
382 * Decrement the reference count for an #Accessible object.
384 * Returns: (no return code implemented yet).
388 Accessible_unref (Accessible *obj);
391 * Accessible_getName:
392 * @obj: a pointer to the #Accessible object on which to operate.
394 * Get the name of an #Accessible object.
396 * Returns: a UTF-8 string indicating the name of the #Accessible object.
400 Accessible_getName (Accessible *obj);
403 * Accessible_getDescription:
404 * @obj: a pointer to the #Accessible object on which to operate.
406 * Get the description of an #Accessible object.
408 * Returns: a UTF-8 string describing the #Accessible object.
412 Accessible_getDescription (Accessible *obj);
415 * Accessible_getParent:
416 * @obj: a pointer to the #Accessible object to query.
418 * Get an #Accessible object's parent container.
420 * Returns: a pointer to the #Accessible object which contains the given
421 * #Accessible instance, or NULL if the @obj has no parent container.
425 Accessible_getParent (Accessible *obj);
428 * Accessible_getChildCount:
430 * @obj: a pointer to the #Accessible object on which to operate.
432 * Get the number of children contained by an #Accessible object.
434 * Returns: a #long indicating the number of #Accessible children
435 * contained by an #Accessible object.
439 Accessible_getChildCount (Accessible *obj);
442 * Accessible_getChildAtIndex:
444 * @obj: a pointer to the #Accessible object on which to operate.
445 * @childIndex: a #long indicating which child is specified.
447 * Get the #Accessible child of an #Accessible object at a given index.
449 * Returns: a pointer to the #Accessible child object at index
454 Accessible_getChildAtIndex (Accessible *obj,
458 * Accessible_getIndexInParent:
460 * @obj: a pointer to the #Accessible object on which to operate.
462 * Get the index of an #Accessible object in its containing #Accessible.
464 * Returns: a #long indicating the index of the #Accessible object
465 * in its parent (i.e. containing) #Accessible instance,
466 * or -1 if @obj has no containing parent.
470 Accessible_getIndexInParent (Accessible *obj);
473 * Accessible_getRelationSet:
475 * Not Yet Implemented.
478 AccessibleRelation **
479 Accessible_getRelationSet (Accessible *obj);
482 * Accessible_getRole:
483 * @obj: a pointer to the #Accessible object on which to operate.
485 * Get the UI role of an #Accessible object.
487 * Returns: a UTF-8 string indicating the UI role of the #Accessible object.
491 Accessible_getRole (Accessible *obj);
494 * Accessible_getStateSet:
496 * Not Yet Implemented.
500 Accessible_getStateSet (Accessible *obj);
502 /* Interface query methods */
505 * Accessible_isAction:
506 * @obj: a pointer to the #Accessible instance to query.
508 * Query whether the specified #Accessible implements #AccessibleAction.
509 * Not Yet Implemented.
511 * Returns: #TRUE if @obj implements the #AccessibleAction interface,
515 Accessible_isAction (Accessible *obj);
518 * Accessible_isComponent:
519 * @obj: a pointer to the #Accessible instance to query.
521 * Query whether the specified #Accessible implements #AccessibleComponent.
523 * Returns: #TRUE if @obj implements the #AccessibleComponent interface,
527 Accessible_isComponent (Accessible *obj);
530 * Accessible_isEditableText:
531 * @obj: a pointer to the #Accessible instance to query.
533 * Query whether the specified #Accessible implements #AccessibleEditableText.
534 * Not Yet Implemented.
536 * Returns: #TRUE if @obj implements the #AccessibleEditableText interface,
540 Accessible_isEditableText (Accessible *obj);
543 * Accessible_isHypertext:
544 * @obj: a pointer to the #Accessible instance to query.
546 * Query whether the specified #Accessible implements #AccessibleHypertext.
547 * Not Yet Implemented.
549 * Returns: #TRUE if @obj implements the #AccessibleHypertext interface,
553 Accessible_isHypertext (Accessible *obj);
556 * Accessible_isImage:
557 * @obj: a pointer to the #Accessible instance to query.
559 * Query whether the specified #Accessible implements #AccessibleImage.
560 * Not Yet Implemented.
562 * Returns: #TRUE if @obj implements the #AccessibleImage interface,
566 Accessible_isImage (Accessible *obj);
569 * Accessible_isSelection:
570 * @obj: a pointer to the #Accessible instance to query.
572 * Query whether the specified #Accessible implements #AccessibleSelection.
573 * Not Yet Implemented.
575 * Returns: #TRUE if @obj implements the #AccessibleSelection interface,
579 Accessible_isSelection (Accessible *obj);
582 * Accessible_isTable:
583 * @obj: a pointer to the #Accessible instance to query.
585 * Query whether the specified #Accessible implements #AccessibleTable.
586 * Not Yet Implemented.
588 * Returns: #TRUE if @obj implements the #AccessibleTable interface,
592 Accessible_isTable (Accessible *obj);
596 * @obj: a pointer to the #Accessible instance to query.
598 * Query whether the specified #Accessible implements #AccessibleText.
599 * Not Yet Implemented.
601 * Returns: #TRUE if @obj implements the #AccessibleText interface,
605 Accessible_isText (Accessible *obj);
608 * Accessible_getAction:
610 * Not Yet Implemented.
614 Accessible_getAction (Accessible *obj);
617 * Accessible_getComponent:
618 * @obj: a pointer to the #Accessible instance to query.
620 * Get the #AccessibleComponent interface for an #Accessible.
622 * Returns: a pointer to an #AccessibleComponent interface instance, or
623 * NULL if @obj does not implement #AccessibleComponent.
625 AccessibleComponent *
626 Accessible_getComponent (Accessible *obj);
629 * Accessible_getEditableText:
631 * Not Yet Implemented.
634 AccessibleEditableText *
635 Accessible_getEditableText (Accessible *obj);
638 * Accessible_getHypertext:
640 * Not Yet Implemented.
643 AccessibleHypertext *
644 Accessible_getHypertext (Accessible *obj);
647 * Accessible_getImage:
649 * Not Yet Implemented.
653 Accessible_getImage (Accessible *obj);
656 * Accessible_getSelection:
658 * Not Yet Implemented.
661 AccessibleSelection *
662 Accessible_getSelection (Accessible *obj);
665 * Accessible_getTable:
667 * Not Yet Implemented.
671 Accessible_getTable (Accessible *obj);
674 * Accessible_getText:
676 * Not Yet Implemented.
680 Accessible_getText (Accessible *obj);
683 * Accessible_queryInterface:
684 * @obj: a pointer to the #Accessible instance to query.
685 * @interface_name: a UTF-8 character string specifiying the requested interface.
687 * Query an #Accessible object to for a named interface.
689 * Returns: an instance of the named interface object, if it is implemented
690 * by @obj, or NULL otherwise.
694 Accessible_queryInterface (Accessible *obj, char *interface_name);
698 * AccessibleAction function prototypes
703 AccessibleAction_ref (
704 AccessibleAction *obj);
707 AccessibleAction_unref (AccessibleAction *obj);
710 AccessibleAction_getNActions (AccessibleAction *obj);
713 * AccessibleAction_getDescription:
714 * @obj: a pointer to the #AccessibleAction to query.
716 * Get the description of 'i-th' action invokable on an
717 * object implementing #AccessibleAction.
719 * Not Yet Implemented.
721 * Returns: a UTF-8 string describing the 'i-th' invokable action.
725 AccessibleAction_getDescription (AccessibleAction *obj,
729 AccessibleAction_doAction (AccessibleAction *obj,
733 AccessibleAction_getKeyBinding (AccessibleAction *obj,
738 * AccessibleApplication function prototypes
743 * AccessibleApplication_unref:
744 * @obj: a pointer to the #AccessibleApplication on which to operate.
746 * Decrement the reference count for an #AccessibleApplication.
748 * Returns: (no return code implemented yet).
752 AccessibleApplication_ref (AccessibleApplication *obj);
755 * AccessibleApplication_unref:
756 * @obj: a pointer to the #AccessibleApplication object on which to operate.
758 * Decrement the reference count for an #AccessibleApplication.
760 * Returns: (no return code implemented yet).
764 AccessibleApplication_unref (AccessibleApplication *obj);
767 * AccessibleApplication_getToolkitName:
768 * @obj: a pointer to the #AccessibleApplication to query.
770 * Get the name of the UI toolkit used by an #AccessibleApplication.
772 * Returns: a UTF-8 string indicating which UI toolkit is
773 * used by an application.
777 AccessibleApplication_getToolkitName (AccessibleApplication *obj);
780 * AccessibleApplication_getVersion:
781 * @obj: a pointer to the #AccessibleApplication being queried.
783 * Get the version of the at-spi bridge exported by an
784 * #AccessibleApplication instance.
786 * Returns: a UTF-8 string indicating the application's
791 AccessibleApplication_getVersion (AccessibleApplication *obj);
794 * AccessibleApplication_getID:
795 * @obj: a pointer to the #AccessibleApplication being queried.
797 * Get the unique ID assigned by the Registry to an
798 * #AccessibleApplication instance.
799 * (Not Yet Implemented by the registry).
801 * Returns: a unique #long integer associated with the application
802 * by the Registry, or 0 if the application is not registered.
805 AccessibleApplication_getID (AccessibleApplication *obj);
808 * AccessibleApplication_pause:
810 * Attempt to pause the application (used when client event queue is
812 * Not Yet Implemented.
814 * Returns: #TRUE if the application was paused successfully, #FALSE otherwise.
818 AccessibleApplication_pause (AccessibleApplication *obj);
821 * AccessibleApplication_pause:
823 * Attempt to resume the application (used after #AccessibleApplication_pause).
824 * Not Yet Implemented.
826 * Returns: #TRUE if application processing resumed successfully, #FALSE otherwise.
830 AccessibleApplication_resume (AccessibleApplication *obj);
834 * AccessibleComponent function prototypes
839 AccessibleComponent_ref (AccessibleComponent *obj);
842 AccessibleComponent_unref (AccessibleComponent *obj);
845 AccessibleComponent_contains (AccessibleComponent *obj,
848 AccessibleCoordType ctype);
851 AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj,
854 AccessibleCoordType ctype);
857 * AccessibleComponent_getExtents:
858 * @obj: a pointer to the #AccessibleComponent to query.
859 * @x: a pointer to a #long into which the minimum x coordinate will be returned.
860 * @y: a pointer to a #long into which the minimum y coordinate will be returned.
861 * @width: a pointer to a #long into which the x extents (width) will be returned.
862 * @height: a pointer to a #long into which the y extents (height) will be returned.
863 * @ctype: the desired coordinate system into which to return the results,
864 * (e.g. COORD_TYPE_WINDOW, COORD_TYPE_SCREEN).
866 * Get the bounding box of the specified #AccessibleComponent.
870 AccessibleComponent_getExtents (AccessibleComponent *obj,
875 AccessibleCoordType ctype);
878 AccessibleComponent_getPosition (AccessibleComponent *obj,
881 AccessibleCoordType ctype);
884 AccessibleComponent_getSize (AccessibleComponent *obj,
889 AccessibleComponent_grabFocus (AccessibleComponent *obj);
893 * AccessibleEditableText function prototypes
898 AccessibleEditableText_ref (AccessibleEditableText *obj);
901 AccessibleEditableText_unref (AccessibleEditableText *obj);
904 AccessibleEditableText_setRunAttributes (AccessibleEditableText *obj,
905 const char *attributes,
906 long startPos, long endPos);
909 AccessibleEditableText_setTextContents (AccessibleEditableText *obj,
910 const char *newContents);
913 AccessibleEditableText_insertText (AccessibleEditableText *obj,
919 AccessibleEditableText_copyText (AccessibleText *obj,
924 AccessibleEditableText_cutText (AccessibleEditableText *obj,
929 AccessibleEditableText_deleteText (AccessibleEditableText *obj,
934 AccessibleEditableText_pasteText (AccessibleEditableText *obj,
939 * AccessibleHyperlink function prototypes
944 AccessibleHyperlink_ref (AccessibleHyperlink *obj);
947 AccessibleHyperlink_unref (AccessibleHyperlink *obj);
950 AccessibleHyperlink_getNAnchors (AccessibleHyperlink *obj);
953 AccessibleHyperlink_getURI (AccessibleHyperlink *obj,
957 AccessibleHyperlink_getObject (AccessibleHyperlink *obj,
961 AccessibleHyperlink_getIndexRange (AccessibleHyperlink *obj,
966 AccessibleHyperlink_isValid (AccessibleHyperlink *obj);
970 * AccessibleHypertext function prototypes
975 AccessibleHypertext_ref (AccessibleHypertext *obj);
978 AccessibleHypertext_unref (AccessibleHypertext *obj);
981 AccessibleHypertext_getNLinks (AccessibleHypertext *obj);
983 AccessibleHyperlink *
984 AccessibleHyperText_getLink (AccessibleHypertext *obj,
988 AccessibleHypertext_getLinkIndex (AccessibleHypertext *obj,
989 long characterIndex);
993 * AccessibleImage function prototypes
998 AccessibleImage_ref (AccessibleImage *obj);
1001 AccessibleImage_unref (AccessibleImage *obj);
1004 AccessibleImage_getImageDescription (AccessibleImage *obj);
1007 AccessibleImage_getImageSize (AccessibleImage *obj,
1012 AccessibleImage_getImagePosition (AccessibleImage *obj,
1015 AccessibleCoordType ctype);
1019 * AccessibleRelation function prototypes
1024 AccessibleRelation_ref (AccessibleRelation *obj);
1027 AccessibleRelation_unref (AccessibleRelation *obj);
1030 AccessibleRelation_getRelationType (AccessibleRelation *obj);
1033 AccessibleRelation_getTarget (AccessibleRelation *obj);
1039 * AccessibleSelection function prototypes
1044 AccessibleSelection_ref (AccessibleSelection *obj);
1047 AccessibleSelection_unref (AccessibleSelection *obj);
1050 AccessibleSelection_getNSelectedChildren (AccessibleSelection *obj);
1053 AccessibleSelection_getSelectedChild (AccessibleSelection *obj,
1054 long selectedChildIndex);
1057 AccessibleSelection_selectChild (AccessibleSelection *obj,
1061 AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj,
1062 long selectedChildIndex);
1065 AccessibleSelection_isChildSelected (AccessibleSelection *obj,
1069 AccessibleSelection_selectAll (AccessibleSelection *obj);
1072 AccessibleSelection_clearSelection (AccessibleSelection *obj);
1077 * AccessibleStateSet function prototypes
1082 AccessibleStateSet_ref (AccessibleStateSet *obj);
1085 AccessibleStateSet_unref (AccessibleStateSet *obj);
1088 AccessibleStateSet_contains (AccessibleStateSet *obj,
1089 ACCESSIBLE_STATE state);
1092 AccessibleStateSet_add (AccessibleStateSet *obj,
1093 ACCESSIBLE_STATE state);
1096 AccessibleStateSet_remove (AccessibleStateSet *obj,
1097 ACCESSIBLE_STATE state);
1100 AccessibleStateSet_equals (AccessibleStateSet *obj,
1101 AccessibleStateSet *obj2);
1104 AccessibleStateSet_compare (AccessibleStateSet *obj,
1105 AccessibleStateSet *obj2,
1106 AccessibleStateSet **differenceSet);
1109 AccessibleStateSet_isEmpty (AccessibleStateSet *obj);
1114 * AccessibleTable function prototypes
1119 AccessibleTable_ref (AccessibleTable *obj);
1122 AccessibleTable_unref (AccessibleTable *obj);
1125 AccessibleTable_getCaption (AccessibleTable *obj);
1128 AccessibleTable_getSummary (AccessibleTable *obj);
1131 AccessibleTable_getNRows (AccessibleTable *obj);
1134 AccessibleTable_getNColumns (AccessibleTable *obj);
1137 AccessibleTable_refAt (AccessibleTable *obj,
1142 AccessibleTable_getIndexAt (AccessibleTable *obj,
1147 AccessibleTable_getRowAtIndex (AccessibleTable *obj,
1151 AccessibleTable_getColumnAtIndex (AccessibleTable *obj,
1155 AccessibleTable_getRowDescription (AccessibleTable *obj,
1159 AccessibleTable_getColumnDescription (AccessibleTable *obj,
1163 AccessibleTable_getRowExtentAt (AccessibleTable *obj,
1168 AccessibleTable_getColumnExtentAt (AccessibleTable *obj,
1173 AccessibleTable_getRowHeader (AccessibleTable *obj,
1177 AccessibleTable_getColumnHeader (AccessibleTable *obj,
1181 AccessibleTable_getNSelectedRows (AccessibleTable *obj);
1184 AccessibleTable_getSelectedRows (AccessibleTable *obj,
1185 long **selectedRows);
1188 AccessibleTable_getNSelectedColumns (AccessibleTable *obj);
1191 AccessibleTable_getSelectedColumns (AccessibleTable *obj,
1192 long **selectedColumns);
1195 AccessibleTable_isRowSelected (AccessibleTable *obj,
1199 AccessibleTable_isColumnSelected (AccessibleTable *obj,
1203 AccessibleTable_isSelected (AccessibleTable *obj,
1209 * AccessibleText function prototypes
1214 AccessibleText_ref (AccessibleText *obj);
1217 AccessibleText_unref (AccessibleText *obj);
1220 AccessibleText_getCharacterCount (AccessibleText *obj);
1223 AccessibleText_getText (AccessibleText *obj,
1228 AccessibleText_getCaretOffset (AccessibleText *obj);
1231 AccessibleText_getAttributes (AccessibleText *obj,
1238 AccessibleText_setCaretOffset (AccessibleText *obj,
1242 AccessibleText_getTextBeforeOffset (AccessibleText *obj,
1244 TEXT_BOUNDARY_TYPE type,
1245 long *startOffset, long *endOffset);
1248 AccessibleText_getTextAtOffset (AccessibleText *obj,
1250 TEXT_BOUNDARY_TYPE type,
1251 long *startOffset, long *endOffset);
1254 AccessibleText_getTextAfterOffset (AccessibleText *obj,
1256 TEXT_BOUNDARY_TYPE type,
1257 long *startOffset, long *endOffset);
1259 AccessibleText_getCharacterAtOffset (AccessibleText *obj,
1263 AccessibleText_getCharacterExtents (AccessibleText *obj,
1268 long *height, AccessibleCoordType type);
1271 AccessibleText_getOffsetAtPoint (AccessibleText *obj,
1273 long y, AccessibleCoordType type);
1276 AccessibleText_getNSelections (AccessibleText *obj);
1279 AccessibleText_getSelection (AccessibleText *obj,
1280 long selectionNum, long *startOffset,
1285 AccessibleText_addSelection (AccessibleText *obj,
1286 long startOffset, long endOffset);
1289 AccessibleText_removeSelection (AccessibleText *obj,
1293 AccessibleText_setSelection (AccessibleText *obj,
1300 * AccessibleValue Function Prototypes:
1305 AccessibleValue_getMinimumValue (AccessibleValue *value);
1308 AccessibleValue_getCurrentValue (AccessibleValue *value);
1311 AccessibleValue_getMaximumValue (AccessibleValue *value);
1314 AccessibleValue_setCurrentValue (AccessibleValue *value,
1318 spi_freeString (char *s);