5 /* Implementation private definitions */
10 * Definitions for AccessibleRole, AccessibleState, AccessibleEvent,
11 * and event listeners.
14 #include "spi-roletypes.h"
15 #include "spi-statetypes.h"
16 #include "spi-listener.h"
19 * Auxiliary typedefs and mask definitions
25 * Enumerated type for text boundary types
31 SPI_TEXT_BOUNDARY_CHAR,
32 SPI_TEXT_BOUNDARY_CURSOR_POS,
33 SPI_TEXT_BOUNDARY_WORD_START,
34 SPI_TEXT_BOUNDARY_WORD_END,
35 SPI_TEXT_BOUNDARY_SENTENCE_START,
36 SPI_TEXT_BOUNDARY_SENTENCE_END,
37 SPI_TEXT_BOUNDARY_LINE_START,
38 SPI_TEXT_BOUNDARY_LINE_END,
39 SPI_TEXT_BOUNDARY_ATTRIBUTE_RANGE
40 } AccessibleTextBoundaryType;
44 * Enumerated type for relation types
50 SPI_RELATION_LABEL_FOR,
51 SPI_RELATION_LABELED_BY,
52 SPI_RELATION_CONTROLLER_FOR,
53 SPI_RELATION_CONTROLLED_BY,
54 SPI_RELATION_MEMBER_OF
55 } AccessibleRelationType;
58 /* don't change the order of these ! */
60 SPI_COORD_TYPE_SCREEN,
62 } AccessibleCoordType;
64 /* XXX: must be single bits since they are used as masks in keylistener API */
68 } AccessibleKeyEventType;
75 } AccessibleKeySynthType;
78 SPI_KEYLISTENER_NOSYNC = 0,
79 SPI_KEYLISTENER_SYNCHRONOUS = 1,
80 SPI_KEYLISTENER_CANCONSUME = 2,
81 SPI_KEYLISTENER_ALL_WINDOWS = 4
82 } AccessibleKeyListenerSyncType;
84 typedef unsigned long AccessibleKeyEventMask;
86 typedef struct _AccessibleKeyStroke
91 AccessibleKeyEventType type;
92 unsigned short modifiers;
93 } AccessibleKeyStroke;
101 * Structure containing identifying information about a set of keycode or
104 typedef struct _AccessibleKeySet
106 unsigned long *keysyms;
107 unsigned short *keycodes;
112 * SPI_KEYSET_ALL_KEYS:
113 * @SPI_KEYSET_ALL_KEYS: A special value for an AccessibleKeySet type, which tacitly
114 * includes all keycodes and keyvals for the specified modifier set.
116 #define SPI_KEYSET_ALL_KEYS NULL
118 typedef unsigned long AccessibleKeyMaskType;
122 * Basic SPI initialization and event loop function prototypes
129 * Connects to the accessibility registry and initializes the SPI.
131 * Returns: 0 on success, otherwise an integer error code.
138 * @isGNOMEApp: a #boolean indicating whether the client of the SPI
139 * will use the Gnome event loop or not.
141 * Starts/enters the main event loop for the SPI services.
143 * (NOTE: This method does not return control, it is exited via a call to exit()
144 * from within an event handler).
148 SPI_event_main (boolean isGNOMEApp);
151 * SPI_event_is_ready:
153 * Checks to see if an SPI event is waiting in the event queue.
154 * Used by clients that don't wish to use SPI_event_main().
155 * Not Yet Implemented.
157 * Returns: #TRUE if an event is waiting, otherwise #FALSE.
166 * Gets the next event in the SPI event queue; blocks if no event
168 * Used by clients that don't wish to use SPI_event_main().
169 * Not Yet Implemented.
171 * Returns: the next #AccessibleEvent in the SPI event queue.
175 SPI_nextEvent (boolean waitForEvent);
180 * Disconnects from the Accessibility Registry and releases resources.
181 * Not Yet Implemented.
188 * Event Listener creation and support.
192 * createAccessibleEventListener:
193 * @callback : an #AccessibleEventListenerCB callback function, or NULL.
195 * Create a new #AccessibleEventListener with a specified callback function.
197 * Returns: a pointer to a newly-created #AccessibleEventListener.
200 AccessibleEventListener *
201 createAccessibleEventListener (AccessibleEventListenerCB callback);
204 * AccessibleEventListener_addCallback:
205 * @listener: the #AccessibleEventListener instance to modify.
206 * @callback: an #AccessibleEventListenerCB function pointer.
208 * Add an in-process callback function to an existing AccessibleEventListener.
210 * Returns: #TRUE if successful, otherwise #FALSE.
214 AccessibleEventListener_addCallback (AccessibleEventListener *listener,
215 AccessibleEventListenerCB callback);
218 * AccessibleEventListener_removeCallback:
219 * @listener: the #AccessibleEventListener instance to modify.
220 * @callback: an #AccessibleEventListenerCB function pointer.
222 * Remove an in-process callback function from an existing AccessibleEventListener.
224 * Returns: #TRUE if successful, otherwise #FALSE.
228 AccessibleEventListener_removeCallback (AccessibleEventListener *listener,
229 AccessibleEventListenerCB callback);
232 * createAccessibleKeystrokeListener:
233 * @callback : an #AccessibleKeystrokeListenerCB callback function, or NULL.
235 * Create a new #AccessibleKeystrokeListener with a specified callback function.
237 * Returns: a pointer to a newly-created #AccessibleKeystrokeListener.
240 AccessibleKeystrokeListener *
241 createAccessibleKeystrokeListener (AccessibleKeystrokeListenerCB callback);
244 * KeystrokeListener_addCallback:
245 * @listener: the #KeystrokeListener instance to modify.
246 * @callback: an #KeystrokeListenerCB function pointer.
248 * Add an in-process callback function to an existing #KeystrokeListener.
250 * Returns: #TRUE if successful, otherwise #FALSE.
254 AccessibleKeystrokeListener_addCallback (AccessibleKeystrokeListener *listener,
255 AccessibleKeystrokeListenerCB callback);
258 * AccessibleKeystrokeListener_removeCallback:
259 * @listener: the #AccessibleKeystrokeListener instance to modify.
260 * @callback: an #AccessibleKeystrokeListenerCB function pointer.
262 * Remove an in-process callback function from an existing #AccessibleKeystrokeListener.
264 * Returns: #TRUE if successful, otherwise #FALSE.
268 AccessibleKeystrokeListener_removeCallback (AccessibleKeystrokeListener *listener,
269 AccessibleKeystrokeListenerCB callback);
273 * Global functions serviced by the registry
278 * registerGlobalEventListener:
279 * @listener: the #AccessibleEventListener to be registered against an event type.
280 * @callback: a character string indicating the type of events for which
281 * notification is requested. Format is
282 * EventClass:major_type:minor_type:detail
283 * where all subfields other than EventClass are optional.
284 * EventClasses include "Focus", "Window", "Mouse",
285 * and toolkit events (e.g. "Gtk", "AWT").
286 * Examples: "focus:", "Gtk:GtkWidget:button_press_event".
288 * NOTE: this string may be UTF-8, but should not contain byte value 56 (ascii ':'),
289 * except as a delimiter, since non-UTF-8 string delimiting
290 * functions are used internally. In general, listening to
291 * toolkit-specific events is not recommended.
293 * Add an in-process callback function to an existing AccessibleEventListener.
295 * Returns: #TRUE if successful, otherwise #FALSE.
299 registerGlobalEventListener (AccessibleEventListener *listener,
302 deregisterGlobalEventListener (AccessibleEventListener *listener,
305 deregisterGlobalEventListenerAll (AccessibleEventListener *listener);
311 * Get the number of virtual desktops.
312 * NOTE: currently multiple virtual desktops are not implemented, this
313 * function always returns '1'.
315 * Returns: an integer indicating the number of active virtual desktops.
323 * @i: an integer indicating which of the accessible desktops is to be returned.
325 * Get the virtual desktop indicated by index @i.
326 * NOTE: currently multiple virtual desktops are not implemented, this
327 * function always returns '1'.
329 * Returns: a pointer to the 'i-th' virtual desktop's #Accessible representation.
337 * @list: a pointer to an array of #Accessible objects.
339 * Get the list of virtual desktops. On return, @list will point
340 * to a newly-created array of virtual desktop pointers.
341 * It is the responsibility of the caller to free this array when
342 * it is no longer needed.
344 * Not Yet Implemented.
346 * Returns: an integer indicating how many virtual desktops have been
347 * placed in the list pointed to by parameter @list.
350 getDesktopList (Accessible **list);
353 * registerAccessibleKeystrokeListener:
354 * @listener: a pointer to the #AccessibleKeystrokeListener for which
355 * keystroke events are requested.
357 * [Partially Implemented.]
361 registerAccessibleKeystrokeListener (AccessibleKeystrokeListener *listener,
362 AccessibleKeySet *keys,
363 AccessibleKeyMaskType modmask,
364 AccessibleKeyEventMask eventmask,
365 AccessibleKeyListenerSyncType sync_type);
368 deregisterAccessibleKeystrokeListener (AccessibleKeystrokeListener *listener,
369 AccessibleKeyMaskType modmask);
373 * @keyval: a #long integer indicating the keycode or keysym of the key event
375 * @synth_type: a #AccessibleKeySynthType flag indicating whether @keyval
376 * is to be interpreted as a keysym rather than a keycode
377 * (SPI_KEYSYM) and whether to synthesize
378 * SPI_KEY_PRESS, SPI_KEY_RELEASE, or both (SPI_KEY_PRESSRELEASE).
380 * Synthesize a keyboard event (as if a hardware keyboard event occurred in the
381 * current UI context).
385 generateKeyEvent (long int keyval, AccessibleKeySynthType synth_type);
388 * generateMouseEvent:
389 * @x: a #long int indicating the screen x coordinate of the mouse event.
390 * @y: a #long int indicating the screen y coordinate of the mouse event.
391 * @name: a string indicating which mouse event to be synthesized
392 * (e.g. "button1", "button2", "mousemove").
394 * Synthesize a mouse event at a specific screen coordinate.
395 * Not Yet Implemented.
399 generateMouseEvent (long int x, long int y, char *name);
403 * Accessible function prototypes
409 * @obj: a pointer to the #Accessible object on which to operate.
411 * Increment the reference count for an #Accessible object.
413 * Returns: (no return code implemented yet).
417 Accessible_ref (Accessible *obj);
421 * @obj: a pointer to the #Accessible object on which to operate.
423 * Decrement the reference count for an #Accessible object.
425 * Returns: (no return code implemented yet).
429 Accessible_unref (Accessible *obj);
432 * Accessible_getName:
433 * @obj: a pointer to the #Accessible object on which to operate.
435 * Get the name of an #Accessible object.
437 * Returns: a UTF-8 string indicating the name of the #Accessible object.
441 Accessible_getName (Accessible *obj);
444 * Accessible_getDescription:
445 * @obj: a pointer to the #Accessible object on which to operate.
447 * Get the description of an #Accessible object.
449 * Returns: a UTF-8 string describing the #Accessible object.
453 Accessible_getDescription (Accessible *obj);
456 * Accessible_getParent:
457 * @obj: a pointer to the #Accessible object to query.
459 * Get an #Accessible object's parent container.
461 * Returns: a pointer to the #Accessible object which contains the given
462 * #Accessible instance, or NULL if the @obj has no parent container.
466 Accessible_getParent (Accessible *obj);
469 * Accessible_getChildCount:
470 * @obj: a pointer to the #Accessible object on which to operate.
472 * Get the number of children contained by an #Accessible object.
474 * Returns: a #long indicating the number of #Accessible children
475 * contained by an #Accessible object.
479 Accessible_getChildCount (Accessible *obj);
482 * Accessible_getChildAtIndex:
484 * @obj: a pointer to the #Accessible object on which to operate.
485 * @childIndex: a #long indicating which child is specified.
487 * Get the #Accessible child of an #Accessible object at a given index.
489 * Returns: a pointer to the #Accessible child object at index
494 Accessible_getChildAtIndex (Accessible *obj,
495 long int childIndex);
498 * Accessible_getIndexInParent:
500 * @obj: a pointer to the #Accessible object on which to operate.
502 * Get the index of an #Accessible object in its containing #Accessible.
504 * Returns: a #long indicating the index of the #Accessible object
505 * in its parent (i.e. containing) #Accessible instance,
506 * or -1 if @obj has no containing parent.
510 Accessible_getIndexInParent (Accessible *obj);
513 * Accessible_getRelationSet:
514 * @obj: a pointer to the #Accessible object on which to operate.
516 * Not Yet Implemented.
518 * Returns: a pointer to an array of #AccessibleRelations.
521 AccessibleRelation **
522 Accessible_getRelationSet (Accessible *obj);
525 * Accessible_getRole:
526 * @obj: a pointer to the #Accessible object on which to operate.
528 * Get the UI role of an #Accessible object.
530 * Returns: a UTF-8 string indicating the UI role of the #Accessible object.
534 Accessible_getRole (Accessible *obj);
537 * Accessible_getStateSet:
538 * @obj: a pointer to the #Accessible object on which to operate.
540 * Not Yet Implemented.
542 * Returns: a pointer to an #AccessibleStateSet representing the object's current state.
546 Accessible_getStateSet (Accessible *obj);
548 /* Interface query methods */
551 * Accessible_isAction:
552 * @obj: a pointer to the #Accessible instance to query.
554 * Query whether the specified #Accessible implements #AccessibleAction.
556 * Returns: #TRUE if @obj implements the #AccessibleAction interface,
560 Accessible_isAction (Accessible *obj);
563 * Accessible_isComponent:
564 * @obj: a pointer to the #Accessible instance to query.
566 * Query whether the specified #Accessible implements #AccessibleComponent.
568 * Returns: #TRUE if @obj implements the #AccessibleComponent interface,
572 Accessible_isComponent (Accessible *obj);
575 * Accessible_isEditableText:
576 * @obj: a pointer to the #Accessible instance to query.
578 * Query whether the specified #Accessible implements #AccessibleEditableText.
580 * Returns: #TRUE if @obj implements the #AccessibleEditableText interface,
584 Accessible_isEditableText (Accessible *obj);
587 * Accessible_isHypertext:
588 * @obj: a pointer to the #Accessible instance to query.
590 * Query whether the specified #Accessible implements #AccessibleHypertext.
592 * Returns: #TRUE if @obj implements the #AccessibleHypertext interface,
596 Accessible_isHypertext (Accessible *obj);
599 * Accessible_isImage:
600 * @obj: a pointer to the #Accessible instance to query.
602 * Query whether the specified #Accessible implements #AccessibleImage.
604 * Returns: #TRUE if @obj implements the #AccessibleImage interface,
608 Accessible_isImage (Accessible *obj);
611 * Accessible_isSelection:
612 * @obj: a pointer to the #Accessible instance to query.
614 * Query whether the specified #Accessible implements #AccessibleSelection.
616 * Returns: #TRUE if @obj implements the #AccessibleSelection interface,
620 Accessible_isSelection (Accessible *obj);
623 * Accessible_isTable:
624 * @obj: a pointer to the #Accessible instance to query.
626 * Query whether the specified #Accessible implements #AccessibleTable.
628 * Returns: #TRUE if @obj implements the #AccessibleTable interface,
632 Accessible_isTable (Accessible *obj);
636 * @obj: a pointer to the #Accessible instance to query.
638 * Query whether the specified #Accessible implements #AccessibleText.
640 * Returns: #TRUE if @obj implements the #AccessibleText interface,
644 Accessible_isText (Accessible *obj);
647 Accessible_getAction (Accessible *obj);
650 * Accessible_getComponent:
651 * @obj: a pointer to the #Accessible instance to query.
653 * Get the #AccessibleComponent interface for an #Accessible.
655 * Returns: a pointer to an #AccessibleComponent interface instance, or
656 * NULL if @obj does not implement #AccessibleComponent.
658 AccessibleComponent *
659 Accessible_getComponent (Accessible *obj);
662 * Accessible_getEditableText:
664 * Not Yet Implemented.
667 AccessibleEditableText *
668 Accessible_getEditableText (Accessible *obj);
671 * Accessible_getHypertext:
673 * Not Yet Implemented.
676 AccessibleHypertext *
677 Accessible_getHypertext (Accessible *obj);
680 * Accessible_getImage:
682 * Not Yet Implemented.
686 Accessible_getImage (Accessible *obj);
689 * Accessible_getSelection:
691 * Not Yet Implemented.
694 AccessibleSelection *
695 Accessible_getSelection (Accessible *obj);
698 * Accessible_getTable:
700 * Not Yet Implemented.
704 Accessible_getTable (Accessible *obj);
707 * Accessible_getText:
709 * Not Yet Implemented.
713 Accessible_getText (Accessible *obj);
716 * Accessible_queryInterface:
717 * @obj: a pointer to the #Accessible instance to query.
718 * @interface_name: a UTF-8 character string specifiying the requested interface.
720 * Query an #Accessible object to for a named interface.
722 * Returns: an instance of the named interface object, if it is implemented
723 * by @obj, or NULL otherwise.
727 Accessible_queryInterface (Accessible *obj, char *interface_name);
731 * AccessibleAction function prototypes
736 AccessibleAction_ref (AccessibleAction *obj);
739 AccessibleAction_unref (AccessibleAction *obj);
742 AccessibleAction_getNActions (AccessibleAction *obj);
745 * AccessibleAction_getName:
746 * @obj: a pointer to the #AccessibleAction implementor to query.
747 * @i: a long integer indicating which action to query.
749 * Get the name of the '@i-th' action invokable on an
750 * object implementing #AccessibleAction.
752 * Returns: the 'event type' name of the action, as a UTF-8 string.
756 AccessibleAction_getName (AccessibleAction *obj, long int i);
759 * AccessibleAction_getDescription:
760 * @obj: a pointer to the #AccessibleAction to query.
761 * @i: a long integer indicating which action to query.
763 * Get the description of '@i-th' action invokable on an
764 * object implementing #AccessibleAction.
766 * Returns: a UTF-8 string describing the '@i-th' invokable action.
770 AccessibleAction_getDescription (AccessibleAction *obj,
774 AccessibleAction_doAction (AccessibleAction *obj,
778 * AccessibleAction_getKeybinding:
779 * @obj: a pointer to the #AccessibleAction implementor to query.
780 * @i: a long integer indicating which action to query.
782 * Get the keybindings for the @i-th action invokable on an
783 * object implementing #AccessibleAction, if any are defined.
785 * Returns: a UTF-8 string which can be parsed to determine the @i-th
786 * invokable action's keybindings.
790 AccessibleAction_getKeyBinding (AccessibleAction *obj,
795 * AccessibleApplication function prototypes
800 * AccessibleApplication_unref:
801 * @obj: a pointer to the #AccessibleApplication on which to operate.
803 * Decrement the reference count for an #AccessibleApplication.
805 * Returns: (no return code implemented yet).
809 AccessibleApplication_ref (AccessibleApplication *obj);
812 * AccessibleApplication_unref:
813 * @obj: a pointer to the #AccessibleApplication object on which to operate.
815 * Decrement the reference count for an #AccessibleApplication.
817 * Returns: (no return code implemented yet).
821 AccessibleApplication_unref (AccessibleApplication *obj);
824 * AccessibleApplication_getToolkitName:
825 * @obj: a pointer to the #AccessibleApplication to query.
827 * Get the name of the UI toolkit used by an #AccessibleApplication.
829 * Returns: a UTF-8 string indicating which UI toolkit is
830 * used by an application.
834 AccessibleApplication_getToolkitName (AccessibleApplication *obj);
837 * AccessibleApplication_getVersion:
838 * @obj: a pointer to the #AccessibleApplication being queried.
840 * Get the version of the at-spi bridge exported by an
841 * #AccessibleApplication instance.
843 * Returns: a UTF-8 string indicating the application's
848 AccessibleApplication_getVersion (AccessibleApplication *obj);
851 * AccessibleApplication_getID:
852 * @obj: a pointer to the #AccessibleApplication being queried.
854 * Get the unique ID assigned by the Registry to an
855 * #AccessibleApplication instance.
856 * (Not Yet Implemented by the registry).
858 * Returns: a unique #long integer associated with the application
859 * by the Registry, or 0 if the application is not registered.
862 AccessibleApplication_getID (AccessibleApplication *obj);
865 * AccessibleApplication_pause:
866 * @obj: a pointer to the #Accessible object on which to operate.
868 * Attempt to pause the application (used when client event queue is
870 * Not Yet Implemented.
872 * Returns: #TRUE if the application was paused successfully, #FALSE otherwise.
876 AccessibleApplication_pause (AccessibleApplication *obj);
879 * AccessibleApplication_resume:
880 * @obj: a pointer to the #Accessible object on which to operate.
882 * Attempt to resume the application (used after #AccessibleApplication_pause).
883 * Not Yet Implemented.
885 * Returns: #TRUE if application processing resumed successfully, #FALSE otherwise.
889 AccessibleApplication_resume (AccessibleApplication *obj);
893 * AccessibleComponent function prototypes
898 AccessibleComponent_ref (AccessibleComponent *obj);
901 AccessibleComponent_unref (AccessibleComponent *obj);
904 AccessibleComponent_contains (AccessibleComponent *obj,
907 AccessibleCoordType ctype);
910 AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj,
913 AccessibleCoordType ctype);
916 * AccessibleComponent_getExtents:
917 * @obj: a pointer to the #AccessibleComponent to query.
918 * @x: a pointer to a #long into which the minimum x coordinate will be returned.
919 * @y: a pointer to a #long into which the minimum y coordinate will be returned.
920 * @width: a pointer to a #long into which the x extents (width) will be returned.
921 * @height: a pointer to a #long into which the y extents (height) will be returned.
922 * @ctype: the desired coordinate system into which to return the results,
923 * (e.g. COORD_TYPE_WINDOW, COORD_TYPE_SCREEN).
925 * Get the bounding box of the specified #AccessibleComponent.
929 AccessibleComponent_getExtents (AccessibleComponent *obj,
934 AccessibleCoordType ctype);
937 AccessibleComponent_getPosition (AccessibleComponent *obj,
940 AccessibleCoordType ctype);
943 AccessibleComponent_getSize (AccessibleComponent *obj,
948 AccessibleComponent_grabFocus (AccessibleComponent *obj);
952 * AccessibleEditableText function prototypes
957 AccessibleEditableText_ref (AccessibleEditableText *obj);
960 AccessibleEditableText_unref (AccessibleEditableText *obj);
963 AccessibleEditableText_setAttributes (AccessibleEditableText *obj,
964 const char *attributes,
965 long int startOffset,
969 AccessibleEditableText_setTextContents (AccessibleEditableText *obj,
970 const char *newContents);
973 AccessibleEditableText_insertText (AccessibleEditableText *obj,
979 AccessibleEditableText_copyText (AccessibleText *obj,
984 AccessibleEditableText_cutText (AccessibleEditableText *obj,
989 AccessibleEditableText_deleteText (AccessibleEditableText *obj,
994 AccessibleEditableText_pasteText (AccessibleEditableText *obj,
999 * AccessibleHyperlink function prototypes
1004 AccessibleHyperlink_getNAnchors (AccessibleHyperlink *obj);
1007 AccessibleHyperlink_getURI (AccessibleHyperlink *obj,
1011 AccessibleHyperlink_getObject (AccessibleHyperlink *obj,
1015 AccessibleHyperlink_getIndexRange (AccessibleHyperlink *obj,
1016 long int *startIndex,
1017 long int *endIndex);
1020 AccessibleHyperlink_isValid (AccessibleHyperlink *obj);
1024 * AccessibleHypertext function prototypes
1029 AccessibleHypertext_ref (AccessibleHypertext *obj);
1032 AccessibleHypertext_unref (AccessibleHypertext *obj);
1035 AccessibleHypertext_getNLinks (AccessibleHypertext *obj);
1037 AccessibleHyperlink *
1038 AccessibleHypertext_getLink (AccessibleHypertext *obj,
1039 long int linkIndex);
1042 AccessibleHypertext_getLinkIndex (AccessibleHypertext *obj,
1043 long int characterOffset);
1047 * AccessibleImage function prototypes
1052 AccessibleImage_ref (AccessibleImage *obj);
1055 AccessibleImage_unref (AccessibleImage *obj);
1058 AccessibleImage_getImageDescription (AccessibleImage *obj);
1061 AccessibleImage_getImageSize (AccessibleImage *obj,
1066 AccessibleImage_getImagePosition (AccessibleImage *obj,
1069 AccessibleCoordType ctype);
1073 * AccessibleRelation function prototypes
1078 AccessibleRelation_ref (AccessibleRelation *obj);
1081 AccessibleRelation_unref (AccessibleRelation *obj);
1083 AccessibleRelationType
1084 AccessibleRelation_getRelationType (AccessibleRelation *obj);
1087 AccessibleRelation_getNTargets (AccessibleRelation *obj);
1090 AccessibleRelation_getTarget (AccessibleRelation *obj, int i);
1095 * AccessibleSelection function prototypes
1100 AccessibleSelection_ref (AccessibleSelection *obj);
1103 AccessibleSelection_unref (AccessibleSelection *obj);
1106 AccessibleSelection_getNSelectedChildren (AccessibleSelection *obj);
1109 AccessibleSelection_getSelectedChild (AccessibleSelection *obj,
1110 long int selectedChildIndex);
1113 AccessibleSelection_selectChild (AccessibleSelection *obj,
1114 long int childIndex);
1117 AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj,
1118 long int selectedChildIndex);
1121 AccessibleSelection_isChildSelected (AccessibleSelection *obj,
1122 long int childIndex);
1125 AccessibleSelection_selectAll (AccessibleSelection *obj);
1128 AccessibleSelection_clearSelection (AccessibleSelection *obj);
1133 * AccessibleStateSet function prototypes
1138 AccessibleStateSet_ref (AccessibleStateSet *obj);
1141 AccessibleStateSet_unref (AccessibleStateSet *obj);
1144 AccessibleStateSet_contains (AccessibleStateSet *obj,
1145 AccessibleState state);
1148 AccessibleStateSet_add (AccessibleStateSet *obj,
1149 AccessibleState state);
1152 AccessibleStateSet_remove (AccessibleStateSet *obj,
1153 AccessibleState state);
1156 AccessibleStateSet_equals (AccessibleStateSet *obj,
1157 AccessibleStateSet *obj2);
1160 AccessibleStateSet_compare (AccessibleStateSet *obj,
1161 AccessibleStateSet *obj2,
1162 AccessibleStateSet **differenceSet);
1165 AccessibleStateSet_isEmpty (AccessibleStateSet *obj);
1170 * AccessibleTable function prototypes
1175 AccessibleTable_ref (AccessibleTable *obj);
1178 AccessibleTable_unref (AccessibleTable *obj);
1181 AccessibleTable_getCaption (AccessibleTable *obj);
1184 AccessibleTable_getSummary (AccessibleTable *obj);
1187 AccessibleTable_getNRows (AccessibleTable *obj);
1190 AccessibleTable_getNColumns (AccessibleTable *obj);
1193 AccessibleTable_getAccessibleAt (AccessibleTable *obj,
1198 AccessibleTable_getIndexAt (AccessibleTable *obj,
1203 AccessibleTable_getRowAtIndex (AccessibleTable *obj,
1207 AccessibleTable_getColumnAtIndex (AccessibleTable *obj,
1211 AccessibleTable_getRowDescription (AccessibleTable *obj,
1215 AccessibleTable_getColumnDescription (AccessibleTable *obj,
1219 AccessibleTable_getRowExtentAt (AccessibleTable *obj,
1224 AccessibleTable_getColumnExtentAt (AccessibleTable *obj,
1229 AccessibleTable_getRowHeader (AccessibleTable *obj,
1233 AccessibleTable_getColumnHeader (AccessibleTable *obj,
1237 AccessibleTable_getNSelectedRows (AccessibleTable *obj);
1240 AccessibleTable_getSelectedRows (AccessibleTable *obj,
1241 long int **selectedRows);
1244 AccessibleTable_getNSelectedColumns (AccessibleTable *obj);
1247 AccessibleTable_getSelectedColumns (AccessibleTable *obj,
1248 long int **selectedColumns);
1251 AccessibleTable_isRowSelected (AccessibleTable *obj,
1255 AccessibleTable_isColumnSelected (AccessibleTable *obj,
1259 AccessibleTable_isSelected (AccessibleTable *obj,
1265 * AccessibleText function prototypes
1270 AccessibleText_ref (AccessibleText *obj);
1273 AccessibleText_unref (AccessibleText *obj);
1276 AccessibleText_getCharacterCount (AccessibleText *obj);
1279 AccessibleText_getText (AccessibleText *obj,
1280 long int startOffset,
1281 long int endOffset);
1284 AccessibleText_getCaretOffset (AccessibleText *obj);
1287 AccessibleText_getAttributes (AccessibleText *obj,
1289 long int *startOffset,
1290 long int *endOffset);
1294 AccessibleText_setCaretOffset (AccessibleText *obj,
1295 long int newOffset);
1298 AccessibleText_getTextBeforeOffset (AccessibleText *obj,
1300 AccessibleTextBoundaryType type,
1301 long int *startOffset,
1302 long int *endOffset);
1305 AccessibleText_getTextAtOffset (AccessibleText *obj,
1307 AccessibleTextBoundaryType type,
1308 long int *startOffset,
1309 long int *endOffset);
1312 AccessibleText_getTextAfterOffset (AccessibleText *obj,
1314 AccessibleTextBoundaryType type,
1315 long int *startOffset,
1316 long int *endOffset);
1319 AccessibleText_getCharacterAtOffset (AccessibleText *obj,
1323 AccessibleText_getCharacterExtents (AccessibleText *obj,
1329 AccessibleCoordType type);
1332 AccessibleText_getOffsetAtPoint (AccessibleText *obj,
1335 AccessibleCoordType type);
1338 AccessibleText_getNSelections (AccessibleText *obj);
1341 AccessibleText_getSelection (AccessibleText *obj,
1342 long int selectionNum,
1343 long int *startOffset,
1344 long int *endOffset);
1348 AccessibleText_addSelection (AccessibleText *obj,
1349 long int startOffset,
1350 long int endOffset);
1353 AccessibleText_removeSelection (AccessibleText *obj,
1354 long int selectionNum);
1357 AccessibleText_setSelection (AccessibleText *obj,
1358 long int selectionNum,
1359 long int startOffset,
1360 long int endOffset);
1364 * AccessibleValue Function Prototypes:
1369 AccessibleValue_ref (AccessibleValue *obj);
1372 AccessibleValue_unref (AccessibleValue *obj);
1375 AccessibleValue_getMinimumValue (AccessibleValue *obj);
1378 AccessibleValue_getCurrentValue (AccessibleValue *obj);
1381 AccessibleValue_getMaximumValue (AccessibleValue *obj);
1384 AccessibleValue_setCurrentValue (AccessibleValue *obj,
1388 spi_freeString (char *s);