Added support for magnifier to simple-at, and turned TTS in simple-at
[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 /* Interface query methods */
430
431 /**
432  * Accessible_isAction:
433  * @obj: a pointer to the #Accessible instance to query.
434  *
435  * Query whether the specified #Accessible implements #AccessibleAction.
436  * Not Yet Implemented.
437  *
438  * Returns: #TRUE if @obj implements the #AccessibleAction interface,
439  *          #FALSE otherwise.
440  **/
441 boolean
442 Accessible_isAction (Accessible *obj);
443
444 /**
445  * Accessible_isComponent:
446  * @obj: a pointer to the #Accessible instance to query.
447  *
448  * Query whether the specified #Accessible implements #AccessibleComponent.
449  *
450  * Returns: #TRUE if @obj implements the #AccessibleComponent interface,
451  *          #FALSE otherwise.
452  **/
453 boolean
454 Accessible_isComponent (Accessible *obj);
455
456 /**
457  * Accessible_isEditableText:
458  * @obj: a pointer to the #Accessible instance to query.
459  *
460  * Query whether the specified #Accessible implements #AccessibleEditableText.
461  * Not Yet Implemented.
462  *
463  * Returns: #TRUE if @obj implements the #AccessibleEditableText interface,
464  *          #FALSE otherwise.
465  **/
466 boolean
467 Accessible_isEditableText (Accessible *obj);
468
469 /**
470  * Accessible_isHypertext:
471  * @obj: a pointer to the #Accessible instance to query.
472  *
473  * Query whether the specified #Accessible implements #AccessibleHypertext.
474  * Not Yet Implemented.
475  *
476  * Returns: #TRUE if @obj implements the #AccessibleHypertext interface,
477  *          #FALSE otherwise.
478  **/
479 boolean
480 Accessible_isHypertext (Accessible *obj);
481
482 /**
483  * Accessible_isImage:
484  * @obj: a pointer to the #Accessible instance to query.
485  *
486  * Query whether the specified #Accessible implements #AccessibleImage.
487  * Not Yet Implemented.
488  *
489  * Returns: #TRUE if @obj implements the #AccessibleImage interface,
490  *          #FALSE otherwise.
491 **/
492 boolean
493 Accessible_isImage (Accessible *obj);
494
495 /**
496   * Accessible_isSelection:
497  * @obj: a pointer to the #Accessible instance to query.
498  *
499  * Query whether the specified #Accessible implements #AccessibleSelection.
500  * Not Yet Implemented.
501  *
502  * Returns: #TRUE if @obj implements the #AccessibleSelection interface,
503  *          #FALSE otherwise.
504 **/
505 boolean
506 Accessible_isSelection (Accessible *obj);
507
508 /**
509  * Accessible_isTable:
510  * @obj: a pointer to the #Accessible instance to query.
511  *
512  * Query whether the specified #Accessible implements #AccessibleTable.
513  * Not Yet Implemented.
514  *
515  * Returns: #TRUE if @obj implements the #AccessibleTable interface,
516  *          #FALSE otherwise.
517 **/
518 boolean
519 Accessible_isTable (Accessible *obj);
520
521 /**
522  * Accessible_isText:
523  * @obj: a pointer to the #Accessible instance to query.
524  *
525  * Query whether the specified #Accessible implements #AccessibleText.
526  * Not Yet Implemented.
527  *
528  * Returns: #TRUE if @obj implements the #AccessibleText interface,
529  *          #FALSE otherwise.
530 **/
531 boolean
532 Accessible_isText (Accessible *obj);
533
534 /**
535  * Accessible_getAction:
536  *
537  * Not Yet Implemented.
538  *
539  **/
540 AccessibleAction *
541 Accessible_getAction (Accessible *obj);
542
543 /**
544  * Accessible_getComponent:
545  * @obj: a pointer to the #Accessible instance to query.
546  *
547  * Get the #AccessibleComponent interface for an #Accessible.
548  *
549  * Returns: a pointer to an #AccessibleComponent interface instance, or
550  *          NULL if @obj does not implement #AccessibleComponent.
551  **/
552 AccessibleComponent *
553 Accessible_getComponent (Accessible *obj);
554
555 /**
556  * Accessible_getEditableText:
557  *
558  * Not Yet Implemented.
559  *
560  **/
561 AccessibleEditableText *
562 Accessible_getEditableText (Accessible *obj);
563
564 /**
565  * Accessible_getHypertext:
566  *
567  * Not Yet Implemented.
568  *
569  **/
570 AccessibleHypertext *
571 Accessible_getHypertext (Accessible *obj);
572
573 /**
574  * Accessible_getImage:
575  *
576  * Not Yet Implemented.
577  *
578  **/
579 AccessibleImage *
580 Accessible_getImage (Accessible *obj);
581
582 /**
583  * Accessible_getSelection:
584  *
585  * Not Yet Implemented.
586  *
587  **/
588 AccessibleSelection *
589 Accessible_getSelection (Accessible *obj);
590
591 /**
592  * Accessible_getTable:
593  *
594  * Not Yet Implemented.
595  *
596  **/
597 AccessibleTable *
598 Accessible_getTable (Accessible *obj);
599
600 /**
601  * Accessible_getText:
602  *
603  * Not Yet Implemented.
604  *
605  **/
606 AccessibleText *
607 Accessible_getText (Accessible *obj);
608
609 /**
610  * Accessible_queryInterface:
611  * @obj: a pointer to the #Accessible instance to query.
612  * @interface_name: a UTF-8 character string specifiying the requested interface.
613  *
614  * Query an #Accessible object to for a named interface.
615  *
616  * Returns: an instance of the named interface object, if it is implemented
617  *          by @obj, or NULL otherwise.
618  *
619  **/
620 GenericInterface *
621 Accessible_queryInterface (Accessible *obj, char *interface_name);
622
623 /*
624  *
625  * AccessibleAction function prototypes
626  *
627  */
628
629 int
630 AccessibleAction_ref (
631                       AccessibleAction *obj);
632
633 int
634 AccessibleAction_unref (AccessibleAction *obj);
635
636 long
637 AccessibleAction_getNActions (AccessibleAction *obj);
638
639 /**
640  * AccessibleAction_getDescription:
641  * @obj: a pointer to the #AccessibleAction to query.
642  *
643  * Get the description of 'i-th' action invokable on an
644  *      object implementing #AccessibleAction.
645  *
646  * Not Yet Implemented.
647  *
648  * Returns: a UTF-8 string describing the 'i-th' invokable action.
649  *
650  **/
651 char *
652 AccessibleAction_getDescription (AccessibleAction *obj,
653                                  long index);
654
655 boolean
656 AccessibleAction_doAction (AccessibleAction *obj,
657                            long index);
658
659 char *
660 AccessibleAction_getKeyBinding (AccessibleAction *obj,
661                                 long index);
662
663 /*
664  *
665  * AccessibleApplication function prototypes
666  *
667  */
668
669 /**
670  * AccessibleApplication_unref:
671  * @obj: a pointer to the #AccessibleApplication on which to operate.
672  *
673  * Decrement the reference count for an #AccessibleApplication.
674  *
675  * Returns: (no return code implemented yet).
676  *
677  **/
678 int
679 AccessibleApplication_ref (AccessibleApplication *obj);
680
681 /**
682  * AccessibleApplication_unref:
683  * @obj: a pointer to the #AccessibleApplication object on which to operate.
684  *
685  * Decrement the reference count for an #AccessibleApplication.
686  *
687  * Returns: (no return code implemented yet).
688  *
689  **/
690 int
691 AccessibleApplication_unref (AccessibleApplication *obj);
692
693 /**
694  * AccessibleApplication_getToolkitName:
695  * @obj: a pointer to the #AccessibleApplication to query.
696  *
697  * Get the name of the UI toolkit used by an #AccessibleApplication.
698  *
699  * Returns: a UTF-8 string indicating which UI toolkit is
700  *          used by an application.
701  *
702  **/
703 char *
704 AccessibleApplication_getToolkitName (AccessibleApplication *obj);
705
706 /**
707  * AccessibleApplication_getVersion:
708  * @obj: a pointer to the #AccessibleApplication being queried.
709  *
710  * Get the version of the at-spi bridge exported by an
711  *      #AccessibleApplication instance.
712  *
713  * Returns: a UTF-8 string indicating the application's
714  *          at-spi version.
715  *
716  **/
717 char *
718 AccessibleApplication_getVersion (AccessibleApplication *obj);
719
720 /**
721  * AccessibleApplication_getID:
722  * @obj: a pointer to the #AccessibleApplication being queried.
723  *
724  * Get the unique ID assigned by the Registry to an
725  *      #AccessibleApplication instance.
726  * (Not Yet Implemented by the registry).
727  *
728  * Returns: a unique #long integer associated with the application
729  *          by the Registry, or 0 if the application is not registered.
730  **/
731 long
732 AccessibleApplication_getID (AccessibleApplication *obj);
733
734 /**
735  * AccessibleApplication_pause:
736  *
737  * Attempt to pause the application (used when client event queue is
738  *  over-full).
739  * Not Yet Implemented.
740  *
741  * Returns: #TRUE if the application was paused successfully, #FALSE otherwise.
742  *
743  **/
744 boolean
745 AccessibleApplication_pause (AccessibleApplication *obj);
746
747 /**
748  * AccessibleApplication_pause:
749  *
750  * Attempt to resume the application (used after #AccessibleApplication_pause).
751  * Not Yet Implemented.
752  *
753  * Returns: #TRUE if application processing resumed successfully, #FALSE otherwise.
754  *
755  **/
756 boolean
757 AccessibleApplication_resume (AccessibleApplication *obj);
758
759 /*
760  *
761  * AccessibleComponent function prototypes
762  *
763  */
764
765 int
766 AccessibleComponent_ref (AccessibleComponent *obj);
767
768 int
769 AccessibleComponent_unref (AccessibleComponent *obj);
770
771 boolean
772 AccessibleComponent_contains (AccessibleComponent *obj,
773                               long x,
774                               long y,
775                               AccessibleCoordType ctype);
776
777 Accessible *
778 AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj,
779                                           long x,
780                                           long y,
781                                           AccessibleCoordType ctype);
782
783 /**
784  * AccessibleComponent_getExtents:
785  * @obj: a pointer to the #AccessibleComponent to query.
786  * @x: a pointer to a #long into which the minimum x coordinate will be returned.
787  * @y: a pointer to a #long into which the minimum y coordinate will be returned.
788  * @width: a pointer to a #long into which the x extents (width) will be returned.
789  * @height: a pointer to a #long into which the y extents (height) will be returned.
790  * @ctype: the desired coordinate system into which to return the results,
791  *         (e.g. COORD_TYPE_WINDOW, COORD_TYPE_SCREEN).
792  *
793  * Get the bounding box of the specified #AccessibleComponent.
794  *
795  **/
796 void
797 AccessibleComponent_getExtents (AccessibleComponent *obj,
798                                 long *x,
799                                 long *y,
800                                 long *width,
801                                 long *height,
802                                 AccessibleCoordType ctype);
803
804 void
805 AccessibleComponent_getPosition (AccessibleComponent *obj,
806                                  long *x,
807                                  long *y,
808                                  AccessibleCoordType ctype);
809
810 void
811 AccessibleComponent_getSize (AccessibleComponent *obj,
812                              long *width,
813                              long *height);
814
815 void
816 AccessibleComponent_grabFocus (AccessibleComponent *obj);
817
818 /*
819  *
820  * AccessibleEditableText function prototypes
821  *
822  */
823
824 int
825 AccessibleEditableText_ref (AccessibleEditableText *obj);
826
827 int
828 AccessibleEditableText_unref (AccessibleEditableText *obj);
829
830 boolean
831 AccessibleEditableText_setRunAttributes (AccessibleEditableText *obj,
832                                          const char *attributes,
833                                          long startPos, long endPos);
834
835 void
836 AccessibleEditableText_setTextContents (AccessibleEditableText *obj,
837                                         const char *newContents);
838
839 void
840 AccessibleEditableText_insertText (AccessibleEditableText *obj,
841                                    long position,
842                                    char *text,
843                                    long length);
844
845 void
846 AccessibleEditableText_copyText (AccessibleText *obj,
847                                  long startPos,
848                                  long endPos);
849
850 void
851 AccessibleEditableText_cutText (AccessibleEditableText *obj,
852                                 long startPos,
853                                 long endPos);
854
855 void
856 AccessibleEditableText_deleteText (AccessibleEditableText *obj,
857                                    long startPos,
858                                    long endPos);
859
860 void
861 AccessibleEditableText_pasteText (AccessibleEditableText *obj,
862                                   long position);
863
864 /*
865  *
866  * AccessibleHyperlink function prototypes
867  *
868  */
869
870 int
871 AccessibleHyperlink_ref (AccessibleHyperlink *obj);
872
873 int
874 AccessibleHyperlink_unref (AccessibleHyperlink *obj);
875
876 long
877 AccessibleHyperlink_getNAnchors (AccessibleHyperlink *obj);
878
879 char *
880 AccessibleHyperlink_getURI (AccessibleHyperlink *obj,
881                             long i);
882
883 Accessible
884 AccessibleHyperlink_getObject (AccessibleHyperlink *obj,
885                                long i);
886
887 void
888 AccessibleHyperlink_getIndexRange (AccessibleHyperlink *obj,
889                                    long *startIndex,
890                                    long *endIndex);
891
892 boolean
893 AccessibleHyperlink_isValid (AccessibleHyperlink *obj);
894
895 /*
896  *
897  * AccessibleHypertext function prototypes
898  *
899  */
900
901 int
902 AccessibleHypertext_ref (AccessibleHypertext *obj);
903
904 int
905 AccessibleHypertext_unref (AccessibleHypertext *obj);
906
907 long
908 AccessibleHypertext_getNLinks (AccessibleHypertext *obj);
909
910 AccessibleHyperlink *
911 AccessibleHyperText_getLink (AccessibleHypertext *obj,
912                              long linkIndex);
913
914 long
915 AccessibleHypertext_getLinkIndex (AccessibleHypertext *obj,
916                                   long characterIndex);
917
918 /*
919  *
920  * AccessibleImage function prototypes
921  *
922  */
923
924 int
925 AccessibleImage_ref (AccessibleImage *obj);
926
927 int
928 AccessibleImage_unref (AccessibleImage *obj);
929
930 char *
931 AccessibleImage_getImageDescription (AccessibleImage *obj);
932
933 void
934 AccessibleImage_getImageSize (AccessibleImage *obj,
935                               long *width,
936                               long *height);
937
938 void
939 AccessibleImage_getImagePosition (AccessibleImage *obj,
940                                   long *x,
941                                   long *y,
942                                   AccessibleCoordType ctype);
943
944 /*
945  *
946  * AccessibleRelation function prototypes
947  *
948  */
949
950 int
951 AccessibleRelation_ref (AccessibleRelation *obj);
952
953 int
954 AccessibleRelation_unref (AccessibleRelation *obj);
955
956 RELATION_TYPE
957 AccessibleRelation_getRelationType (AccessibleRelation *obj);
958
959 Accessible *
960 AccessibleRelation_getTarget (AccessibleRelation *obj);
961
962
963
964 /*
965  *
966  * AccessibleSelection function prototypes
967  *
968  */
969
970 int
971 AccessibleSelection_ref (AccessibleSelection *obj);
972
973 int
974 AccessibleSelection_unref (AccessibleSelection *obj);
975
976 long
977 AccessibleSelection_getNSelectedChildren (AccessibleSelection *obj);
978
979 Accessible *
980 AccessibleSelection_refSelectedChild (AccessibleSelection *obj,
981                                       long selectedChildIndex);
982
983 boolean
984 AccessibleSelection_selectChild (AccessibleSelection *obj,
985                                  long childIndex);
986
987 boolean
988 AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj,
989                                            long selectedChildIndex);
990
991 boolean
992 AccessibleSelection_isChildSelected (AccessibleSelection *obj,
993                                      long childIndex);
994
995 void
996 AccessibleSelection_selectAll (AccessibleSelection *obj);
997
998 void
999 AccessibleSelection_clearSelection (AccessibleSelection *obj);
1000
1001
1002 /*
1003  *
1004  * AccessibleStateSet function prototypes
1005  *
1006  */
1007
1008 int
1009 AccessibleStateSet_ref (AccessibleStateSet *obj);
1010
1011 int
1012 AccessibleStateSet_unref (AccessibleStateSet *obj);
1013
1014 boolean
1015 AccessibleStateSet_contains (AccessibleStateSet *obj,
1016                              ACCESSIBLE_STATE state);
1017
1018 void
1019 AccessibleStateSet_add (AccessibleStateSet *obj,
1020                         ACCESSIBLE_STATE state);
1021
1022 void
1023 AccessibleStateSet_remove (AccessibleStateSet *obj,
1024                            ACCESSIBLE_STATE state);
1025
1026 boolean
1027 AccessibleStateSet_equals (AccessibleStateSet *obj,
1028                            AccessibleStateSet *obj2);
1029
1030 void
1031 AccessibleStateSet_compare (AccessibleStateSet *obj,
1032                             AccessibleStateSet *obj2,
1033                             AccessibleStateSet **differenceSet);
1034
1035 boolean
1036 AccessibleStateSet_isEmpty (AccessibleStateSet *obj);
1037
1038
1039 /*
1040  *
1041  * AccessibleTable function prototypes
1042  *
1043  */
1044
1045 int
1046 AccessibleTable_ref (AccessibleTable *obj);
1047
1048 int
1049 AccessibleTable_unref (AccessibleTable *obj);
1050
1051 Accessible *
1052 AccessibleTable_getCaption (AccessibleTable *obj);
1053
1054 Accessible *
1055 AccessibleTable_getSummary (AccessibleTable *obj);
1056
1057 long
1058 AccessibleTable_getNRows (AccessibleTable *obj);
1059
1060 long
1061 AccessibleTable_getNColumns (AccessibleTable *obj);
1062
1063 Accessible *
1064 AccessibleTable_refAt (AccessibleTable *obj,
1065                                  long row,
1066                                  long column);
1067
1068 long
1069 AccessibleTable_getIndexAt (AccessibleTable *obj,
1070                             long row,
1071                             long column);
1072
1073 long
1074 AccessibleTable_getRowAtIndex (AccessibleTable *obj,
1075                                long index);
1076
1077 long
1078 AccessibleTable_getColumnAtIndex (AccessibleTable *obj,
1079                                   long index);
1080
1081 char *
1082 AccessibleTable_getRowDescription (AccessibleTable *obj,
1083                                    long row);
1084
1085 char *
1086 AccessibleTable_getColumnDescription (AccessibleTable *obj,
1087                                       long column);
1088
1089 long
1090 AccessibleTable_getRowExtentAt (AccessibleTable *obj,
1091                                 long row,
1092                                 long column);
1093
1094 long
1095 AccessibleTable_getColumnExtentAt (AccessibleTable *obj,
1096                                    long row,
1097                                    long column);
1098
1099 Accessible *
1100 AccessibleTable_getRowHeader (AccessibleTable *obj,
1101                               long row);
1102
1103 Accessible *
1104 AccessibleTable_getColumnHeader (AccessibleTable *obj,
1105                                  long column);
1106
1107 long
1108 AccessibleTable_getNSelectedRows (AccessibleTable *obj);
1109
1110 long
1111 AccessibleTable_getSelectedRows (AccessibleTable *obj,
1112                                  long **selectedRows);
1113
1114 long
1115 AccessibleTable_getNSelectedColumns (AccessibleTable *obj);
1116
1117 long
1118 AccessibleTable_getSelectedColumns (AccessibleTable *obj,
1119                                     long **selectedColumns);
1120
1121 boolean
1122 AccessibleTable_isRowSelected (AccessibleTable *obj,
1123                                long row);
1124
1125 boolean
1126 AccessibleTable_isColumnSelected (AccessibleTable *obj,
1127                                   long column);
1128
1129 boolean
1130 AccessibleTable_isSelected (AccessibleTable *obj,
1131                             long row,
1132                             long column);
1133
1134 /*
1135  *
1136  * AccessibleText function prototypes
1137  *
1138  */
1139
1140 int
1141 AccessibleText_ref (AccessibleText *obj);
1142
1143 int
1144 AccessibleText_unref (AccessibleText *obj);
1145
1146 long
1147 AccessibleText_getCharacterCount (AccessibleText *obj);
1148
1149 char *
1150 AccessibleText_getText (AccessibleText *obj,
1151                         long startOffset,
1152                         long endOffset);
1153
1154 long
1155 AccessibleText_getCaretOffset (AccessibleText *obj);
1156
1157 char *
1158 AccessibleText_getAttributes (AccessibleText *obj,
1159                                  long offset,
1160                                  long *startOffset,
1161                                  long *endOfset);
1162
1163
1164 boolean
1165 AccessibleText_setCaretOffset (AccessibleText *obj,
1166                                long newOffset);
1167
1168 char *
1169 AccessibleText_getTextBeforeOffset (AccessibleText *obj,
1170                                     long offset,
1171                                     TEXT_BOUNDARY_TYPE type,
1172                                     long *startOffset, long *endOffset);
1173
1174 char *
1175 AccessibleText_getTextAtOffset (AccessibleText *obj,
1176                                     long offset,
1177                                     TEXT_BOUNDARY_TYPE type,
1178                                 long *startOffset, long *endOffset);
1179
1180 char *
1181 AccessibleText_getTextAfterOffset (AccessibleText *obj,
1182                                     long offset,
1183                                     TEXT_BOUNDARY_TYPE type,
1184                                    long *startOffset, long *endOffset);
1185 char
1186 AccessibleText_getCharacterAtOffset (AccessibleText *obj,
1187                                      long offset);
1188
1189 void
1190 AccessibleText_getCharacterExtents (AccessibleText *obj,
1191                                     long offset,
1192                                     long *x,
1193                                     long *y,
1194                                     long *width,
1195                                     long *height, AccessibleCoordType type);
1196
1197 long
1198 AccessibleText_getOffsetAtPoint (AccessibleText *obj,
1199                                  long x,
1200                                  long y, AccessibleCoordType type);
1201
1202 long
1203 AccessibleText_getNSelections (AccessibleText *obj);
1204
1205 void
1206 AccessibleText_getSelection (AccessibleText *obj,
1207                              long selectionNum, long *startOffset,
1208                              long *endOffset);
1209
1210
1211 boolean
1212 AccessibleText_addSelection (AccessibleText *obj,
1213                              long startOffset, long endOffset);
1214
1215 boolean
1216 AccessibleText_removeSelection (AccessibleText *obj,
1217                                 long selectionNum);
1218
1219 boolean
1220 AccessibleText_setSelection (AccessibleText *obj,
1221                              long selectionNum,
1222                              long startOffset,
1223                              long endOffset);
1224
1225 /*
1226  *
1227  * AccessibleValue Function Prototypes:
1228  *
1229  */
1230
1231 float
1232 AccessibleValue_getMinimumValue (AccessibleValue *value);
1233
1234 float
1235 AccessibleValue_getCurrentValue (AccessibleValue *value);
1236
1237 float
1238 AccessibleValue_getMaximumValue (AccessibleValue *value);
1239
1240 boolean
1241 AccessibleValue_setCurrentValue (AccessibleValue *value,
1242                                  float newValue);
1243
1244 #endif