877524944590a843e0b01701e0bb3a7f55da3f78
[platform/core/uifw/at-spi2-atk.git] / cspi / spi.h
1
2 #ifndef _SPI_H
3 #define _SPI_H
4
5 /* Implementation private definitions */
6 #include "spi-impl.h"
7
8 /*
9  * Definitions for ACCESSIBLE_STATE , ACCESSIBLE_ROLE, AccessibleEvent,
10  *      and event listeners.
11  */
12
13 #include "spi-roletypes.h"
14 #include "spi-statetypes.h"
15 #include "spi-listener.h"
16
17 /*
18  *
19  * Enumerated type for text boundary types
20  *
21  */
22
23 typedef enum
24 {
25   TEXT_BOUNDARY_CHAR,
26   TEXT_BOUNDARY_CURSOR_POS,
27   TEXT_BOUNDARY_WORD_START,
28   TEXT_BOUNDARY_WORD_END,
29   TEXT_BOUNDARY_SENTENCE_START,
30   TEXT_BOUNDARY_SENTENCE_END,
31   TEXT_BOUNDARY_LINE_START,
32   TEXT_BOUNDARY_LINE_END,
33   TEXT_BOUNDARY_ATTRIBUTE_RANGE
34 } TEXT_BOUNDARY_TYPE;
35
36
37
38 /*
39  *
40  * Enumerated type for relation types
41  *
42  */
43
44 typedef enum
45 {
46   RELATION_LABEL_FOR,
47   RELATION_LABELED_BY,
48   RELATION_CONTROLLER_FOR,
49   RELATION_CONTROLLED_BY,
50   RELATION_MEMBER_OF
51 } RELATION_TYPE;
52
53
54
55 typedef enum _AccessibleCoordType {
56   COORD_TYPE_WINDOW,
57   COORD_TYPE_SCREEN
58 } AccessibleCoordType;
59
60
61 /*
62  *
63  * Basic SPI initialization and event loop function prototypes
64  *
65  */
66
67 /**
68  * SPI_init:
69  *
70  * Connects to the accessibility registry and initializes the SPI.
71  *
72  * Returns: 0 on success, otherwise an integer error code.
73  **/
74 int
75 SPI_init (void);
76
77 /**
78  * SPI_event_main:
79  * @isGNOMEApp: a #boolean indicating whether the client of the SPI
80  *              will use the Gnome event loop or not.
81  *
82  * Starts/enters the main event loop for the SPI services.
83  *
84  * (NOTE: This method does not return control, it is exited via a call to exit()
85  * from within an event handler).
86  *
87  **/
88 void
89 SPI_event_main (boolean isGNOMEApp);
90
91 /**
92  * SPI_event_is_ready:
93  *
94  * Checks to see if an SPI event is waiting in the event queue.
95  * Used by clients that don't wish to use SPI_event_main().
96  * Not Yet Implemented.
97  *
98  * Returns: #TRUE if an event is waiting, otherwise #FALSE.
99  *
100  **/
101 boolean
102 SPI_eventIsReady ();
103
104 /**
105  * SPI_nextEvent:
106  *
107  * Gets the next event in the SPI event queue; blocks if no event
108  * is pending.
109  * Used by clients that don't wish to use SPI_event_main().
110  * Not Yet Implemented.
111  *
112  * Returns: the next #AccessibleEvent in the SPI event queue.
113  *
114  **/
115 AccessibleEvent *
116 SPI_nextEvent (boolean waitForEvent);
117
118 /**
119  * SPI_exit:
120  *
121  * Disconnects from the Accessibility Registry and releases resources.
122  * Not Yet Implemented.
123  *
124  **/
125 void
126 SPI_exit (void);
127
128 /*
129  * Event Listener creation and support.
130  */
131
132 /**
133  * createEventListener:
134  * @callback : an #AccessibleEventListenerCB callback function, or NULL.
135  *
136  * Create a new #AccessibleEventListener with a specified callback function.
137  *
138  * Returns: a pointer to a newly-created #AccessibleEventListener.
139  *
140  **/
141 AccessibleEventListener *
142 createEventListener (AccessibleEventListenerCB callback);
143
144 /**
145  * EventListener_addCallback:
146  * @listener: the #AccessibleEventListener instance to modify.
147  * @callback: an #AccessibleEventListenerCB function pointer.
148  *
149  * Add an in-process callback function to an existing AccessibleEventListener.
150  *
151  * Returns: #TRUE if successful, otherwise #FALSE.
152  *
153  **/
154 boolean
155 EventListener_addCallback (AccessibleEventListener *listener,
156                            AccessibleEventListenerCB callback);
157
158 /**
159  * EventListener_removeCallback:
160  * @listener: the #AccessibleEventListener instance to modify.
161  * @callback: an #AccessibleEventListenerCB function pointer.
162  *
163  * Remove an in-process callback function from an existing AccessibleEventListener.
164  *
165  * Returns: #TRUE if successful, otherwise #FALSE.
166  *
167  **/
168 boolean
169 EventListener_removeCallback (AccessibleEventListener *listener,
170                               AccessibleEventListenerCB callback);
171
172 /*
173  *
174  * Global functions serviced by the registry
175  *
176  */
177
178 /**
179  * registerGlobalEventListener:
180  * @listener: the #AccessibleEventListener to be registered against an event type.
181  * @callback: a character string indicating the type of events for which
182  *            notification is requested.  Format is
183  *            EventClass:major_type:minor_type:detail
184  *            where all subfields other than EventClass are optional.
185  *            EventClasses include "Focus", "Window", "Mouse",
186  *            and toolkit events (e.g. "Gtk", "AWT").
187  *            Examples: "focus:", "Gtk:GtkWidget:button_press_event".
188  *
189  * NOTE: this string may be UTF-8, but should not contain byte value 56 (ascii ':'),
190  *            except as a delimiter, since non-UTF-8 string delimiting
191  *            functions are used internally.  In general, listening to
192  *            toolkit-specific events is not recommended.
193  *
194  * Add an in-process callback function to an existing AccessibleEventListener.
195  *
196  * Returns: #TRUE if successful, otherwise #FALSE.
197  *
198  **/
199 boolean
200 registerGlobalEventListener (AccessibleEventListener *listener,
201                              char *eventType);
202
203 /**
204  * getDesktopCount:
205  *
206  * Get the number of virtual desktops.
207  * NOTE: currently multiple virtual desktops are not implemented, this
208  *       function always returns '1'.
209  *
210  * Returns: an integer indicating the number of active virtual desktops.
211  *
212  **/
213 int
214 getDesktopCount ();
215
216 /**
217  * getDesktop:
218  * @i: an integer indicating which of the accessible desktops is to be returned.
219  *
220  * Get the virtual desktop indicated by index @i.
221  * NOTE: currently multiple virtual desktops are not implemented, this
222  *       function always returns '1'.
223  *
224  * Returns: a pointer to the 'i-th' virtual desktop's #Accessible representation.
225  *
226  **/
227 Accessible*
228 getDesktop (int n);
229
230 /**
231  * getDesktopList:
232  * @list: a pointer to an array of #Accessible objects.
233  *
234  * Get the list of virtual desktops.  On return, @list will point
235  *     to a newly-created array of virtual desktop pointers.
236  *     It is the responsibility of the caller to free this array when
237  *     it is no longer needed.
238  *
239  * Not Yet Implemented.
240  *
241  * Returns: an integer indicating how many virtual desktops have been
242  *          placed in the list pointed to by parameter @list.
243  **/
244 int
245 getDesktopList (Accessible **list);
246
247 /**
248  * registerKeystrokeListener:
249  * @listener: a pointer to the #KeystrokeListener for which
250  *            keystroke events are requested.
251  *
252  * Not Yet Implemented.
253  *
254  **/
255 void
256 registerKeystrokeListener (KeystrokeListener *listener);
257
258 /**
259  * generateKeyEvent:
260  * @keycode: a #long indicating the keycode of the key event
261  *           being synthesized.
262  * @meta: a #long indicating the key modifiers to be sent
263  *        with the event, if any.
264  *
265  * Synthesize a keyboard event (as if a hardware keyboard event occurred in the
266  * current UI context).
267  * Not Yet Implemented.
268  *
269  **/
270 void
271 generateKeyEvent (long keyCode, long meta);
272
273 /**
274  * generateMouseEvent:
275  * @x: a #long indicating the screen x coordinate of the mouse event.
276  * @y: a #long indicating the screen y coordinate of the mouse event.
277  * @name: a string indicating which mouse event to be synthesized
278  *        (e.g. "button1", "button2", "mousemove").
279  *
280  * Synthesize a mouse event at a specific screen coordinate.
281  * Not Yet Implemented.
282  *
283  **/
284 void
285 generateMouseEvent (long x, long y, char *name);
286
287 /*
288  *
289  * Accessible function prototypes
290  *
291  */
292
293 /**
294  * Accessible_ref:
295  * @obj: a pointer to the #Accessible object on which to operate.
296  *
297  * Increment the reference count for an #Accessible object.
298  *
299  * Returns: (no return code implemented yet).
300  *
301  **/
302 int
303 Accessible_ref (Accessible *obj);
304
305 /**
306  * Accessible_unref:
307  * @obj: a pointer to the #Accessible object on which to operate.
308  *
309  * Decrement the reference count for an #Accessible object.
310  *
311  * Returns: (no return code implemented yet).
312  *
313  **/
314 int
315 Accessible_unref (Accessible *obj);
316
317 /**
318  * Accessible_getName:
319  * @obj: a pointer to the #Accessible object on which to operate.
320  *
321  * Get the name of an #Accessible object.
322  *
323  * Returns: a UTF-8 string indicating the name of the #Accessible object.
324  *
325  **/
326 char *
327 Accessible_getName (Accessible *obj);
328
329 /**
330  * Accessible_getDescription:
331  * @obj: a pointer to the #Accessible object on which to operate.
332  *
333  * Get the description of an #Accessible object.
334  *
335  * Returns: a UTF-8 string describing the #Accessible object.
336  *
337  **/
338 char *
339 Accessible_getDescription (Accessible *obj);
340
341 /**
342  * Accessible_getParent:
343  * @obj: a pointer to the #Accessible object to query.
344  *
345  * Get an #Accessible object's parent container.
346  *
347  * Returns: a pointer to the #Accessible object which contains the given
348  *          #Accessible instance, or NULL if the @obj has no parent container.
349  *
350  **/
351 Accessible *
352 Accessible_getParent (Accessible *obj);
353
354 /**
355  * Accessible_getChildCount:
356  *
357  * @obj: a pointer to the #Accessible object on which to operate.
358  *
359  * Get the number of children contained by an #Accessible object.
360  *
361  * Returns: a #long indicating the number of #Accessible children
362  *          contained by an #Accessible object.
363  *
364  **/
365 long
366 Accessible_getChildCount (Accessible *obj);
367
368 /**
369  * Accessible_getChildAtIndex:
370  *
371  * @obj: a pointer to the #Accessible object on which to operate.
372  * @childIndex: a #long indicating which child is specified.
373  *
374  * Get the #Accessible child of an #Accessible object at a given index.
375  *
376  * Returns: a pointer to the #Accessible child object at index
377  *          @childIndex.
378  *
379  **/
380 Accessible *
381 Accessible_getChildAtIndex (Accessible *obj,
382                             long childIndex);
383
384 /**
385  * Accessible_getIndexInParent:
386  *
387  * @obj: a pointer to the #Accessible object on which to operate.
388  *
389  * Get the index of an #Accessible object in its containing #Accessible.
390  *
391  * Returns: a #long indicating the index of the #Accessible object
392  *          in its parent (i.e. containing) #Accessible instance,
393  *          or -1 if @obj has no containing parent.
394  *
395  **/
396 long
397 Accessible_getIndexInParent (Accessible *obj);
398
399 /**
400  * Accessible_getRelationSet:
401  *
402  * Not Yet Implemented.
403  *
404  **/
405 AccessibleRelation **
406 Accessible_getRelationSet (Accessible *obj);
407
408 /**
409  * Accessible_getRole:
410  * @obj: a pointer to the #Accessible object on which to operate.
411  *
412  * Get the UI role of an #Accessible object.
413  *
414  * Returns: a UTF-8 string indicating the UI role of the #Accessible object.
415  *
416  **/
417 char *
418 Accessible_getRole (Accessible *obj);
419
420 /**
421  * Accessible_getStateSet:
422  *
423  * Not Yet Implemented.
424  *
425  **/
426 AccessibleStateSet *
427 Accessible_getStateSet (Accessible *obj);
428
429
430 /*
431  *
432  * AccessibleAction function prototypes
433  *
434  */
435
436 int
437 AccessibleAction_ref (
438                       AccessibleAction *obj);
439
440 int
441 AccessibleAction_unref (AccessibleAction *obj);
442
443 long
444 AccessibleAction_getNActions (AccessibleAction *obj);
445
446 /**
447  * AccessibleAction_getDescription:
448  * @obj: a pointer to the #AccessibleAction to query.
449  *
450  * Get the description of 'i-th' action invokable on an
451  *      object implementing #AccessibleAction.
452  *
453  * Not Yet Implemented.
454  *
455  * Returns: a UTF-8 string describing the 'i-th' invokable action.
456  *
457  **/
458 char *
459 AccessibleAction_getDescription (AccessibleAction *obj,
460                                  long index);
461
462 void
463 AccessibleAction_doAction (AccessibleAction *obj,
464                            long index);
465
466 char *
467 AccessibleAction_getKeyBinding (AccessibleAction *obj,
468                                 long index);
469
470 /*
471  *
472  * AccessibleApplication function prototypes
473  *
474  */
475
476 /**
477  * AccessibleApplication_unref:
478  * @obj: a pointer to the #AccessibleApplication on which to operate.
479  *
480  * Decrement the reference count for an #AccessibleApplication.
481  *
482  * Returns: (no return code implemented yet).
483  *
484  **/
485 int
486 AccessibleApplication_ref (AccessibleApplication *obj);
487
488 /**
489  * AccessibleApplication_unref:
490  * @obj: a pointer to the #AccessibleApplication object on which to operate.
491  *
492  * Decrement the reference count for an #AccessibleApplication.
493  *
494  * Returns: (no return code implemented yet).
495  *
496  **/
497 int
498 AccessibleApplication_unref (AccessibleApplication *obj);
499
500 /**
501  * AccessibleApplication_getToolkitName:
502  * @obj: a pointer to the #AccessibleApplication to query.
503  *
504  * Get the name of the UI toolkit used by an #AccessibleApplication.
505  *
506  * Returns: a UTF-8 string indicating which UI toolkit is
507  *          used by an application.
508  *
509  **/
510 char *
511 AccessibleApplication_getToolkitName (AccessibleApplication *obj);
512
513 /**
514  * AccessibleApplication_getVersion:
515  * @obj: a pointer to the #AccessibleApplication being queried.
516  *
517  * Get the version of the at-spi bridge exported by an
518  *      #AccessibleApplication instance.
519  *
520  * Returns: a UTF-8 string indicating the application's
521  *          at-spi version.
522  *
523  **/
524 char *
525 AccessibleApplication_getVersion (AccessibleApplication *obj);
526
527 /**
528  * AccessibleApplication_getID:
529  * @obj: a pointer to the #AccessibleApplication being queried.
530  *
531  * Get the unique ID assigned by the Registry to an
532  *      #AccessibleApplication instance.
533  * (Not Yet Implemented by the registry).
534  *
535  * Returns: a unique #long integer associated with the application
536  *          by the Registry, or 0 if the application is not registered.
537  **/
538 long
539 AccessibleApplication_getID (AccessibleApplication *obj);
540
541 /**
542  * AccessibleApplication_pause:
543  *
544  * Attempt to pause the application (used when client event queue is
545  *  over-full).
546  * Not Yet Implemented.
547  *
548  * Returns: #TRUE if the application was paused successfully, #FALSE otherwise.
549  *
550  **/
551 boolean
552 AccessibleApplication_pause (AccessibleApplication *obj);
553
554 /**
555  * AccessibleApplication_pause:
556  *
557  * Attempt to resume the application (used after #AccessibleApplication_pause).
558  * Not Yet Implemented.
559  *
560  * Returns: #TRUE if application processing resumed successfully, #FALSE otherwise.
561  *
562  **/
563 boolean
564 AccessibleApplication_resume (AccessibleApplication *obj);
565
566 /*
567  *
568  * AccessibleComponent function prototypes
569  *
570  */
571
572 int
573 AccessibleComponent_ref (AccessibleComponent *obj);
574
575 int
576 AccessibleComponent_unref (AccessibleComponent *obj);
577
578 boolean
579 AccessibleComponent_contains (AccessibleComponent *obj,
580                               long x,
581                               long y,
582                               AccessibleCoordType ctype);
583
584 Accessible *
585 AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj,
586                                           long x,
587                                           long y,
588                                           AccessibleCoordType ctype);
589
590 void
591 AccessibleComponent_getExtents (AccessibleComponent *obj,
592                                 long *x,
593                                 long *y,
594                                 long *width,
595                                 long *height,
596                                 AccessibleCoordType ctype);
597
598 void
599 AccessibleComponent_getPosition (AccessibleComponent *obj,
600                                  long *x,
601                                  long *y,
602                                  AccessibleCoordType ctype);
603
604 void
605 AccessibleComponent_getSize (AccessibleComponent *obj,
606                              long *width,
607                              long *height);
608
609 void
610 AccessibleComponent_grabFocus (AccessibleComponent *obj);
611
612 /*
613  *
614  * AccessibleEditableText function prototypes
615  *
616  */
617
618 int
619 AccessibleEditableText_ref (AccessibleEditableText *obj);
620
621 int
622 AccessibleEditableText_unref (AccessibleEditableText *obj);
623
624 void
625 AccessibleEditableText_setTextContents (AccessibleEditableText *obj,
626                                         char *newContents);
627
628 void
629 AccessibleEditableText_insertText (AccessibleEditableText *obj,
630                                    long position,
631                                    char *text,
632                                    long length);
633
634 boolean
635 AccessibleEditableText_selectText (AccessibleEditableText *obj,
636                                    long startPos,
637                                    long endPos);
638
639 boolean
640 AccessibleEditableText_setAttributes (AccessibleEditableText *obj,
641                                       long startPos,
642                                       long endPos,
643                                       char *attributes);
644
645 void
646 AccessibleEditableText_copyText (AccessibleText *obj,
647                                  long startPos,
648                                  long endPos);
649
650 void
651 AccessibleEditableText_cutText (AccessibleEditableText *obj,
652                                 long startPos,
653                                 long endPos);
654
655 void
656 AccessibleEditableText_deleteText (AccessibleEditableText *obj,
657                                    long startPos,
658                                    long endPos);
659
660 void
661 AccessibleEditableText_pasteText (AccessibleEditableText *obj,
662                                   long position);
663
664 /*
665  *
666  * AccessibleHyperlink function prototypes
667  *
668  */
669
670 int
671 AccessibleHyperlink_ref (AccessibleHyperlink *obj);
672
673 int
674 AccessibleHyperlink_unref (AccessibleHyperlink *obj);
675
676 long
677 AccessibleHyperlink_getNAnchors (AccessibleHyperlink *obj);
678
679 char *
680 AccessibleHyperlink_getURI (AccessibleHyperlink *obj,
681                             long i);
682
683 Accessible
684 AccessibleHyperlink_getAnchor (AccessibleHyperlink *obj,
685                                long i);
686
687 void
688 AccessibleHyperlink_getIndexRange (AccessibleHyperlink *obj,
689                                    long *startIndex,
690                                    long *endIndex);
691
692 boolean
693 AccessibleHyperlink_isValid (AccessibleHyperlink *obj);
694
695 /*
696  *
697  * AccessibleHypertext function prototypes
698  *
699  */
700
701 int
702 AccessibleHypertext_ref (AccessibleHypertext *obj);
703
704 int
705 AccessibleHypertext_unref (AccessibleHypertext *obj);
706
707 long
708 AccessibleHypertext_getNLinks (AccessibleHypertext *obj);
709
710 AccessibleHyperlink *
711 AccessibleHyperText_getLink (AccessibleHypertext *obj,
712                              long linkIndex);
713
714 long
715 AccessibleHypertext_getLinkIndex (AccessibleHypertext *obj,
716                                   long characterIndex);
717
718 /*
719  *
720  * AccessibleImage function prototypes
721  *
722  */
723
724 int
725 AccessibleImage_ref (AccessibleImage *obj);
726
727 int
728 AccessibleImage_unref (AccessibleImage *obj);
729
730 char *
731 AccessibleImage_getImageDescription (AccessibleImage *obj);
732
733 void
734 AccessibleImage_getImageSize (AccessibleImage *obj,
735                               long *width,
736                               long *height,
737                               AccessibleCoordType ctype);
738 void
739 AccessibleImage_getImagePosition (AccessibleImage *obj,
740                                   long *x,
741                                   long *y,
742                                   AccessibleCoordType ctype);
743
744 /*
745  *
746  * AccessibleRelation function prototypes
747  *
748  */
749
750 int
751 AccessibleRelation_ref (AccessibleRelation *obj);
752
753 int
754 AccessibleRelation_unref (AccessibleRelation *obj);
755
756 RELATION_TYPE
757 AccessibleRelation_getRelationType (AccessibleRelation *obj);
758
759 Accessible *
760 AccessibleRelation_getTarget (AccessibleRelation *obj);
761
762
763
764 /*
765  *
766  * AccessibleSelection function prototypes
767  *
768  */
769
770 int
771 AccessibleSelection_ref (AccessibleSelection *obj);
772
773 int
774 AccessibleSelection_unref (AccessibleSelection *obj);
775
776 long
777 AccessibleSelwection_getNSelectedChildren (AccessibleSelection *obj);
778
779 Accessible *
780 AccessibleSelection_getSelectedChild (AccessibleSelection *obj,
781                                       long selectedChildIndex);
782
783 boolean
784 AccessibleSelection_selectChild (AccessibleSelection *obj,
785                                  long childIndex);
786
787 boolean
788 AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj,
789                                            long selectedChildIndex);
790
791 boolean
792 AccessibleSelection_isChildSelected (AccessibleSelection *obj,
793                                      long childIndex);
794
795 void
796 AccessibleSelection_selectAll (AccessibleSelection *obj);
797
798 void
799 AccessibleSelection_clearSelection (AccessibleSelection *obj);
800
801
802 /*
803  *
804  * AccessibleStateSet function prototypes
805  *
806  */
807
808 int
809 AccessibleStateSet_ref (AccessibleStateSet *obj);
810
811 int
812 AccessibleStateSet_unref (AccessibleStateSet *obj);
813
814 boolean
815 AccessibleStateSet_contains (AccessibleStateSet *obj,
816                              ACCESSIBLE_STATE state);
817
818 void
819 AccessibleStateSet_add (AccessibleStateSet *obj,
820                         ACCESSIBLE_STATE state);
821
822 void
823 AccessibleStateSet_remove (AccessibleStateSet *obj,
824                            ACCESSIBLE_STATE state);
825
826 boolean
827 AccessibleStateSet_equals (AccessibleStateSet *obj,
828                            AccessibleStateSet *obj2);
829
830 void
831 AccessibleStateSet_compare (AccessibleStateSet *obj,
832                             AccessibleStateSet *obj2,
833                             AccessibleStateSet **differenceSet);
834
835 boolean
836 AccessibleStateSet_isEmpty (AccessibleStateSet *obj);
837
838
839 /*
840  *
841  * AccessibleTable function prototypes
842  *
843  */
844
845 int
846 AccessibleTable_ref (AccessibleTable *obj);
847
848 int
849 AccessibleTable_unref (AccessibleTable *obj);
850
851 Accessible *
852 AccessibleTable_getCaption (AccessibleTable *obj);
853
854 Accessible *
855 AccessibleTable_getSummary (AccessibleTable *obj);
856
857 long
858 AccessibleTable_getNRows (AccessibleTable *obj);
859
860 long
861 AccessibleTable_getNColumns (AccessibleTable *obj);
862
863 Accessible *
864 AccessibleTable_getAccessibleAt (AccessibleTable *obj,
865                                  long row,
866                                  long column);
867
868 long
869 AccessibleTable_getIndexAt (AccessibleTable *obj,
870                             long row,
871                             long column);
872
873 long
874 AccessibleTable_getRowAtIndex (AccessibleTable *obj,
875                                long index);
876
877 long
878 AccessibleTable_getColumnAtIndex (AccessibleTable *obj,
879                                   long index);
880
881 char *
882 AccessibleTable_getRowDescription (AccessibleTable *obj);
883
884 char *
885 AccessibleTable_getColumnDescription (AccessibleTable *obj);
886
887 long
888 AccessibleTable_getRowExtentAt (AccessibleTable *obj,
889                                 long row,
890                                 long column);
891
892 long
893 AccessibleTable_getColumnExtentAt (AccessibleTable *obj,
894                                    long row,
895                                    long column);
896
897 AccessibleTable *
898 AccessibleTable_getRowHeaders (AccessibleTable *obj);
899
900 AccessibleTable *
901 AccessibleTable_getColumnHeaders (AccessibleTable *obj);
902
903 long
904 AccessibleTable_getNSelectedRows (AccessibleTable *obj);
905
906 void
907 AccessibleTable_getSelectedRows (AccessibleTable *obj,
908                                  long **selectedRows);
909
910 long
911 AccessibleTable_getNSelectedColumns (AccessibleTable *obj);
912
913 void
914 AccessibleTable_getSelectedColumns (AccessibleTable *obj,
915                                     long **selectedColumns);
916
917 boolean
918 AccessibleTable_isRowSelected (AccessibleTable *obj,
919                                long row);
920
921 boolean
922 AccessibleTable_isColumnSelected (AccessibleTable *obj,
923                                   long column);
924
925 boolean
926 AccessibleTable_isSelected (AccessibleTable *obj,
927                             long row,
928                             long column);
929
930 /*
931  *
932  * AccessibleText function prototypes
933  *
934  */
935
936 int
937 AccessibleText_ref (AccessibleText *obj);
938
939 int
940 AccessibleText_unref (AccessibleText *obj);
941
942 long
943 AccessibleText_getCharacterCount (AccessibleText *obj);
944
945 char *
946 AccessibleText_getText (AccessibleText *obj,
947                         long startOffset,
948                         long endOffset);
949
950 long
951 AccessibleText_getCaretOffset (AccessibleText *obj);
952
953 boolean
954 AccessibleText_setCaretOffset (AccessibleText *obj,
955                                long newOffset);
956
957 char *
958 AccessibleText_getTextBeforeOffset (AccessibleText *obj,
959                                     long offset,
960                                     TEXT_BOUNDARY_TYPE type);
961
962 char *
963 AccessibleText_getTextAtOffset (Accessible *obj,
964                                 long offset,
965                                 TEXT_BOUNDARY_TYPE type);
966
967 char *
968 AccessibleText_getTextAfterOffset (AccessibleText *obj,
969                                    long offset,
970                                    TEXT_BOUNDARY_TYPE type);
971
972 char
973 AccessibleText_getCharacterAtOffset (AccessibleText *obj,
974                                      long offset);
975
976 char *
977 AccessibleText_getAttributes (AccessibleText *obj,
978                               long startOffset,
979                               long endOffset);
980
981 boolean
982 AccessibleText_getCharacterExtents (AccessibleText *obj,
983                                     long offset,
984                                     long *x,
985                                     long *y,
986                                     long *width,
987                                     long *height);
988
989 long
990 AccessibleText_getOffsetAtPoint (AccessibleText *obj,
991                                  long x,
992                                  long y);
993
994 char *
995 AccessibleText_getSelectedText (AccessibleText *obj);
996
997 void
998 AccessibleText_getSelectionBounds (AccessibleText *obj,
999                                    long *startOffset,
1000                                    long *endOffset);
1001
1002 boolean
1003 AccessibleText_setSelectionBounds (AccessibleText *obj,
1004                                    long startOffset,
1005                                    long endOffset);
1006
1007 /*
1008  *
1009  * AccessibleValue Function Prototypes:
1010  *
1011  */
1012
1013 float
1014 AccessibleValue_getMinimumValue (AccessibleValue *value);
1015
1016 float
1017 AccessibleValue_getCurrentValue (AccessibleValue *value);
1018
1019 float
1020 AccessibleValue_getMaximumValue (AccessibleValue *value);
1021
1022 boolean
1023 AccessibleValue_setCurrentValue (AccessibleValue *value,
1024                                  float newValue);
1025
1026 #endif