5 /* Implementation private definitions */
9 * Definitions for SPI_ACCESSIBLE_STATE , SPI_ACCESSIBLE_ROLE, SpiAccessibleEvent,
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
25 SPI_TEXT_BOUNDARY_CHAR,
26 SPI_TEXT_BOUNDARY_CURSOR_POS,
27 SPI_TEXT_BOUNDARY_WORD_START,
28 SPI_TEXT_BOUNDARY_WORD_END,
29 SPI_TEXT_BOUNDARY_SENTENCE_START,
30 SPI_TEXT_BOUNDARY_SENTENCE_END,
31 SPI_TEXT_BOUNDARY_LINE_START,
32 SPI_TEXT_BOUNDARY_LINE_END,
33 SPI_TEXT_BOUNDARY_ATTRIBUTE_RANGE
34 } SPI_TEXT_BOUNDARY_TYPE;
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 } SpiAccessibleCoordType;
60 typedef enum _KeyEventType {
65 typedef enum _KeySynthType {
72 typedef enum _KeyListenerSyncType {
73 KEYSPI_LISTENER_SYNCHRONOUS = 1,
74 KEYSPI_LISTENER_CANCONSUME = 2,
75 KEYSPI_LISTENER_ALLWINDOWS = 4
76 } KeyListenerSyncType;
78 typedef unsigned long KeyEventMask;
80 typedef struct _KeyStroke
85 unsigned short modifiers;
88 typedef struct _KeySet
90 unsigned long *keysyms;
91 unsigned short *keycodes;
95 #define 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 SpiRegistry and releases resources.
158 * Not Yet Implemented.
165 * Event SpiListener 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 SpiAccessibleEventListener *
178 createEventListener (SpiAccessibleEventListenerCB 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 SpiAccessibleEventListener.
187 * Returns: #TRUE if successful, otherwise #FALSE.
191 EventListener_addCallback (SpiAccessibleEventListener *listener,
192 SpiAccessibleEventListenerCB callback);
195 * EventListener_removeCallback:
196 * @listener: the #AccessibleEventListener instance to modify.
197 * @callback: an #AccessibleEventListenerCB function pointer.
199 * Remove an in-process callback function from an existing SpiAccessibleEventListener.
201 * Returns: #TRUE if successful, otherwise #FALSE.
205 EventListener_removeCallback (SpiAccessibleEventListener *listener,
206 SpiAccessibleEventListenerCB callback);
210 * @callback : an #KeystrokeListenerCB callback function, or NULL.
212 * Create a new #KeystrokeListener with a specified callback function.
214 * Returns: a pointer to a newly-created #KeystrokeListener.
218 createKeystrokeListener (KeystrokeListenerCB 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 KeystrokeListener_addCallback (KeystrokeListener *listener,
232 KeystrokeListenerCB callback);
235 * KeystrokeListener_removeCallback:
236 * @listener: the #KeystrokeListener instance to modify.
237 * @callback: an #KeystrokeListenerCB function pointer.
239 * Remove an in-process callback function from an existing #KeystrokeListener.
241 * Returns: #TRUE if successful, otherwise #FALSE.
245 KeystrokeListener_removeCallback (KeystrokeListener *listener,
246 KeystrokeListenerCB 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 SpiAccessibleEventListener.
272 * Returns: #TRUE if successful, otherwise #FALSE.
276 registerGlobalEventListener (SpiAccessibleEventListener *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 (SpiAccessible **list);
324 * registerKeystrokeListener:
325 * @listener: a pointer to the #KeystrokeListener for which
326 * keystroke events are requested.
328 * Not Yet Implemented.
332 registerKeystrokeListener (KeystrokeListener *listener,
335 KeyEventMask eventmask,
336 KeyListenerSyncType sync_type);
340 * @keycode: a #long indicating the keycode of the key event
342 * @synth_type: a #KeySynthType indicating whether this should be a
343 * KEY_PRESS, KEY_RELEASE, both (KEY_PRESSRELEASE), or
344 * a press/release pair for a KEYSYM.
346 * Synthesize a keyboard event (as if a hardware keyboard event occurred in the
347 * current UI context).
351 generateKeyEvent (long keyCode, KeySynthType synth_type);
354 * generateMouseEvent:
355 * @x: a #long indicating the screen x coordinate of the mouse event.
356 * @y: a #long indicating the screen y coordinate of the mouse event.
357 * @name: a string indicating which mouse event to be synthesized
358 * (e.g. "button1", "button2", "mousemove").
360 * Synthesize a mouse event at a specific screen coordinate.
361 * Not Yet Implemented.
365 generateMouseEvent (long x, long y, char *name);
369 * SpiAccessible function prototypes
375 * @obj: a pointer to the #Accessible object on which to operate.
377 * Increment the reference count for an #Accessible object.
379 * Returns: (no return code implemented yet).
383 SpiAccessible_ref (SpiAccessible *obj);
386 * SpiAccessible_unref:
387 * @obj: a pointer to the #Accessible object on which to operate.
389 * Decrement the reference count for an #Accessible object.
391 * Returns: (no return code implemented yet).
395 SpiAccessible_unref (SpiAccessible *obj);
398 * SpiAccessible_getName:
399 * @obj: a pointer to the #Accessible object on which to operate.
401 * Get the name of an #Accessible object.
403 * Returns: a UTF-8 string indicating the name of the #Accessible object.
407 SpiAccessible_getName (SpiAccessible *obj);
410 * SpiAccessible_getDescription:
411 * @obj: a pointer to the #Accessible object on which to operate.
413 * Get the description of an #Accessible object.
415 * Returns: a UTF-8 string describing the #Accessible object.
419 SpiAccessible_getDescription (SpiAccessible *obj);
422 * SpiAccessible_getParent:
423 * @obj: a pointer to the #Accessible object to query.
425 * Get an #Accessible object's parent container.
427 * Returns: a pointer to the #Accessible object which contains the given
428 * #Accessible instance, or NULL if the @obj has no parent container.
432 SpiAccessible_getParent (SpiAccessible *obj);
435 * SpiAccessible_getChildCount:
437 * @obj: a pointer to the #Accessible object on which to operate.
439 * Get the number of children contained by an #Accessible object.
441 * Returns: a #long indicating the number of #Accessible children
442 * contained by an #Accessible object.
446 SpiAccessible_getChildCount (SpiAccessible *obj);
449 * SpiAccessible_getChildAtIndex:
451 * @obj: a pointer to the #Accessible object on which to operate.
452 * @childIndex: a #long indicating which child is specified.
454 * Get the #Accessible child of an #Accessible object at a given index.
456 * Returns: a pointer to the #Accessible child object at index
461 SpiAccessible_getChildAtIndex (SpiAccessible *obj,
465 * SpiAccessible_getIndexInParent:
467 * @obj: a pointer to the #Accessible object on which to operate.
469 * Get the index of an #Accessible object in its containing #Accessible.
471 * Returns: a #long indicating the index of the #Accessible object
472 * in its parent (i.e. containing) #Accessible instance,
473 * or -1 if @obj has no containing parent.
477 SpiAccessible_getIndexInParent (SpiAccessible *obj);
480 * SpiAccessible_getRelationSet:
482 * Not Yet Implemented.
485 SpiAccessibleRelation **
486 SpiAccessible_getRelationSet (SpiAccessible *obj);
489 * SpiAccessible_getRole:
490 * @obj: a pointer to the #Accessible object on which to operate.
492 * Get the UI role of an #Accessible object.
494 * Returns: a UTF-8 string indicating the UI role of the #Accessible object.
498 SpiAccessible_getRole (SpiAccessible *obj);
501 * SpiAccessible_getStateSet:
503 * Not Yet Implemented.
506 SpiAccessibleStateSet *
507 SpiAccessible_getStateSet (SpiAccessible *obj);
509 /* Interface query methods */
512 * SpiAccessible_isAction:
513 * @obj: a pointer to the #Accessible instance to query.
515 * Query whether the specified #Accessible implements #AccessibleAction.
516 * Not Yet Implemented.
518 * Returns: #TRUE if @obj implements the #AccessibleAction interface,
522 SpiAccessible_isAction (SpiAccessible *obj);
525 * SpiAccessible_isComponent:
526 * @obj: a pointer to the #Accessible instance to query.
528 * Query whether the specified #Accessible implements #AccessibleComponent.
530 * Returns: #TRUE if @obj implements the #AccessibleComponent interface,
534 SpiAccessible_isComponent (SpiAccessible *obj);
537 * SpiAccessible_isEditableText:
538 * @obj: a pointer to the #Accessible instance to query.
540 * Query whether the specified #Accessible implements #AccessibleEditableText.
541 * Not Yet Implemented.
543 * Returns: #TRUE if @obj implements the #AccessibleEditableText interface,
547 SpiAccessible_isEditableText (SpiAccessible *obj);
550 * SpiAccessible_isHypertext:
551 * @obj: a pointer to the #Accessible instance to query.
553 * Query whether the specified #Accessible implements #AccessibleHypertext.
554 * Not Yet Implemented.
556 * Returns: #TRUE if @obj implements the #AccessibleHypertext interface,
560 SpiAccessible_isHypertext (SpiAccessible *obj);
563 * SpiAccessible_isImage:
564 * @obj: a pointer to the #Accessible instance to query.
566 * Query whether the specified #Accessible implements #AccessibleImage.
567 * Not Yet Implemented.
569 * Returns: #TRUE if @obj implements the #AccessibleImage interface,
573 SpiAccessible_isImage (SpiAccessible *obj);
576 * SpiAccessible_isSelection:
577 * @obj: a pointer to the #Accessible instance to query.
579 * Query whether the specified #Accessible implements #AccessibleSelection.
580 * Not Yet Implemented.
582 * Returns: #TRUE if @obj implements the #AccessibleSelection interface,
586 SpiAccessible_isSelection (SpiAccessible *obj);
589 * SpiAccessible_isTable:
590 * @obj: a pointer to the #Accessible instance to query.
592 * Query whether the specified #Accessible implements #AccessibleTable.
593 * Not Yet Implemented.
595 * Returns: #TRUE if @obj implements the #AccessibleTable interface,
599 SpiAccessible_isTable (SpiAccessible *obj);
602 * SpiAccessible_isText:
603 * @obj: a pointer to the #Accessible instance to query.
605 * Query whether the specified #Accessible implements #AccessibleText.
606 * Not Yet Implemented.
608 * Returns: #TRUE if @obj implements the #AccessibleText interface,
612 SpiAccessible_isText (SpiAccessible *obj);
615 * SpiAccessible_getAction:
617 * Not Yet Implemented.
620 SpiAccessibleAction *
621 SpiAccessible_getAction (SpiAccessible *obj);
624 * SpiAccessible_getComponent:
625 * @obj: a pointer to the #Accessible instance to query.
627 * Get the #AccessibleComponent interface for an #Accessible.
629 * Returns: a pointer to an #AccessibleComponent interface instance, or
630 * NULL if @obj does not implement #AccessibleComponent.
632 SpiAccessibleComponent *
633 SpiAccessible_getComponent (SpiAccessible *obj);
636 * SpiAccessible_getEditableText:
638 * Not Yet Implemented.
641 SpiAccessibleEditableText *
642 SpiAccessible_getEditableText (SpiAccessible *obj);
645 * SpiAccessible_getHypertext:
647 * Not Yet Implemented.
650 SpiAccessibleHypertext *
651 SpiAccessible_getHypertext (SpiAccessible *obj);
654 * SpiAccessible_getImage:
656 * Not Yet Implemented.
660 SpiAccessible_getImage (SpiAccessible *obj);
663 * SpiAccessible_getSelection:
665 * Not Yet Implemented.
668 SpiAccessibleSelection *
669 SpiAccessible_getSelection (SpiAccessible *obj);
672 * SpiAccessible_getTable:
674 * Not Yet Implemented.
678 SpiAccessible_getTable (SpiAccessible *obj);
681 * SpiAccessible_getText:
683 * Not Yet Implemented.
687 SpiAccessible_getText (SpiAccessible *obj);
690 * SpiAccessible_queryInterface:
691 * @obj: a pointer to the #Accessible instance to query.
692 * @interface_name: a UTF-8 character string specifiying the requested interface.
694 * Query an #Accessible object to for a named interface.
696 * Returns: an instance of the named interface object, if it is implemented
697 * by @obj, or NULL otherwise.
701 SpiAccessible_queryInterface (SpiAccessible *obj, char *interface_name);
705 * SpiAccessibleAction function prototypes
710 SpiAccessibleAction_ref (
711 SpiAccessibleAction *obj);
714 SpiAccessibleAction_unref (SpiAccessibleAction *obj);
717 SpiAccessibleAction_getNActions (SpiAccessibleAction *obj);
720 * SpiAccessibleAction_getDescription:
721 * @obj: a pointer to the #AccessibleAction to query.
723 * Get the description of 'i-th' action invokable on an
724 * object implementing #AccessibleAction.
726 * Not Yet Implemented.
728 * Returns: a UTF-8 string describing the 'i-th' invokable action.
732 SpiAccessibleAction_getDescription (SpiAccessibleAction *obj,
736 SpiAccessibleAction_doAction (SpiAccessibleAction *obj,
740 SpiAccessibleAction_getKeyBinding (SpiAccessibleAction *obj,
745 * SpiAccessibleApplication function prototypes
750 * SpiAccessibleApplication_unref:
751 * @obj: a pointer to the #AccessibleApplication on which to operate.
753 * Decrement the reference count for an #AccessibleApplication.
755 * Returns: (no return code implemented yet).
759 SpiAccessibleApplication_ref (SpiAccessibleApplication *obj);
762 * SpiAccessibleApplication_unref:
763 * @obj: a pointer to the #AccessibleApplication object on which to operate.
765 * Decrement the reference count for an #AccessibleApplication.
767 * Returns: (no return code implemented yet).
771 SpiAccessibleApplication_unref (SpiAccessibleApplication *obj);
774 * SpiAccessibleApplication_getToolkitName:
775 * @obj: a pointer to the #AccessibleApplication to query.
777 * Get the name of the UI toolkit used by an #AccessibleApplication.
779 * Returns: a UTF-8 string indicating which UI toolkit is
780 * used by an application.
784 SpiAccessibleApplication_getToolkitName (SpiAccessibleApplication *obj);
787 * SpiAccessibleApplication_getVersion:
788 * @obj: a pointer to the #AccessibleApplication being queried.
790 * Get the version of the at-spi bridge exported by an
791 * #AccessibleApplication instance.
793 * Returns: a UTF-8 string indicating the application's
798 SpiAccessibleApplication_getVersion (SpiAccessibleApplication *obj);
801 * SpiAccessibleApplication_getID:
802 * @obj: a pointer to the #AccessibleApplication being queried.
804 * Get the unique ID assigned by the SpiRegistry to an
805 * #AccessibleApplication instance.
806 * (Not Yet Implemented by the registry).
808 * Returns: a unique #long integer associated with the application
809 * by the SpiRegistry, or 0 if the application is not registered.
812 SpiAccessibleApplication_getID (SpiAccessibleApplication *obj);
815 * SpiAccessibleApplication_pause:
817 * Attempt to pause the application (used when client event queue is
819 * Not Yet Implemented.
821 * Returns: #TRUE if the application was paused successfully, #FALSE otherwise.
825 SpiAccessibleApplication_pause (SpiAccessibleApplication *obj);
828 * SpiAccessibleApplication_pause:
830 * Attempt to resume the application (used after #AccessibleApplication_pause).
831 * Not Yet Implemented.
833 * Returns: #TRUE if application processing resumed successfully, #FALSE otherwise.
837 SpiAccessibleApplication_resume (SpiAccessibleApplication *obj);
841 * SpiAccessibleComponent function prototypes
846 SpiAccessibleComponent_ref (SpiAccessibleComponent *obj);
849 SpiAccessibleComponent_unref (SpiAccessibleComponent *obj);
852 SpiAccessibleComponent_contains (SpiAccessibleComponent *obj,
855 SpiAccessibleCoordType ctype);
858 SpiAccessibleComponent_getAccessibleAtPoint (SpiAccessibleComponent *obj,
861 SpiAccessibleCoordType ctype);
864 * SpiAccessibleComponent_getExtents:
865 * @obj: a pointer to the #AccessibleComponent to query.
866 * @x: a pointer to a #long into which the minimum x coordinate will be returned.
867 * @y: a pointer to a #long into which the minimum y coordinate will be returned.
868 * @width: a pointer to a #long into which the x extents (width) will be returned.
869 * @height: a pointer to a #long into which the y extents (height) will be returned.
870 * @ctype: the desired coordinate system into which to return the results,
871 * (e.g. COORD_TYPE_WINDOW, COORD_TYPE_SCREEN).
873 * Get the bounding box of the specified #AccessibleComponent.
877 SpiAccessibleComponent_getExtents (SpiAccessibleComponent *obj,
882 SpiAccessibleCoordType ctype);
885 SpiAccessibleComponent_getPosition (SpiAccessibleComponent *obj,
888 SpiAccessibleCoordType ctype);
891 SpiAccessibleComponent_getSize (SpiAccessibleComponent *obj,
896 SpiAccessibleComponent_grabFocus (SpiAccessibleComponent *obj);
900 * SpiAccessibleEditableText function prototypes
905 SpiAccessibleEditableText_ref (SpiAccessibleEditableText *obj);
908 SpiAccessibleEditableText_unref (SpiAccessibleEditableText *obj);
911 SpiAccessibleEditableText_setRunAttributes (SpiAccessibleEditableText *obj,
912 const char *attributes,
913 long startPos, long endPos);
916 SpiAccessibleEditableText_setTextContents (SpiAccessibleEditableText *obj,
917 const char *newContents);
920 SpiAccessibleEditableText_insertText (SpiAccessibleEditableText *obj,
926 SpiAccessibleEditableText_copyText (SpiAccessibleText *obj,
931 SpiAccessibleEditableText_cutText (SpiAccessibleEditableText *obj,
936 SpiAccessibleEditableText_deleteText (SpiAccessibleEditableText *obj,
941 SpiAccessibleEditableText_pasteText (SpiAccessibleEditableText *obj,
946 * SpiAccessibleHyperlink function prototypes
951 SpiAccessibleHyperlink_ref (SpiAccessibleHyperlink *obj);
954 SpiAccessibleHyperlink_unref (SpiAccessibleHyperlink *obj);
957 SpiAccessibleHyperlink_getNAnchors (SpiAccessibleHyperlink *obj);
960 SpiAccessibleHyperlink_getURI (SpiAccessibleHyperlink *obj,
964 SpiAccessibleHyperlink_getObject (SpiAccessibleHyperlink *obj,
968 SpiAccessibleHyperlink_getIndexRange (SpiAccessibleHyperlink *obj,
973 SpiAccessibleHyperlink_isValid (SpiAccessibleHyperlink *obj);
977 * SpiAccessibleHypertext function prototypes
982 SpiAccessibleHypertext_ref (SpiAccessibleHypertext *obj);
985 SpiAccessibleHypertext_unref (SpiAccessibleHypertext *obj);
988 SpiAccessibleHypertext_getNLinks (SpiAccessibleHypertext *obj);
990 SpiAccessibleHyperlink *
991 SpiAccessibleHyperText_getLink (SpiAccessibleHypertext *obj,
995 SpiAccessibleHypertext_getLinkIndex (SpiAccessibleHypertext *obj,
996 long characterIndex);
1000 * SpiAccessibleImage function prototypes
1005 SpiAccessibleImage_ref (SpiAccessibleImage *obj);
1008 SpiAccessibleImage_unref (SpiAccessibleImage *obj);
1011 SpiAccessibleImage_getImageDescription (SpiAccessibleImage *obj);
1014 SpiAccessibleImage_getImageSize (SpiAccessibleImage *obj,
1019 SpiAccessibleImage_getImagePosition (SpiAccessibleImage *obj,
1022 SpiAccessibleCoordType ctype);
1026 * SpiAccessibleRelation function prototypes
1031 SpiAccessibleRelation_ref (SpiAccessibleRelation *obj);
1034 SpiAccessibleRelation_unref (SpiAccessibleRelation *obj);
1037 SpiAccessibleRelation_getRelationType (SpiAccessibleRelation *obj);
1040 SpiAccessibleRelation_getTarget (SpiAccessibleRelation *obj);
1046 * SpiAccessibleSelection function prototypes
1051 SpiAccessibleSelection_ref (SpiAccessibleSelection *obj);
1054 SpiAccessibleSelection_unref (SpiAccessibleSelection *obj);
1057 SpiAccessibleSelection_getNSelectedChildren (SpiAccessibleSelection *obj);
1060 SpiAccessibleSelection_getSelectedChild (SpiAccessibleSelection *obj,
1061 long selectedChildIndex);
1064 SpiAccessibleSelection_selectChild (SpiAccessibleSelection *obj,
1068 SpiAccessibleSelection_deselectSelectedChild (SpiAccessibleSelection *obj,
1069 long selectedChildIndex);
1072 SpiAccessibleSelection_isChildSelected (SpiAccessibleSelection *obj,
1076 SpiAccessibleSelection_selectAll (SpiAccessibleSelection *obj);
1079 SpiAccessibleSelection_clearSelection (SpiAccessibleSelection *obj);
1084 * SpiAccessibleStateSet function prototypes
1089 SpiAccessibleStateSet_ref (SpiAccessibleStateSet *obj);
1092 SpiAccessibleStateSet_unref (SpiAccessibleStateSet *obj);
1095 SpiAccessibleStateSet_contains (SpiAccessibleStateSet *obj,
1096 SPI_ACCESSIBLE_STATE state);
1099 SpiAccessibleStateSet_add (SpiAccessibleStateSet *obj,
1100 SPI_ACCESSIBLE_STATE state);
1103 SpiAccessibleStateSet_remove (SpiAccessibleStateSet *obj,
1104 SPI_ACCESSIBLE_STATE state);
1107 SpiAccessibleStateSet_equals (SpiAccessibleStateSet *obj,
1108 SpiAccessibleStateSet *obj2);
1111 SpiAccessibleStateSet_compare (SpiAccessibleStateSet *obj,
1112 SpiAccessibleStateSet *obj2,
1113 SpiAccessibleStateSet **differenceSet);
1116 SpiAccessibleStateSet_isEmpty (SpiAccessibleStateSet *obj);
1121 * SpiAccessibleTable function prototypes
1126 SpiAccessibleTable_ref (SpiAccessibleTable *obj);
1129 SpiAccessibleTable_unref (SpiAccessibleTable *obj);
1132 SpiAccessibleTable_getCaption (SpiAccessibleTable *obj);
1135 SpiAccessibleTable_getSummary (SpiAccessibleTable *obj);
1138 SpiAccessibleTable_getNRows (SpiAccessibleTable *obj);
1141 SpiAccessibleTable_getNColumns (SpiAccessibleTable *obj);
1144 SpiAccessibleTable_refAt (SpiAccessibleTable *obj,
1149 SpiAccessibleTable_getIndexAt (SpiAccessibleTable *obj,
1154 SpiAccessibleTable_getRowAtIndex (SpiAccessibleTable *obj,
1158 SpiAccessibleTable_getColumnAtIndex (SpiAccessibleTable *obj,
1162 SpiAccessibleTable_getRowDescription (SpiAccessibleTable *obj,
1166 SpiAccessibleTable_getColumnDescription (SpiAccessibleTable *obj,
1170 SpiAccessibleTable_getRowExtentAt (SpiAccessibleTable *obj,
1175 SpiAccessibleTable_getColumnExtentAt (SpiAccessibleTable *obj,
1180 SpiAccessibleTable_getRowHeader (SpiAccessibleTable *obj,
1184 SpiAccessibleTable_getColumnHeader (SpiAccessibleTable *obj,
1188 SpiAccessibleTable_getNSelectedRows (SpiAccessibleTable *obj);
1191 SpiAccessibleTable_getSelectedRows (SpiAccessibleTable *obj,
1192 long **selectedRows);
1195 SpiAccessibleTable_getNSelectedColumns (SpiAccessibleTable *obj);
1198 SpiAccessibleTable_getSelectedColumns (SpiAccessibleTable *obj,
1199 long **selectedColumns);
1202 SpiAccessibleTable_isRowSelected (SpiAccessibleTable *obj,
1206 SpiAccessibleTable_isColumnSelected (SpiAccessibleTable *obj,
1210 SpiAccessibleTable_isSelected (SpiAccessibleTable *obj,
1216 * SpiAccessibleText function prototypes
1221 SpiAccessibleText_ref (SpiAccessibleText *obj);
1224 SpiAccessibleText_unref (SpiAccessibleText *obj);
1227 SpiAccessibleText_getCharacterCount (SpiAccessibleText *obj);
1230 SpiAccessibleText_getText (SpiAccessibleText *obj,
1235 SpiAccessibleText_getCaretOffset (SpiAccessibleText *obj);
1238 SpiAccessibleText_getAttributes (SpiAccessibleText *obj,
1245 SpiAccessibleText_setCaretOffset (SpiAccessibleText *obj,
1249 SpiAccessibleText_getTextBeforeOffset (SpiAccessibleText *obj,
1251 SPI_TEXT_BOUNDARY_TYPE type,
1252 long *startOffset, long *endOffset);
1255 SpiAccessibleText_getTextAtOffset (SpiAccessibleText *obj,
1257 SPI_TEXT_BOUNDARY_TYPE type,
1258 long *startOffset, long *endOffset);
1261 SpiAccessibleText_getTextAfterOffset (SpiAccessibleText *obj,
1263 SPI_TEXT_BOUNDARY_TYPE type,
1264 long *startOffset, long *endOffset);
1266 SpiAccessibleText_getCharacterAtOffset (SpiAccessibleText *obj,
1270 SpiAccessibleText_getCharacterExtents (SpiAccessibleText *obj,
1275 long *height, SpiAccessibleCoordType type);
1278 SpiAccessibleText_getOffsetAtPoint (SpiAccessibleText *obj,
1280 long y, SpiAccessibleCoordType type);
1283 SpiAccessibleText_getNSelections (SpiAccessibleText *obj);
1286 SpiAccessibleText_getSelection (SpiAccessibleText *obj,
1287 long selectionNum, long *startOffset,
1292 SpiAccessibleText_addSelection (SpiAccessibleText *obj,
1293 long startOffset, long endOffset);
1296 SpiAccessibleText_removeSelection (SpiAccessibleText *obj,
1300 SpiAccessibleText_setSelection (SpiAccessibleText *obj,
1307 * SpiAccessibleValue Function Prototypes:
1312 SpiAccessibleValue_getMinimumValue (SpiAccessibleValue *value);
1315 SpiAccessibleValue_getCurrentValue (SpiAccessibleValue *value);
1318 SpiAccessibleValue_getMaximumValue (SpiAccessibleValue *value);
1321 SpiAccessibleValue_setCurrentValue (SpiAccessibleValue *value,
1325 spi_freeString (char *s);