4 #include <glib/gmacros.h>
6 #include <cspi/spi-impl.h>
8 * Definitions for AccessibleRole, AccessibleState,
9 * AccessibleEvent, and event listeners.
11 #include <cspi/spi-roletypes.h>
12 #include <cspi/spi-statetypes.h>
13 #include <cspi/spi-listener.h>
16 * Auxiliary typedefs and mask definitions
18 #include <libspi/keymasks.h>
23 * Enumerated type for text boundary types
27 SPI_TEXT_BOUNDARY_CHAR,
28 SPI_TEXT_BOUNDARY_CURSOR_POS,
29 SPI_TEXT_BOUNDARY_WORD_START,
30 SPI_TEXT_BOUNDARY_WORD_END,
31 SPI_TEXT_BOUNDARY_SENTENCE_START,
32 SPI_TEXT_BOUNDARY_SENTENCE_END,
33 SPI_TEXT_BOUNDARY_LINE_START,
34 SPI_TEXT_BOUNDARY_LINE_END,
35 SPI_TEXT_BOUNDARY_ATTRIBUTE_RANGE
36 } AccessibleTextBoundaryType;
40 * Enumerated type for relation types
46 SPI_RELATION_LABEL_FOR,
47 SPI_RELATION_LABELED_BY,
48 SPI_RELATION_CONTROLLER_FOR,
49 SPI_RELATION_CONTROLLED_BY,
50 SPI_RELATION_MEMBER_OF
51 } AccessibleRelationType;
54 /* don't change the order of these ! */
56 SPI_COORD_TYPE_SCREEN,
58 } AccessibleCoordType;
60 /* XXX: must be single bits since they are used as masks in keylistener API */
64 } AccessibleKeyEventType;
71 } AccessibleKeySynthType;
74 SPI_KEYLISTENER_NOSYNC = 0,
75 SPI_KEYLISTENER_SYNCHRONOUS = 1,
76 SPI_KEYLISTENER_CANCONSUME = 2,
77 SPI_KEYLISTENER_ALL_WINDOWS = 4
78 } AccessibleKeyListenerSyncType;
80 typedef unsigned long AccessibleKeyEventMask;
82 typedef struct _AccessibleKeyStroke
87 AccessibleKeyEventType type;
88 unsigned short modifiers;
89 } AccessibleKeyStroke;
97 * Structure containing identifying information about a set of keycode or
100 typedef struct _AccessibleKeySet
102 unsigned long *keysyms;
103 unsigned short *keycodes;
108 * SPI_KEYSET_ALL_KEYS:
109 * @SPI_KEYSET_ALL_KEYS: A special value for an AccessibleKeySet type, which tacitly
110 * includes all keycodes and keyvals for the specified modifier set.
112 #define SPI_KEYSET_ALL_KEYS NULL
114 typedef unsigned long AccessibleKeyMaskType;
118 * Basic SPI initialization and event loop function prototypes
125 * Connects to the accessibility registry and initializes the SPI.
127 * Returns: 0 on success, otherwise an integer error code.
134 * @isGNOMEApp: a #boolean indicating whether the client of the SPI
135 * will use the Gnome event loop or not.
137 * Starts/enters the main event loop for the SPI services.
139 * (NOTE: This method does not return control, it is exited via a call to exit()
140 * from within an event handler).
144 SPI_event_main (boolean isGNOMEApp);
147 * SPI_event_is_ready:
149 * Checks to see if an SPI event is waiting in the event queue.
150 * Used by clients that don't wish to use SPI_event_main().
151 * Not Yet Implemented.
153 * Returns: #TRUE if an event is waiting, otherwise #FALSE.
162 * Gets the next event in the SPI event queue; blocks if no event
164 * Used by clients that don't wish to use SPI_event_main().
165 * Not Yet Implemented.
167 * Returns: the next #AccessibleEvent in the SPI event queue.
171 SPI_nextEvent (boolean waitForEvent);
176 * Disconnects from the Accessibility Registry and releases resources.
177 * Not Yet Implemented.
184 * Event Listener creation and support.
188 * createAccessibleEventListener:
189 * @callback : an #AccessibleEventListenerCB callback function, or NULL.
191 * Create a new #AccessibleEventListener with a specified callback function.
193 * Returns: a pointer to a newly-created #AccessibleEventListener.
196 AccessibleEventListener *
197 createAccessibleEventListener (AccessibleEventListenerCB callback);
200 * AccessibleEventListener_addCallback:
201 * @listener: the #AccessibleEventListener instance to modify.
202 * @callback: an #AccessibleEventListenerCB function pointer.
204 * Add an in-process callback function to an existing AccessibleEventListener.
206 * Returns: #TRUE if successful, otherwise #FALSE.
210 AccessibleEventListener_addCallback (AccessibleEventListener *listener,
211 AccessibleEventListenerCB callback);
214 * AccessibleEventListener_removeCallback:
215 * @listener: the #AccessibleEventListener instance to modify.
216 * @callback: an #AccessibleEventListenerCB function pointer.
218 * Remove an in-process callback function from an existing AccessibleEventListener.
220 * Returns: #TRUE if successful, otherwise #FALSE.
224 AccessibleEventListener_removeCallback (AccessibleEventListener *listener,
225 AccessibleEventListenerCB callback);
228 * createAccessibleKeystrokeListener:
229 * @callback : an #AccessibleKeystrokeListenerCB callback function, or NULL.
231 * Create a new #AccessibleKeystrokeListener with a specified callback function.
233 * Returns: a pointer to a newly-created #AccessibleKeystrokeListener.
236 AccessibleKeystrokeListener *
237 createAccessibleKeystrokeListener (AccessibleKeystrokeListenerCB callback);
240 * KeystrokeListener_addCallback:
241 * @listener: the #KeystrokeListener instance to modify.
242 * @callback: an #KeystrokeListenerCB function pointer.
244 * Add an in-process callback function to an existing #KeystrokeListener.
246 * Returns: #TRUE if successful, otherwise #FALSE.
250 AccessibleKeystrokeListener_addCallback (AccessibleKeystrokeListener *listener,
251 AccessibleKeystrokeListenerCB callback);
254 * AccessibleKeystrokeListener_removeCallback:
255 * @listener: the #AccessibleKeystrokeListener instance to modify.
256 * @callback: an #AccessibleKeystrokeListenerCB function pointer.
258 * Remove an in-process callback function from an existing #AccessibleKeystrokeListener.
260 * Returns: #TRUE if successful, otherwise #FALSE.
264 AccessibleKeystrokeListener_removeCallback (AccessibleKeystrokeListener *listener,
265 AccessibleKeystrokeListenerCB callback);
269 * Global functions serviced by the registry
274 * registerGlobalEventListener:
275 * @listener: the #AccessibleEventListener to be registered against an event type.
276 * @callback: a character string indicating the type of events for which
277 * notification is requested. Format is
278 * EventClass:major_type:minor_type:detail
279 * where all subfields other than EventClass are optional.
280 * EventClasses include "Focus", "Window", "Mouse",
281 * and toolkit events (e.g. "Gtk", "AWT").
282 * Examples: "focus:", "Gtk:GtkWidget:button_press_event".
284 * NOTE: this string may be UTF-8, but should not contain byte value 56 (ascii ':'),
285 * except as a delimiter, since non-UTF-8 string delimiting
286 * functions are used internally. In general, listening to
287 * toolkit-specific events is not recommended.
289 * Add an in-process callback function to an existing AccessibleEventListener.
291 * Returns: #TRUE if successful, otherwise #FALSE.
295 registerGlobalEventListener (AccessibleEventListener *listener,
298 deregisterGlobalEventListener (AccessibleEventListener *listener,
301 deregisterGlobalEventListenerAll (AccessibleEventListener *listener);
307 * Get the number of virtual desktops.
308 * NOTE: currently multiple virtual desktops are not implemented, this
309 * function always returns '1'.
311 * Returns: an integer indicating the number of active virtual desktops.
319 * @i: an integer indicating which of the accessible desktops is to be returned.
321 * Get the virtual desktop indicated by index @i.
322 * NOTE: currently multiple virtual desktops are not implemented, this
323 * function always returns '1'.
325 * Returns: a pointer to the 'i-th' virtual desktop's #Accessible representation.
333 * @list: a pointer to an array of #Accessible objects.
335 * Get the list of virtual desktops. On return, @list will point
336 * to a newly-created array of virtual desktop pointers.
337 * It is the responsibility of the caller to free this array when
338 * it is no longer needed.
340 * Not Yet Implemented.
342 * Returns: an integer indicating how many virtual desktops have been
343 * placed in the list pointed to by parameter @list.
346 getDesktopList (Accessible **list);
349 * registerAccessibleKeystrokeListener:
350 * @listener: a pointer to the #AccessibleKeystrokeListener for which
351 * keystroke events are requested.
353 * [Partially Implemented.]
357 registerAccessibleKeystrokeListener (AccessibleKeystrokeListener *listener,
358 AccessibleKeySet *keys,
359 AccessibleKeyMaskType modmask,
360 AccessibleKeyEventMask eventmask,
361 AccessibleKeyListenerSyncType sync_type);
364 deregisterAccessibleKeystrokeListener (AccessibleKeystrokeListener *listener,
365 AccessibleKeyMaskType modmask);
369 * @keyval: a #long integer indicating the keycode or keysym of the key event
371 * @synth_type: a #AccessibleKeySynthType flag indicating whether @keyval
372 * is to be interpreted as a keysym rather than a keycode
373 * (SPI_KEYSYM) and whether to synthesize
374 * SPI_KEY_PRESS, SPI_KEY_RELEASE, or both (SPI_KEY_PRESSRELEASE).
376 * Synthesize a keyboard event (as if a hardware keyboard event occurred in the
377 * current UI context).
381 generateKeyEvent (long int keyval, AccessibleKeySynthType synth_type);
384 * generateMouseEvent:
385 * @x: a #long int indicating the screen x coordinate of the mouse event.
386 * @y: a #long int indicating the screen y coordinate of the mouse event.
387 * @name: a string indicating which mouse event to be synthesized
388 * (e.g. "button1", "button2", "mousemove").
390 * Synthesize a mouse event at a specific screen coordinate.
391 * Not Yet Implemented.
395 generateMouseEvent (long int x, long int y, char *name);
399 * Accessible function prototypes
405 * @obj: a pointer to the #Accessible object on which to operate.
407 * Increment the reference count for an #Accessible object.
409 * Returns: (no return code implemented yet).
413 Accessible_ref (Accessible *obj);
417 * @obj: a pointer to the #Accessible object on which to operate.
419 * Decrement the reference count for an #Accessible object.
421 * Returns: (no return code implemented yet).
425 Accessible_unref (Accessible *obj);
428 * Accessible_getName:
429 * @obj: a pointer to the #Accessible object on which to operate.
431 * Get the name of an #Accessible object.
433 * Returns: a UTF-8 string indicating the name of the #Accessible object.
437 Accessible_getName (Accessible *obj);
440 * Accessible_getDescription:
441 * @obj: a pointer to the #Accessible object on which to operate.
443 * Get the description of an #Accessible object.
445 * Returns: a UTF-8 string describing the #Accessible object.
449 Accessible_getDescription (Accessible *obj);
452 * Accessible_getParent:
453 * @obj: a pointer to the #Accessible object to query.
455 * Get an #Accessible object's parent container.
457 * Returns: a pointer to the #Accessible object which contains the given
458 * #Accessible instance, or NULL if the @obj has no parent container.
462 Accessible_getParent (Accessible *obj);
465 * Accessible_getChildCount:
466 * @obj: a pointer to the #Accessible object on which to operate.
468 * Get the number of children contained by an #Accessible object.
470 * Returns: a #long indicating the number of #Accessible children
471 * contained by an #Accessible object.
475 Accessible_getChildCount (Accessible *obj);
478 * Accessible_getChildAtIndex:
480 * @obj: a pointer to the #Accessible object on which to operate.
481 * @childIndex: a #long indicating which child is specified.
483 * Get the #Accessible child of an #Accessible object at a given index.
485 * Returns: a pointer to the #Accessible child object at index
490 Accessible_getChildAtIndex (Accessible *obj,
491 long int childIndex);
494 * Accessible_getIndexInParent:
496 * @obj: a pointer to the #Accessible object on which to operate.
498 * Get the index of an #Accessible object in its containing #Accessible.
500 * Returns: a #long indicating the index of the #Accessible object
501 * in its parent (i.e. containing) #Accessible instance,
502 * or -1 if @obj has no containing parent.
506 Accessible_getIndexInParent (Accessible *obj);
509 * Accessible_getRelationSet:
510 * @obj: a pointer to the #Accessible object on which to operate.
512 * Not Yet Implemented.
514 * Returns: a pointer to an array of #AccessibleRelations.
517 AccessibleRelation **
518 Accessible_getRelationSet (Accessible *obj);
521 * Accessible_getRole:
522 * @obj: a pointer to the #Accessible object on which to operate.
524 * Get the UI role of an #Accessible object.
526 * Returns: a UTF-8 string indicating the UI role of the #Accessible object.
530 Accessible_getRole (Accessible *obj);
533 * Accessible_getStateSet:
534 * @obj: a pointer to the #Accessible object on which to operate.
536 * Not Yet Implemented.
538 * Returns: a pointer to an #AccessibleStateSet representing the object's current state.
542 Accessible_getStateSet (Accessible *obj);
544 /* Interface query methods */
547 * Accessible_isAction:
548 * @obj: a pointer to the #Accessible instance to query.
550 * Query whether the specified #Accessible implements #AccessibleAction.
552 * Returns: #TRUE if @obj implements the #AccessibleAction interface,
556 Accessible_isAction (Accessible *obj);
559 * Accessible_isComponent:
560 * @obj: a pointer to the #Accessible instance to query.
562 * Query whether the specified #Accessible implements #AccessibleComponent.
564 * Returns: #TRUE if @obj implements the #AccessibleComponent interface,
568 Accessible_isComponent (Accessible *obj);
571 * Accessible_isEditableText:
572 * @obj: a pointer to the #Accessible instance to query.
574 * Query whether the specified #Accessible implements #AccessibleEditableText.
576 * Returns: #TRUE if @obj implements the #AccessibleEditableText interface,
580 Accessible_isEditableText (Accessible *obj);
583 * Accessible_isHypertext:
584 * @obj: a pointer to the #Accessible instance to query.
586 * Query whether the specified #Accessible implements #AccessibleHypertext.
588 * Returns: #TRUE if @obj implements the #AccessibleHypertext interface,
592 Accessible_isHypertext (Accessible *obj);
595 * Accessible_isImage:
596 * @obj: a pointer to the #Accessible instance to query.
598 * Query whether the specified #Accessible implements #AccessibleImage.
600 * Returns: #TRUE if @obj implements the #AccessibleImage interface,
604 Accessible_isImage (Accessible *obj);
607 * Accessible_isSelection:
608 * @obj: a pointer to the #Accessible instance to query.
610 * Query whether the specified #Accessible implements #AccessibleSelection.
612 * Returns: #TRUE if @obj implements the #AccessibleSelection interface,
616 Accessible_isSelection (Accessible *obj);
619 * Accessible_isTable:
620 * @obj: a pointer to the #Accessible instance to query.
622 * Query whether the specified #Accessible implements #AccessibleTable.
624 * Returns: #TRUE if @obj implements the #AccessibleTable interface,
628 Accessible_isTable (Accessible *obj);
632 * @obj: a pointer to the #Accessible instance to query.
634 * Query whether the specified #Accessible implements #AccessibleText.
636 * Returns: #TRUE if @obj implements the #AccessibleText interface,
640 Accessible_isText (Accessible *obj);
643 Accessible_getAction (Accessible *obj);
646 * Accessible_getComponent:
647 * @obj: a pointer to the #Accessible instance to query.
649 * Get the #AccessibleComponent interface for an #Accessible.
651 * Returns: a pointer to an #AccessibleComponent interface instance, or
652 * NULL if @obj does not implement #AccessibleComponent.
654 AccessibleComponent *
655 Accessible_getComponent (Accessible *obj);
658 * Accessible_getEditableText:
660 * Not Yet Implemented.
663 AccessibleEditableText *
664 Accessible_getEditableText (Accessible *obj);
667 * Accessible_getHypertext:
669 * Not Yet Implemented.
672 AccessibleHypertext *
673 Accessible_getHypertext (Accessible *obj);
676 * Accessible_getImage:
678 * Not Yet Implemented.
682 Accessible_getImage (Accessible *obj);
685 * Accessible_getSelection:
687 * Not Yet Implemented.
690 AccessibleSelection *
691 Accessible_getSelection (Accessible *obj);
694 * Accessible_getTable:
696 * Not Yet Implemented.
700 Accessible_getTable (Accessible *obj);
703 * Accessible_getText:
705 * Not Yet Implemented.
709 Accessible_getText (Accessible *obj);
712 * Accessible_queryInterface:
713 * @obj: a pointer to the #Accessible instance to query.
714 * @interface_name: a UTF-8 character string specifiying the requested interface.
716 * Query an #Accessible object to for a named interface.
718 * Returns: an instance of the named interface object, if it is implemented
719 * by @obj, or NULL otherwise.
723 Accessible_queryInterface (Accessible *obj, char *interface_name);
727 * AccessibleAction function prototypes
732 AccessibleAction_ref (AccessibleAction *obj);
735 AccessibleAction_unref (AccessibleAction *obj);
738 AccessibleAction_getNActions (AccessibleAction *obj);
741 * AccessibleAction_getName:
742 * @obj: a pointer to the #AccessibleAction implementor to query.
743 * @i: a long integer indicating which action to query.
745 * Get the name of the '@i-th' action invokable on an
746 * object implementing #AccessibleAction.
748 * Returns: the 'event type' name of the action, as a UTF-8 string.
752 AccessibleAction_getName (AccessibleAction *obj, long int i);
755 * AccessibleAction_getDescription:
756 * @obj: a pointer to the #AccessibleAction to query.
757 * @i: a long integer indicating which action to query.
759 * Get the description of '@i-th' action invokable on an
760 * object implementing #AccessibleAction.
762 * Returns: a UTF-8 string describing the '@i-th' invokable action.
766 AccessibleAction_getDescription (AccessibleAction *obj,
770 AccessibleAction_doAction (AccessibleAction *obj,
774 * AccessibleAction_getKeybinding:
775 * @obj: a pointer to the #AccessibleAction implementor to query.
776 * @i: a long integer indicating which action to query.
778 * Get the keybindings for the @i-th action invokable on an
779 * object implementing #AccessibleAction, if any are defined.
781 * Returns: a UTF-8 string which can be parsed to determine the @i-th
782 * invokable action's keybindings.
786 AccessibleAction_getKeyBinding (AccessibleAction *obj,
791 * AccessibleApplication function prototypes
796 * AccessibleApplication_unref:
797 * @obj: a pointer to the #AccessibleApplication on which to operate.
799 * Decrement the reference count for an #AccessibleApplication.
801 * Returns: (no return code implemented yet).
805 AccessibleApplication_ref (AccessibleApplication *obj);
808 * AccessibleApplication_unref:
809 * @obj: a pointer to the #AccessibleApplication object on which to operate.
811 * Decrement the reference count for an #AccessibleApplication.
813 * Returns: (no return code implemented yet).
817 AccessibleApplication_unref (AccessibleApplication *obj);
820 * AccessibleApplication_getToolkitName:
821 * @obj: a pointer to the #AccessibleApplication to query.
823 * Get the name of the UI toolkit used by an #AccessibleApplication.
825 * Returns: a UTF-8 string indicating which UI toolkit is
826 * used by an application.
830 AccessibleApplication_getToolkitName (AccessibleApplication *obj);
833 * AccessibleApplication_getVersion:
834 * @obj: a pointer to the #AccessibleApplication being queried.
836 * Get the version of the at-spi bridge exported by an
837 * #AccessibleApplication instance.
839 * Returns: a UTF-8 string indicating the application's
844 AccessibleApplication_getVersion (AccessibleApplication *obj);
847 * AccessibleApplication_getID:
848 * @obj: a pointer to the #AccessibleApplication being queried.
850 * Get the unique ID assigned by the Registry to an
851 * #AccessibleApplication instance.
852 * (Not Yet Implemented by the registry).
854 * Returns: a unique #long integer associated with the application
855 * by the Registry, or 0 if the application is not registered.
858 AccessibleApplication_getID (AccessibleApplication *obj);
861 * AccessibleApplication_pause:
862 * @obj: a pointer to the #Accessible object on which to operate.
864 * Attempt to pause the application (used when client event queue is
866 * Not Yet Implemented.
868 * Returns: #TRUE if the application was paused successfully, #FALSE otherwise.
872 AccessibleApplication_pause (AccessibleApplication *obj);
875 * AccessibleApplication_resume:
876 * @obj: a pointer to the #Accessible object on which to operate.
878 * Attempt to resume the application (used after #AccessibleApplication_pause).
879 * Not Yet Implemented.
881 * Returns: #TRUE if application processing resumed successfully, #FALSE otherwise.
885 AccessibleApplication_resume (AccessibleApplication *obj);
889 * AccessibleComponent function prototypes
894 AccessibleComponent_ref (AccessibleComponent *obj);
897 AccessibleComponent_unref (AccessibleComponent *obj);
900 AccessibleComponent_contains (AccessibleComponent *obj,
903 AccessibleCoordType ctype);
906 AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj,
909 AccessibleCoordType ctype);
912 * AccessibleComponent_getExtents:
913 * @obj: a pointer to the #AccessibleComponent to query.
914 * @x: a pointer to a #long into which the minimum x coordinate will be returned.
915 * @y: a pointer to a #long into which the minimum y coordinate will be returned.
916 * @width: a pointer to a #long into which the x extents (width) will be returned.
917 * @height: a pointer to a #long into which the y extents (height) will be returned.
918 * @ctype: the desired coordinate system into which to return the results,
919 * (e.g. COORD_TYPE_WINDOW, COORD_TYPE_SCREEN).
921 * Get the bounding box of the specified #AccessibleComponent.
925 AccessibleComponent_getExtents (AccessibleComponent *obj,
930 AccessibleCoordType ctype);
933 AccessibleComponent_getPosition (AccessibleComponent *obj,
936 AccessibleCoordType ctype);
939 AccessibleComponent_getSize (AccessibleComponent *obj,
944 AccessibleComponent_grabFocus (AccessibleComponent *obj);
948 * AccessibleEditableText function prototypes
953 AccessibleEditableText_ref (AccessibleEditableText *obj);
956 AccessibleEditableText_unref (AccessibleEditableText *obj);
959 AccessibleEditableText_setAttributes (AccessibleEditableText *obj,
960 const char *attributes,
961 long int startOffset,
965 AccessibleEditableText_setTextContents (AccessibleEditableText *obj,
966 const char *newContents);
969 AccessibleEditableText_insertText (AccessibleEditableText *obj,
975 AccessibleEditableText_copyText (AccessibleText *obj,
980 AccessibleEditableText_cutText (AccessibleEditableText *obj,
985 AccessibleEditableText_deleteText (AccessibleEditableText *obj,
990 AccessibleEditableText_pasteText (AccessibleEditableText *obj,
995 * AccessibleHyperlink function prototypes
1000 AccessibleHyperlink_getNAnchors (AccessibleHyperlink *obj);
1003 AccessibleHyperlink_getURI (AccessibleHyperlink *obj,
1007 AccessibleHyperlink_getObject (AccessibleHyperlink *obj,
1011 AccessibleHyperlink_getIndexRange (AccessibleHyperlink *obj,
1012 long int *startIndex,
1013 long int *endIndex);
1016 AccessibleHyperlink_isValid (AccessibleHyperlink *obj);
1020 * AccessibleHypertext function prototypes
1025 AccessibleHypertext_ref (AccessibleHypertext *obj);
1028 AccessibleHypertext_unref (AccessibleHypertext *obj);
1031 AccessibleHypertext_getNLinks (AccessibleHypertext *obj);
1033 AccessibleHyperlink *
1034 AccessibleHypertext_getLink (AccessibleHypertext *obj,
1035 long int linkIndex);
1038 AccessibleHypertext_getLinkIndex (AccessibleHypertext *obj,
1039 long int characterOffset);
1043 * AccessibleImage function prototypes
1048 AccessibleImage_ref (AccessibleImage *obj);
1051 AccessibleImage_unref (AccessibleImage *obj);
1054 AccessibleImage_getImageDescription (AccessibleImage *obj);
1057 AccessibleImage_getImageSize (AccessibleImage *obj,
1062 AccessibleImage_getImagePosition (AccessibleImage *obj,
1065 AccessibleCoordType ctype);
1069 * AccessibleRelation function prototypes
1074 AccessibleRelation_ref (AccessibleRelation *obj);
1077 AccessibleRelation_unref (AccessibleRelation *obj);
1079 AccessibleRelationType
1080 AccessibleRelation_getRelationType (AccessibleRelation *obj);
1083 AccessibleRelation_getNTargets (AccessibleRelation *obj);
1086 AccessibleRelation_getTarget (AccessibleRelation *obj, int i);
1091 * AccessibleSelection function prototypes
1096 AccessibleSelection_ref (AccessibleSelection *obj);
1099 AccessibleSelection_unref (AccessibleSelection *obj);
1102 AccessibleSelection_getNSelectedChildren (AccessibleSelection *obj);
1105 AccessibleSelection_getSelectedChild (AccessibleSelection *obj,
1106 long int selectedChildIndex);
1109 AccessibleSelection_selectChild (AccessibleSelection *obj,
1110 long int childIndex);
1113 AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj,
1114 long int selectedChildIndex);
1117 AccessibleSelection_isChildSelected (AccessibleSelection *obj,
1118 long int childIndex);
1121 AccessibleSelection_selectAll (AccessibleSelection *obj);
1124 AccessibleSelection_clearSelection (AccessibleSelection *obj);
1129 * AccessibleStateSet function prototypes
1134 AccessibleStateSet_ref (AccessibleStateSet *obj);
1137 AccessibleStateSet_unref (AccessibleStateSet *obj);
1140 AccessibleStateSet_contains (AccessibleStateSet *obj,
1141 AccessibleState state);
1144 AccessibleStateSet_add (AccessibleStateSet *obj,
1145 AccessibleState state);
1148 AccessibleStateSet_remove (AccessibleStateSet *obj,
1149 AccessibleState state);
1152 AccessibleStateSet_equals (AccessibleStateSet *obj,
1153 AccessibleStateSet *obj2);
1156 AccessibleStateSet_compare (AccessibleStateSet *obj,
1157 AccessibleStateSet *obj2,
1158 AccessibleStateSet **differenceSet);
1161 AccessibleStateSet_isEmpty (AccessibleStateSet *obj);
1166 * AccessibleTable function prototypes
1171 AccessibleTable_ref (AccessibleTable *obj);
1174 AccessibleTable_unref (AccessibleTable *obj);
1177 AccessibleTable_getCaption (AccessibleTable *obj);
1180 AccessibleTable_getSummary (AccessibleTable *obj);
1183 AccessibleTable_getNRows (AccessibleTable *obj);
1186 AccessibleTable_getNColumns (AccessibleTable *obj);
1189 AccessibleTable_getAccessibleAt (AccessibleTable *obj,
1194 AccessibleTable_getIndexAt (AccessibleTable *obj,
1199 AccessibleTable_getRowAtIndex (AccessibleTable *obj,
1203 AccessibleTable_getColumnAtIndex (AccessibleTable *obj,
1207 AccessibleTable_getRowDescription (AccessibleTable *obj,
1211 AccessibleTable_getColumnDescription (AccessibleTable *obj,
1215 AccessibleTable_getRowExtentAt (AccessibleTable *obj,
1220 AccessibleTable_getColumnExtentAt (AccessibleTable *obj,
1225 AccessibleTable_getRowHeader (AccessibleTable *obj,
1229 AccessibleTable_getColumnHeader (AccessibleTable *obj,
1233 AccessibleTable_getNSelectedRows (AccessibleTable *obj);
1236 AccessibleTable_getSelectedRows (AccessibleTable *obj,
1237 long int **selectedRows);
1240 AccessibleTable_getNSelectedColumns (AccessibleTable *obj);
1243 AccessibleTable_getSelectedColumns (AccessibleTable *obj,
1244 long int **selectedColumns);
1247 AccessibleTable_isRowSelected (AccessibleTable *obj,
1251 AccessibleTable_isColumnSelected (AccessibleTable *obj,
1255 AccessibleTable_isSelected (AccessibleTable *obj,
1261 * AccessibleText function prototypes
1266 AccessibleText_ref (AccessibleText *obj);
1269 AccessibleText_unref (AccessibleText *obj);
1272 AccessibleText_getCharacterCount (AccessibleText *obj);
1275 AccessibleText_getText (AccessibleText *obj,
1276 long int startOffset,
1277 long int endOffset);
1280 AccessibleText_getCaretOffset (AccessibleText *obj);
1283 AccessibleText_getAttributes (AccessibleText *obj,
1285 long int *startOffset,
1286 long int *endOffset);
1290 AccessibleText_setCaretOffset (AccessibleText *obj,
1291 long int newOffset);
1294 AccessibleText_getTextBeforeOffset (AccessibleText *obj,
1296 AccessibleTextBoundaryType type,
1297 long int *startOffset,
1298 long int *endOffset);
1301 AccessibleText_getTextAtOffset (AccessibleText *obj,
1303 AccessibleTextBoundaryType type,
1304 long int *startOffset,
1305 long int *endOffset);
1308 AccessibleText_getTextAfterOffset (AccessibleText *obj,
1310 AccessibleTextBoundaryType type,
1311 long int *startOffset,
1312 long int *endOffset);
1315 AccessibleText_getCharacterAtOffset (AccessibleText *obj,
1319 AccessibleText_getCharacterExtents (AccessibleText *obj,
1325 AccessibleCoordType type);
1328 AccessibleText_getOffsetAtPoint (AccessibleText *obj,
1331 AccessibleCoordType type);
1334 AccessibleText_getNSelections (AccessibleText *obj);
1337 AccessibleText_getSelection (AccessibleText *obj,
1338 long int selectionNum,
1339 long int *startOffset,
1340 long int *endOffset);
1344 AccessibleText_addSelection (AccessibleText *obj,
1345 long int startOffset,
1346 long int endOffset);
1349 AccessibleText_removeSelection (AccessibleText *obj,
1350 long int selectionNum);
1353 AccessibleText_setSelection (AccessibleText *obj,
1354 long int selectionNum,
1355 long int startOffset,
1356 long int endOffset);
1360 * AccessibleValue Function Prototypes:
1365 AccessibleValue_ref (AccessibleValue *obj);
1368 AccessibleValue_unref (AccessibleValue *obj);
1371 AccessibleValue_getMinimumValue (AccessibleValue *obj);
1374 AccessibleValue_getCurrentValue (AccessibleValue *obj);
1377 AccessibleValue_getMaximumValue (AccessibleValue *obj);
1380 AccessibleValue_setCurrentValue (AccessibleValue *obj,
1384 spi_freeString (char *s);