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"
20 * Enumerated type for text boundary types
26 SPI_TEXT_BOUNDARY_CHAR,
27 SPI_TEXT_BOUNDARY_CURSOR_POS,
28 SPI_TEXT_BOUNDARY_WORD_START,
29 SPI_TEXT_BOUNDARY_WORD_END,
30 SPI_TEXT_BOUNDARY_SENTENCE_START,
31 SPI_TEXT_BOUNDARY_SENTENCE_END,
32 SPI_TEXT_BOUNDARY_LINE_START,
33 SPI_TEXT_BOUNDARY_LINE_END,
34 SPI_TEXT_BOUNDARY_ATTRIBUTE_RANGE
35 } AccessibleTextBoundaryType;
39 * Enumerated type for relation types
45 SPI_RELATION_LABEL_FOR,
46 SPI_RELATION_LABELED_BY,
47 SPI_RELATION_CONTROLLER_FOR,
48 SPI_RELATION_CONTROLLED_BY,
49 SPI_RELATION_MEMBER_OF
50 } AccessibleRelationType;
53 /* don't change the order of these ! */
54 typedef enum _AccessibleCoordType {
55 SPI_COORD_TYPE_SCREEN,
57 } AccessibleCoordType;
59 typedef enum _AccessibleKeyEventType {
62 } AccessibleKeyEventType;
64 typedef enum _AccessibleKeySynthType {
69 } AccessibleKeySynthType;
71 typedef enum _AccessibleKeyListenerSyncType {
72 SPI_KEYLISTENER_NOSYNC = 0,
73 SPI_KEYLISTENER_SYNCHRONOUS = 1,
74 SPI_KEYLISTENER_CANCONSUME = 2,
75 SPI_KEYLISTENER_ALL_WINDOWS = 4
76 } AccessibleKeyListenerSyncType;
78 typedef unsigned long AccessibleKeyEventMask;
80 typedef struct _AccessibleKeyStroke
84 AccessibleKeyEventType type;
85 unsigned short modifiers;
86 } AccessibleKeyStroke;
88 typedef struct _AccessibleAccessibleKeySet
90 unsigned long *keysyms;
91 unsigned short *keycodes;
95 #define SPI_KEYSET_ALL_KEYS ((void *)NULL)
99 * Basic SPI initialization and event loop function prototypes
106 * Connects to the accessibility registry and initializes the SPI.
108 * Returns: 0 on success, otherwise an integer error code.
115 * @isGNOMEApp: a #boolean indicating whether the client of the SPI
116 * will use the Gnome event loop or not.
118 * Starts/enters the main event loop for the SPI services.
120 * (NOTE: This method does not return control, it is exited via a call to exit()
121 * from within an event handler).
125 SPI_event_main (boolean isGNOMEApp);
128 * SPI_event_is_ready:
130 * Checks to see if an SPI event is waiting in the event queue.
131 * Used by clients that don't wish to use SPI_event_main().
132 * Not Yet Implemented.
134 * Returns: #TRUE if an event is waiting, otherwise #FALSE.
143 * Gets the next event in the SPI event queue; blocks if no event
145 * Used by clients that don't wish to use SPI_event_main().
146 * Not Yet Implemented.
148 * Returns: the next #AccessibleEvent in the SPI event queue.
152 SPI_nextEvent (boolean waitForEvent);
157 * Disconnects from the Accessibility Registry and releases resources.
158 * Not Yet Implemented.
165 * Event Listener creation and support.
169 * createEventListener:
170 * @callback : an #AccessibleEventListenerCB callback function, or NULL.
172 * Create a new #AccessibleEventListener with a specified callback function.
174 * Returns: a pointer to a newly-created #AccessibleEventListener.
177 AccessibleEventListener *
178 createEventListener (AccessibleEventListenerCB callback);
181 * EventListener_addCallback:
182 * @listener: the #AccessibleEventListener instance to modify.
183 * @callback: an #AccessibleEventListenerCB function pointer.
185 * Add an in-process callback function to an existing AccessibleEventListener.
187 * Returns: #TRUE if successful, otherwise #FALSE.
191 AccessibleEventListener_addCallback (AccessibleEventListener *listener,
192 AccessibleEventListenerCB callback);
195 * AccessibleEventListener_removeCallback:
196 * @listener: the #AccessibleEventListener instance to modify.
197 * @callback: an #AccessibleEventListenerCB function pointer.
199 * Remove an in-process callback function from an existing AccessibleEventListener.
201 * Returns: #TRUE if successful, otherwise #FALSE.
205 AccessibleEventListener_removeCallback (AccessibleEventListener *listener,
206 AccessibleEventListenerCB callback);
209 * createAccessibleKeystrokeListener:
210 * @callback : an #AccessibleKeystrokeListenerCB callback function, or NULL.
212 * Create a new #AccessibleKeystrokeListener with a specified callback function.
214 * Returns: a pointer to a newly-created #AccessibleKeystrokeListener.
217 AccessibleKeystrokeListener *
218 createAccessibleKeystrokeListener (AccessibleKeystrokeListenerCB callback);
221 * KeystrokeListener_addCallback:
222 * @listener: the #KeystrokeListener instance to modify.
223 * @callback: an #KeystrokeListenerCB function pointer.
225 * Add an in-process callback function to an existing #KeystrokeListener.
227 * Returns: #TRUE if successful, otherwise #FALSE.
231 AccessibleKeystrokeListener_addCallback (AccessibleKeystrokeListener *listener,
232 AccessibleKeystrokeListenerCB callback);
235 * AccessibleKeystrokeListener_removeCallback:
236 * @listener: the #AccessibleKeystrokeListener instance to modify.
237 * @callback: an #AccessibleKeystrokeListenerCB function pointer.
239 * Remove an in-process callback function from an existing #AccessibleKeystrokeListener.
241 * Returns: #TRUE if successful, otherwise #FALSE.
245 AccessibleKeystrokeListener_removeCallback (AccessibleKeystrokeListener *listener,
246 AccessibleKeystrokeListenerCB callback);
250 * Global functions serviced by the registry
255 * registerGlobalEventListener:
256 * @listener: the #AccessibleEventListener to be registered against an event type.
257 * @callback: a character string indicating the type of events for which
258 * notification is requested. Format is
259 * EventClass:major_type:minor_type:detail
260 * where all subfields other than EventClass are optional.
261 * EventClasses include "Focus", "Window", "Mouse",
262 * and toolkit events (e.g. "Gtk", "AWT").
263 * Examples: "focus:", "Gtk:GtkWidget:button_press_event".
265 * NOTE: this string may be UTF-8, but should not contain byte value 56 (ascii ':'),
266 * except as a delimiter, since non-UTF-8 string delimiting
267 * functions are used internally. In general, listening to
268 * toolkit-specific events is not recommended.
270 * Add an in-process callback function to an existing AccessibleEventListener.
272 * Returns: #TRUE if successful, otherwise #FALSE.
276 registerGlobalEventListener (AccessibleEventListener *listener,
282 * Get the number of virtual desktops.
283 * NOTE: currently multiple virtual desktops are not implemented, this
284 * function always returns '1'.
286 * Returns: an integer indicating the number of active virtual desktops.
294 * @i: an integer indicating which of the accessible desktops is to be returned.
296 * Get the virtual desktop indicated by index @i.
297 * NOTE: currently multiple virtual desktops are not implemented, this
298 * function always returns '1'.
300 * Returns: a pointer to the 'i-th' virtual desktop's #Accessible representation.
308 * @list: a pointer to an array of #Accessible objects.
310 * Get the list of virtual desktops. On return, @list will point
311 * to a newly-created array of virtual desktop pointers.
312 * It is the responsibility of the caller to free this array when
313 * it is no longer needed.
315 * Not Yet Implemented.
317 * Returns: an integer indicating how many virtual desktops have been
318 * placed in the list pointed to by parameter @list.
321 getDesktopList (Accessible **list);
324 * registerAccessibleKeystrokeListener:
325 * @listener: a pointer to the #AccessibleKeystrokeListener for which
326 * keystroke events are requested.
328 * [Partially Implemented.]
332 registerAccessibleKeystrokeListener (AccessibleKeystrokeListener *listener,
333 AccessibleKeySet *keys,
334 AccessibleKeyMaskType modmask,
335 AccessibleKeyEventMask eventmask,
336 AccessibleKeyListenerSyncType sync_type);
339 deregisterAccessibleKeystrokeListener (AccessibleKeystrokeListener *listener,
340 AccessibleKeyMaskType keymask);
344 * @keycode: a #long indicating the keycode of the key event
346 * @synth_type: a #AccessibleKeySynthType indicating whether this should be a
347 * SPI_KEY_PRESS, SPI_KEY_RELEASE, both (SPI_KEY_PRESSRELEASE), or
348 * a press/release pair for a KEYSYM.
350 * Synthesize a keyboard event (as if a hardware keyboard event occurred in the
351 * current UI context).
355 generateKeyEvent (long keyCode, AccessibleKeySynthType synth_type);
358 * generateMouseEvent:
359 * @x: a #long indicating the screen x coordinate of the mouse event.
360 * @y: a #long indicating the screen y coordinate of the mouse event.
361 * @name: a string indicating which mouse event to be synthesized
362 * (e.g. "button1", "button2", "mousemove").
364 * Synthesize a mouse event at a specific screen coordinate.
365 * Not Yet Implemented.
369 generateMouseEvent (long x, long y, char *name);
373 * Accessible function prototypes
379 * @obj: a pointer to the #Accessible object on which to operate.
381 * Increment the reference count for an #Accessible object.
383 * Returns: (no return code implemented yet).
387 Accessible_ref (Accessible *obj);
391 * @obj: a pointer to the #Accessible object on which to operate.
393 * Decrement the reference count for an #Accessible object.
395 * Returns: (no return code implemented yet).
399 Accessible_unref (Accessible *obj);
402 * Accessible_getName:
403 * @obj: a pointer to the #Accessible object on which to operate.
405 * Get the name of an #Accessible object.
407 * Returns: a UTF-8 string indicating the name of the #Accessible object.
411 Accessible_getName (Accessible *obj);
414 * Accessible_getDescription:
415 * @obj: a pointer to the #Accessible object on which to operate.
417 * Get the description of an #Accessible object.
419 * Returns: a UTF-8 string describing the #Accessible object.
423 Accessible_getDescription (Accessible *obj);
426 * Accessible_getParent:
427 * @obj: a pointer to the #Accessible object to query.
429 * Get an #Accessible object's parent container.
431 * Returns: a pointer to the #Accessible object which contains the given
432 * #Accessible instance, or NULL if the @obj has no parent container.
436 Accessible_getParent (Accessible *obj);
439 * Accessible_getChildCount:
441 * @obj: a pointer to the #Accessible object on which to operate.
443 * Get the number of children contained by an #Accessible object.
445 * Returns: a #long indicating the number of #Accessible children
446 * contained by an #Accessible object.
450 Accessible_getChildCount (Accessible *obj);
453 * Accessible_getChildAtIndex:
455 * @obj: a pointer to the #Accessible object on which to operate.
456 * @childIndex: a #long indicating which child is specified.
458 * Get the #Accessible child of an #Accessible object at a given index.
460 * Returns: a pointer to the #Accessible child object at index
465 Accessible_getChildAtIndex (Accessible *obj,
469 * Accessible_getIndexInParent:
471 * @obj: a pointer to the #Accessible object on which to operate.
473 * Get the index of an #Accessible object in its containing #Accessible.
475 * Returns: a #long indicating the index of the #Accessible object
476 * in its parent (i.e. containing) #Accessible instance,
477 * or -1 if @obj has no containing parent.
481 Accessible_getIndexInParent (Accessible *obj);
484 * Accessible_getRelationSet:
486 * Not Yet Implemented.
489 AccessibleRelation **
490 Accessible_getRelationSet (Accessible *obj);
493 * Accessible_getRole:
494 * @obj: a pointer to the #Accessible object on which to operate.
496 * Get the UI role of an #Accessible object.
498 * Returns: a UTF-8 string indicating the UI role of the #Accessible object.
502 Accessible_getRole (Accessible *obj);
505 * Accessible_getStateSet:
507 * Not Yet Implemented.
511 Accessible_getStateSet (Accessible *obj);
513 /* Interface query methods */
516 * Accessible_isAction:
517 * @obj: a pointer to the #Accessible instance to query.
519 * Query whether the specified #Accessible implements #AccessibleAction.
520 * Not Yet Implemented.
522 * Returns: #TRUE if @obj implements the #AccessibleAction interface,
526 Accessible_isAction (Accessible *obj);
529 * Accessible_isComponent:
530 * @obj: a pointer to the #Accessible instance to query.
532 * Query whether the specified #Accessible implements #AccessibleComponent.
534 * Returns: #TRUE if @obj implements the #AccessibleComponent interface,
538 Accessible_isComponent (Accessible *obj);
541 * Accessible_isEditableText:
542 * @obj: a pointer to the #Accessible instance to query.
544 * Query whether the specified #Accessible implements #AccessibleEditableText.
545 * Not Yet Implemented.
547 * Returns: #TRUE if @obj implements the #AccessibleEditableText interface,
551 Accessible_isEditableText (Accessible *obj);
554 * Accessible_isHypertext:
555 * @obj: a pointer to the #Accessible instance to query.
557 * Query whether the specified #Accessible implements #AccessibleHypertext.
558 * Not Yet Implemented.
560 * Returns: #TRUE if @obj implements the #AccessibleHypertext interface,
564 Accessible_isHypertext (Accessible *obj);
567 * Accessible_isImage:
568 * @obj: a pointer to the #Accessible instance to query.
570 * Query whether the specified #Accessible implements #AccessibleImage.
571 * Not Yet Implemented.
573 * Returns: #TRUE if @obj implements the #AccessibleImage interface,
577 Accessible_isImage (Accessible *obj);
580 * Accessible_isSelection:
581 * @obj: a pointer to the #Accessible instance to query.
583 * Query whether the specified #Accessible implements #AccessibleSelection.
584 * Not Yet Implemented.
586 * Returns: #TRUE if @obj implements the #AccessibleSelection interface,
590 Accessible_isSelection (Accessible *obj);
593 * Accessible_isTable:
594 * @obj: a pointer to the #Accessible instance to query.
596 * Query whether the specified #Accessible implements #AccessibleTable.
597 * Not Yet Implemented.
599 * Returns: #TRUE if @obj implements the #AccessibleTable interface,
603 Accessible_isTable (Accessible *obj);
607 * @obj: a pointer to the #Accessible instance to query.
609 * Query whether the specified #Accessible implements #AccessibleText.
610 * Not Yet Implemented.
612 * Returns: #TRUE if @obj implements the #AccessibleText interface,
616 Accessible_isText (Accessible *obj);
619 * Accessible_getAction:
621 * Not Yet Implemented.
625 Accessible_getAction (Accessible *obj);
628 * Accessible_getComponent:
629 * @obj: a pointer to the #Accessible instance to query.
631 * Get the #AccessibleComponent interface for an #Accessible.
633 * Returns: a pointer to an #AccessibleComponent interface instance, or
634 * NULL if @obj does not implement #AccessibleComponent.
636 AccessibleComponent *
637 Accessible_getComponent (Accessible *obj);
640 * Accessible_getEditableText:
642 * Not Yet Implemented.
645 AccessibleEditableText *
646 Accessible_getEditableText (Accessible *obj);
649 * Accessible_getHypertext:
651 * Not Yet Implemented.
654 AccessibleHypertext *
655 Accessible_getHypertext (Accessible *obj);
658 * Accessible_getImage:
660 * Not Yet Implemented.
664 Accessible_getImage (Accessible *obj);
667 * Accessible_getSelection:
669 * Not Yet Implemented.
672 AccessibleSelection *
673 Accessible_getSelection (Accessible *obj);
676 * Accessible_getTable:
678 * Not Yet Implemented.
682 Accessible_getTable (Accessible *obj);
685 * Accessible_getText:
687 * Not Yet Implemented.
691 Accessible_getText (Accessible *obj);
694 * Accessible_queryInterface:
695 * @obj: a pointer to the #Accessible instance to query.
696 * @interface_name: a UTF-8 character string specifiying the requested interface.
698 * Query an #Accessible object to for a named interface.
700 * Returns: an instance of the named interface object, if it is implemented
701 * by @obj, or NULL otherwise.
705 Accessible_queryInterface (Accessible *obj, char *interface_name);
709 * AccessibleAction function prototypes
714 AccessibleAction_ref (AccessibleAction *obj);
717 AccessibleAction_unref (AccessibleAction *obj);
720 AccessibleAction_getNActions (AccessibleAction *obj);
723 * AccessibleAction_getDescription:
724 * @obj: a pointer to the #AccessibleAction to query.
726 * Get the description of 'i-th' action invokable on an
727 * object implementing #AccessibleAction.
729 * Not Yet Implemented.
731 * Returns: a UTF-8 string describing the 'i-th' invokable action.
735 AccessibleAction_getDescription (AccessibleAction *obj,
739 AccessibleAction_doAction (AccessibleAction *obj,
743 AccessibleAction_getKeyBinding (AccessibleAction *obj,
748 * AccessibleApplication function prototypes
753 * AccessibleApplication_unref:
754 * @obj: a pointer to the #AccessibleApplication on which to operate.
756 * Decrement the reference count for an #AccessibleApplication.
758 * Returns: (no return code implemented yet).
762 AccessibleApplication_ref (AccessibleApplication *obj);
765 * AccessibleApplication_unref:
766 * @obj: a pointer to the #AccessibleApplication object on which to operate.
768 * Decrement the reference count for an #AccessibleApplication.
770 * Returns: (no return code implemented yet).
774 AccessibleApplication_unref (AccessibleApplication *obj);
777 * AccessibleApplication_getToolkitName:
778 * @obj: a pointer to the #AccessibleApplication to query.
780 * Get the name of the UI toolkit used by an #AccessibleApplication.
782 * Returns: a UTF-8 string indicating which UI toolkit is
783 * used by an application.
787 AccessibleApplication_getToolkitName (AccessibleApplication *obj);
790 * AccessibleApplication_getVersion:
791 * @obj: a pointer to the #AccessibleApplication being queried.
793 * Get the version of the at-spi bridge exported by an
794 * #AccessibleApplication instance.
796 * Returns: a UTF-8 string indicating the application's
801 AccessibleApplication_getVersion (AccessibleApplication *obj);
804 * AccessibleApplication_getID:
805 * @obj: a pointer to the #AccessibleApplication being queried.
807 * Get the unique ID assigned by the Registry to an
808 * #AccessibleApplication instance.
809 * (Not Yet Implemented by the registry).
811 * Returns: a unique #long integer associated with the application
812 * by the Registry, or 0 if the application is not registered.
815 AccessibleApplication_getID (AccessibleApplication *obj);
818 * AccessibleApplication_pause:
820 * Attempt to pause the application (used when client event queue is
822 * Not Yet Implemented.
824 * Returns: #TRUE if the application was paused successfully, #FALSE otherwise.
828 AccessibleApplication_pause (AccessibleApplication *obj);
831 * AccessibleApplication_pause:
833 * Attempt to resume the application (used after #AccessibleApplication_pause).
834 * Not Yet Implemented.
836 * Returns: #TRUE if application processing resumed successfully, #FALSE otherwise.
840 AccessibleApplication_resume (AccessibleApplication *obj);
844 * AccessibleComponent function prototypes
849 AccessibleComponent_ref (AccessibleComponent *obj);
852 AccessibleComponent_unref (AccessibleComponent *obj);
855 AccessibleComponent_contains (AccessibleComponent *obj,
858 AccessibleCoordType ctype);
861 AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj,
864 AccessibleCoordType ctype);
867 * AccessibleComponent_getExtents:
868 * @obj: a pointer to the #AccessibleComponent to query.
869 * @x: a pointer to a #long into which the minimum x coordinate will be returned.
870 * @y: a pointer to a #long into which the minimum y coordinate will be returned.
871 * @width: a pointer to a #long into which the x extents (width) will be returned.
872 * @height: a pointer to a #long into which the y extents (height) will be returned.
873 * @ctype: the desired coordinate system into which to return the results,
874 * (e.g. COORD_TYPE_WINDOW, COORD_TYPE_SCREEN).
876 * Get the bounding box of the specified #AccessibleComponent.
880 AccessibleComponent_getExtents (AccessibleComponent *obj,
885 AccessibleCoordType ctype);
888 AccessibleComponent_getPosition (AccessibleComponent *obj,
891 AccessibleCoordType ctype);
894 AccessibleComponent_getSize (AccessibleComponent *obj,
899 AccessibleComponent_grabFocus (AccessibleComponent *obj);
903 * AccessibleEditableText function prototypes
908 AccessibleEditableText_ref (AccessibleEditableText *obj);
911 AccessibleEditableText_unref (AccessibleEditableText *obj);
914 AccessibleEditableText_setRunAttributes (AccessibleEditableText *obj,
915 const char *attributes,
916 long startPos, long endPos);
919 AccessibleEditableText_setTextContents (AccessibleEditableText *obj,
920 const char *newContents);
923 AccessibleEditableText_insertText (AccessibleEditableText *obj,
929 AccessibleEditableText_copyText (AccessibleText *obj,
934 AccessibleEditableText_cutText (AccessibleEditableText *obj,
939 AccessibleEditableText_deleteText (AccessibleEditableText *obj,
944 AccessibleEditableText_pasteText (AccessibleEditableText *obj,
949 * AccessibleHyperlink function prototypes
954 AccessibleHyperlink_ref (AccessibleHyperlink *obj);
957 AccessibleHyperlink_unref (AccessibleHyperlink *obj);
960 AccessibleHyperlink_getNAnchors (AccessibleHyperlink *obj);
963 AccessibleHyperlink_getURI (AccessibleHyperlink *obj,
967 AccessibleHyperlink_getObject (AccessibleHyperlink *obj,
971 AccessibleHyperlink_getIndexRange (AccessibleHyperlink *obj,
976 AccessibleHyperlink_isValid (AccessibleHyperlink *obj);
980 * AccessibleHypertext function prototypes
985 AccessibleHypertext_ref (AccessibleHypertext *obj);
988 AccessibleHypertext_unref (AccessibleHypertext *obj);
991 AccessibleHypertext_getNLinks (AccessibleHypertext *obj);
993 AccessibleHyperlink *
994 AccessibleHyperText_getLink (AccessibleHypertext *obj,
998 AccessibleHypertext_getLinkIndex (AccessibleHypertext *obj,
999 long characterIndex);
1003 * AccessibleImage function prototypes
1008 AccessibleImage_ref (AccessibleImage *obj);
1011 AccessibleImage_unref (AccessibleImage *obj);
1014 AccessibleImage_getImageDescription (AccessibleImage *obj);
1017 AccessibleImage_getImageSize (AccessibleImage *obj,
1022 AccessibleImage_getImagePosition (AccessibleImage *obj,
1025 AccessibleCoordType ctype);
1029 * AccessibleRelation function prototypes
1034 AccessibleRelation_ref (AccessibleRelation *obj);
1037 AccessibleRelation_unref (AccessibleRelation *obj);
1039 AccessibleRelationType
1040 AccessibleRelation_getRelationType (AccessibleRelation *obj);
1043 AccessibleRelation_getTarget (AccessibleRelation *obj);
1048 * AccessibleSelection function prototypes
1053 AccessibleSelection_ref (AccessibleSelection *obj);
1056 AccessibleSelection_unref (AccessibleSelection *obj);
1059 AccessibleSelection_getNSelectedChildren (AccessibleSelection *obj);
1062 AccessibleSelection_getSelectedChild (AccessibleSelection *obj,
1063 long selectedChildIndex);
1066 AccessibleSelection_selectChild (AccessibleSelection *obj,
1070 AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj,
1071 long selectedChildIndex);
1074 AccessibleSelection_isChildSelected (AccessibleSelection *obj,
1078 AccessibleSelection_selectAll (AccessibleSelection *obj);
1081 AccessibleSelection_clearSelection (AccessibleSelection *obj);
1086 * AccessibleStateSet function prototypes
1091 AccessibleStateSet_ref (AccessibleStateSet *obj);
1094 AccessibleStateSet_unref (AccessibleStateSet *obj);
1097 AccessibleStateSet_contains (AccessibleStateSet *obj,
1098 AccessibleState state);
1101 AccessibleStateSet_add (AccessibleStateSet *obj,
1102 AccessibleState state);
1105 AccessibleStateSet_remove (AccessibleStateSet *obj,
1106 AccessibleState state);
1109 AccessibleStateSet_equals (AccessibleStateSet *obj,
1110 AccessibleStateSet *obj2);
1113 AccessibleStateSet_compare (AccessibleStateSet *obj,
1114 AccessibleStateSet *obj2,
1115 AccessibleStateSet **differenceSet);
1118 AccessibleStateSet_isEmpty (AccessibleStateSet *obj);
1123 * AccessibleTable function prototypes
1128 AccessibleTable_ref (AccessibleTable *obj);
1131 AccessibleTable_unref (AccessibleTable *obj);
1134 AccessibleTable_getCaption (AccessibleTable *obj);
1137 AccessibleTable_getSummary (AccessibleTable *obj);
1140 AccessibleTable_getNRows (AccessibleTable *obj);
1143 AccessibleTable_getNColumns (AccessibleTable *obj);
1146 AccessibleTable_refAt (AccessibleTable *obj,
1151 AccessibleTable_getIndexAt (AccessibleTable *obj,
1156 AccessibleTable_getRowAtIndex (AccessibleTable *obj,
1160 AccessibleTable_getColumnAtIndex (AccessibleTable *obj,
1164 AccessibleTable_getRowDescription (AccessibleTable *obj,
1168 AccessibleTable_getColumnDescription (AccessibleTable *obj,
1172 AccessibleTable_getRowExtentAt (AccessibleTable *obj,
1177 AccessibleTable_getColumnExtentAt (AccessibleTable *obj,
1182 AccessibleTable_getRowHeader (AccessibleTable *obj,
1186 AccessibleTable_getColumnHeader (AccessibleTable *obj,
1190 AccessibleTable_getNSelectedRows (AccessibleTable *obj);
1193 AccessibleTable_getSelectedRows (AccessibleTable *obj,
1194 long **selectedRows);
1197 AccessibleTable_getNSelectedColumns (AccessibleTable *obj);
1200 AccessibleTable_getSelectedColumns (AccessibleTable *obj,
1201 long **selectedColumns);
1204 AccessibleTable_isRowSelected (AccessibleTable *obj,
1208 AccessibleTable_isColumnSelected (AccessibleTable *obj,
1212 AccessibleTable_isSelected (AccessibleTable *obj,
1218 * AccessibleText function prototypes
1223 AccessibleText_ref (AccessibleText *obj);
1226 AccessibleText_unref (AccessibleText *obj);
1229 AccessibleText_getCharacterCount (AccessibleText *obj);
1232 AccessibleText_getText (AccessibleText *obj,
1237 AccessibleText_getCaretOffset (AccessibleText *obj);
1240 AccessibleText_getAttributes (AccessibleText *obj,
1247 AccessibleText_setCaretOffset (AccessibleText *obj,
1251 AccessibleText_getTextBeforeOffset (AccessibleText *obj,
1253 AccessibleTextBoundaryType type,
1254 long *startOffset, long *endOffset);
1257 AccessibleText_getTextAtOffset (AccessibleText *obj,
1259 AccessibleTextBoundaryType type,
1260 long *startOffset, long *endOffset);
1263 AccessibleText_getTextAfterOffset (AccessibleText *obj,
1265 AccessibleTextBoundaryType type,
1266 long *startOffset, long *endOffset);
1269 AccessibleText_getCharacterAtOffset (AccessibleText *obj,
1273 AccessibleText_getCharacterExtents (AccessibleText *obj,
1278 long *height, AccessibleCoordType type);
1281 AccessibleText_getOffsetAtPoint (AccessibleText *obj,
1283 long y, AccessibleCoordType type);
1286 AccessibleText_getNSelections (AccessibleText *obj);
1289 AccessibleText_getSelection (AccessibleText *obj,
1290 long selectionNum, long *startOffset,
1295 AccessibleText_addSelection (AccessibleText *obj,
1296 long startOffset, long endOffset);
1299 AccessibleText_removeSelection (AccessibleText *obj,
1303 AccessibleText_setSelection (AccessibleText *obj,
1310 * AccessibleValue Function Prototypes:
1315 AccessibleValue_getMinimumValue (AccessibleValue *value);
1318 AccessibleValue_getCurrentValue (AccessibleValue *value);
1321 AccessibleValue_getMaximumValue (AccessibleValue *value);
1324 AccessibleValue_setCurrentValue (AccessibleValue *value,
1328 spi_freeString (char *s);