Added some missing interfaces to the cspi/spi.h C headers.
[platform/core/uifw/at-spi2-atk.git] / cspi / spi.h
1
2 #ifndef _SPI_H
3 #define _SPI_H
4
5 #include "spi-impl.h"
6
7 /* definitions for ACCESSIBLE_STATE */
8 #include "spi-statetypes.h"
9
10 /*
11  *
12  * Enumerated type for text boundary types
13  *
14  */
15
16 typedef enum
17 {
18   TEXT_BOUNDARY_CHAR,
19   TEXT_BOUNDARY_CURSOR_POS,
20   TEXT_BOUNDARY_WORD_START,
21   TEXT_BOUNDARY_WORD_END,
22   TEXT_BOUNDARY_SENTENCE_START,
23   TEXT_BOUNDARY_SENTENCE_END,
24   TEXT_BOUNDARY_LINE_START,
25   TEXT_BOUNDARY_LINE_END,
26   TEXT_BOUNDARY_ATTRIBUTE_RANGE
27 } TEXT_BOUNDARY_TYPE;
28
29
30
31 /*
32  *
33  * Enumerated type for relation types
34  *
35  */
36
37 typedef enum
38 {
39   RELATION_LABEL_FOR,
40   RELATION_LABELED_BY,
41   RELATION_CONTROLLER_FOR,
42   RELATION_CONTROLLED_BY,
43   RELATION_MEMBER_OF
44 } RELATION_TYPE;
45
46
47
48 /*
49  *
50  * Structure used to encapsulate event information
51  *
52  */
53
54 typedef struct _AccessibleEvent {
55   Accessible *source;
56   char *type;
57   char *detail1;
58   char *detail2;
59 } AccessibleEvent;
60
61
62
63 /*
64  *
65  * Function prototype typedef for AccessibleEventListener
66  *
67  */
68
69 typedef void (*AccessibleEventListener) (AccessibleEvent *e);
70
71
72
73 /*
74  *
75  * Basic SPI initialization and event loop function prototypes
76  *
77  */
78
79 int
80 SPI_init (void);
81
82 void
83 SPI_event_main (boolean isGNOMEApp);
84
85 boolean
86 SPI_eventIsReady ();
87
88 AccessibleEvent *
89 SPI_nextEvent (boolean waitForEvent);
90
91 void
92 SPI_exit (void);
93
94 /*
95  *
96  * Global functions serviced by the registry
97  *
98  */
99
100 boolean
101 RegisterGlobalEventListener (AccessibleEventListener listener,
102                              char *eventType);
103
104 int
105 GetDesktopCount ();
106
107 Accessible
108 *getDesktop (int n);
109
110 int
111 getDesktopList (Accessible **list);
112
113 void
114 registerKeystrokeListener (KeystrokeListener *listener);
115
116 void
117 generateKeyEvent (long keyCode, long meta);
118
119 void
120 generateMouseEvent (long x, long y, char *name);
121
122 /*
123  *
124  * Accessible function prototypes
125  *
126  */
127
128 int
129 Accessible_ref (Accessible *obj);
130
131 int
132 Accessible_unref (Accessible *obj);
133
134 char *
135 Accessible_getName (Accessible *obj);
136
137 char *
138 Accessible_getDescription (Accessible *obj);
139
140 Accessible *
141 Accessible_getParent (Accessible *obj);
142
143 long
144 Accessible_getChildCount (Accessible *obj);
145
146 Accessible *
147 Accessible_getChildAtIndex (Accessible *obj,
148                             long childIndex);
149
150 long
151 Accessible_getIndexInParent (Accessible *obj);
152
153 AccessibleRelation **
154 Accessible_getRelationSet (Accessible *obj);
155
156 char *
157 Accessible_getRole (Accessible *obj);
158
159 AccessibleStateSet *
160 Accessible_getStateSet (Accessible *obj);
161
162
163 /*
164  *
165  * AccessibleAction function prototypes
166  *
167  */
168
169 int
170 AccessibleAction_ref (
171                       AccessibleAction *obj);
172
173 int
174 AccessibleAction_unref (AccessibleAction *obj);
175
176 long
177 AccessibleAction_getNActions (AccessibleAction *obj);
178
179 char *
180 AccessibleAction_getDescription (AccessibleAction *obj,
181                                  long index);
182
183 void
184 AccessibleAction_doAction (AccessibleAction *obj,
185                            long index);
186
187 char *
188 AccessibleAction_getKeyBinding (AccessibleAction *obj,
189                                 long index);
190
191 /*
192  *
193  * AccessibleApplication function prototypes
194  *
195  */
196
197 int
198 AccessibleApplication_ref (AccessibleApplication *obj);
199
200 int
201 AccessibleApplication_unref (AccessibleApplication *obj);
202
203 char *
204 AccessibleApplication_getToolkitName (AccessibleApplication *obj);
205
206 char *
207 AccessibleApplication_getVersion (AccessibleApplication *obj);
208
209 long
210 AccessibleApplication_getID (AccessibleApplication *obj);
211
212 boolean
213 AccessibleApplication_pause (AccessibleApplication *obj);
214
215 boolean
216 AccessibleApplication_resume (AccessibleApplication *obj);
217
218 /*
219  *
220  * AccessibleComponent function prototypes
221  *
222  */
223
224 int
225 AccessibleComponent_ref (AccessibleComponent *obj);
226
227 int
228 AccessibleComponent_unref (AccessibleComponent *obj);
229
230 boolean
231 AccessibleComponent_contains (AccessibleComponent *obj,
232                               long x,
233                               long y,
234                               AccessibleCoordType ctype);
235
236 Accessible *
237 AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj,
238                                           long x,
239                                           long y,
240                                           AccessibleCoordType ctype);
241
242 void
243 AccessibleComponent_getExtents (AccessibleComponent *obj,
244                                 long *x,
245                                 long *y,
246                                 long *width,
247                                 long *height,
248                                 AccessibleCoordType ctype);
249
250 void
251 AccessibleComponent_getPosition (AccessibleComponent *obj,
252                                  long *x,
253                                  long *y,
254                                  AccessibleCoordType ctype);
255
256 void
257 AccessibleComponent_getSize (AccessibleComponent *obj,
258                              long *width,
259                              long *height);
260
261 void
262 AccessibleComponent_grabFocus (AccessibleComponent *obj);
263
264 /*
265  *
266  * AccessibleEditableText function prototypes
267  *
268  */
269
270 int
271 AccessibleEditableText_ref (AccessibleEditableText *obj);
272
273 int
274 AccessibleEditableText_unref (AccessibleEditableText *obj);
275
276 void
277 AccessibleEditableText_setTextContents (AccessibleEditableText *obj,
278                                         char *newContents);
279
280 void
281 AccessibleEditableText_insertText (AccessibleEditableText *obj,
282                                    long position,
283                                    char *text,
284                                    long length);
285
286 boolean
287 AccessibleEditableText_selectText (AccessibleEditableText *obj,
288                                    long startPos,
289                                    long endPos);
290
291 boolean
292 AccessibleEditableText_setAttributes (AccessibleEditableText *obj,
293                                       long startPos,
294                                       long endPos,
295                                       char *attributes);
296
297 void
298 AccessibleEditableText_copyText (AccessibleText *obj,
299                                  long startPos,
300                                  long endPos);
301
302 void
303 AccessibleEditableText_cutText (AccessibleEditableText *obj,
304                                 long startPos,
305                                 long endPos);
306
307 void
308 AccessibleEditableText_deleteText (AccessibleEditableText *obj,
309                                    long startPos,
310                                    long endPos);
311
312 void
313 AccessibleEditableText_pasteText (AccessibleEditableText *obj,
314                                   long position);
315
316 /*
317  *
318  * AccessibleHyperlink function prototypes
319  *
320  */
321
322 int
323 AccessibleHyperlink_ref (AccessibleHyperlink *obj);
324
325 int
326 AccessibleHyperlink_unref (AccessibleHyperlink *obj);
327
328 long
329 AccessibleHyperlink_getNAnchors (AccessibleHyperlink *obj);
330
331 char *
332 AccessibleHyperlink_getURI (AccessibleHyperlink *obj,
333                             long i);
334
335 Accessible
336 AccessibleHyperlink_getAnchor (AccessibleHyperlink *obj,
337                                long i);
338
339 void
340 AccessibleHyperlink_getIndexRange (AccessibleHyperlink *obj,
341                                    long *startIndex,
342                                    long *endIndex);
343
344 boolean
345 AccessibleHyperlink_isValid (AccessibleHyperlink *obj);
346
347 /*
348  *
349  * AccessibleHypertext function prototypes
350  *
351  */
352
353 int
354 AccessibleHypertext_ref (AccessibleHypertext *obj);
355
356 int
357 AccessibleHypertext_unref (AccessibleHypertext *obj);
358
359 long
360 AccessibleHypertext_getNLinks (AccessibleHypertext *obj);
361
362 AccessibleHyperlink *
363 AccessibleHyperText_getLink (AccessibleHypertext *obj,
364                              long linkIndex);
365
366 long
367 AccessibleHypertext_getLinkIndex (AccessibleHypertext *obj,
368                                   long characterIndex);
369
370 /*
371  *
372  * AccessibleImage function prototypes
373  *
374  */
375
376 int
377 AccessibleImage_ref (AccessibleImage *obj);
378
379 int
380 AccessibleImage_unref (AccessibleImage *obj);
381
382 char *
383 AccessibleImage_getImageDescription (AccessibleImage *obj);
384
385 void
386 AccessibleImage_getImageSize (AccessibleImage *obj,
387                               long *width,
388                               long *height,
389                               AccessibleCoordType ctype);
390 void
391 AccessibleImage_getImagePosition (AccessibleImage *obj,
392                                   long *x,
393                                   long *y,
394                                   AccessibleCoordType ctype);
395
396 /*
397  *
398  * AccessibleRelation function prototypes
399  *
400  */
401
402 int
403 AccessibleRelation_ref (AccessibleRelation *obj);
404
405 int
406 AccessibleRelation_unref (AccessibleRelation *obj);
407
408 RELATION_TYPE
409 AccessibleRelation_getRelationType (AccessibleRelation *obj);
410
411 Accessible *
412 AccessibleRelation_getTarget (AccessibleRelation *obj);
413
414
415
416 /*
417  *
418  * AccessibleSelection function prototypes
419  *
420  */
421
422 int
423 AccessibleSelection_ref (AccessibleSelection *obj);
424
425 int
426 AccessibleSelection_unref (AccessibleSelection *obj);
427
428 long
429 AccessibleSelwection_getNSelectedChildren (AccessibleSelection *obj);
430
431 Accessible *
432 AccessibleSelection_getSelectedChild (AccessibleSelection *obj,
433                                       long selectedChildIndex);
434
435 boolean
436 AccessibleSelection_selectChild (AccessibleSelection *obj,
437                                  long childIndex);
438
439 boolean
440 AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj,
441                                            long selectedChildIndex);
442
443 boolean
444 AccessibleSelection_isChildSelected (AccessibleSelection *obj,
445                                      long childIndex);
446
447 void
448 AccessibleSelection_selectAll (AccessibleSelection *obj);
449
450 void
451 AccessibleSelection_clearSelection (AccessibleSelection *obj);
452
453
454 /*
455  *
456  * AccessibleStateSet function prototypes
457  *
458  */
459
460 int
461 AccessibleStateSet_ref (AccessibleStateSet *obj);
462
463 int
464 AccessibleStateSet_unref (AccessibleStateSet *obj);
465
466 boolean
467 AccessibleStateSet_contains (AccessibleStateSet *obj,
468                              ACCESSIBLE_STATE state);
469
470 void
471 AccessibleStateSet_add (AccessibleStateSet *obj,
472                         ACCESSIBLE_STATE state);
473
474 void
475 AccessibleStateSet_remove (AccessibleStateSet *obj,
476                            ACCESSIBLE_STATE state);
477
478 boolean
479 AccessibleStateSet_equals (AccessibleStateSet *obj,
480                            AccessibleStateSet *obj2);
481
482 void
483 AccessibleStateSet_compare (AccessibleStateSet *obj,
484                             AccessibleStateSet *obj2,
485                             AccessibleStateSet **differenceSet);
486
487 boolean
488 AccessibleStateSet_isEmpty (AccessibleStateSet *obj);
489
490
491 /*
492  *
493  * AccessibleTable function prototypes
494  *
495  */
496
497 int
498 AccessibleTable_ref (AccessibleTable *obj);
499
500 int
501 AccessibleTable_unref (AccessibleTable *obj);
502
503 Accessible *
504 AccessibleTable_getCaption (AccessibleTable *obj);
505
506 Accessible *
507 AccessibleTable_getSummary (AccessibleTable *obj);
508
509 long
510 AccessibleTable_getNRows (AccessibleTable *obj);
511
512 long
513 AccessibleTable_getNColumns (AccessibleTable *obj);
514
515 Accessible *
516 AccessibleTable_getAccessibleAt (AccessibleTable *obj,
517                                  long row,
518                                  long column);
519
520 long
521 AccessibleTable_getIndexAt (AccessibleTable *obj,
522                             long row,
523                             long column);
524
525 long
526 AccessibleTable_getRowAtIndex (AccessibleTable *obj,
527                                long index);
528
529 long
530 AccessibleTable_getColumnAtIndex (AccessibleTable *obj,
531                                   long index);
532
533 char *
534 AccessibleTable_getRowDescription (AccessibleTable *obj);
535
536 char *
537 AccessibleTable_getColumnDescription (AccessibleTable *obj);
538
539 long
540 AccessibleTable_getRowExtentAt (AccessibleTable *obj,
541                                 long row,
542                                 long column);
543
544 long
545 AccessibleTable_getColumnExtentAt (AccessibleTable *obj,
546                                    long row,
547                                    long column);
548
549 AccessibleTable *
550 AccessibleTable_getRowHeaders (AccessibleTable *obj);
551
552 AccessibleTable *
553 AccessibleTable_getColumnHeaders (AccessibleTable *obj);
554
555 long
556 AccessibleTable_getNSelectedRows (AccessibleTable *obj);
557
558 void
559 AccessibleTable_getSelectedRows (AccessibleTable *obj,
560                                  long **selectedRows);
561
562 long
563 AccessibleTable_getNSelectedColumns (AccessibleTable *obj);
564
565 void
566 AccessibleTable_getSelectedColumns (AccessibleTable *obj,
567                                     long **selectedColumns);
568
569 boolean
570 AccessibleTable_isRowSelected (AccessibleTable *obj,
571                                long row);
572
573 boolean
574 AccessibleTable_isColumnSelected (AccessibleTable *obj,
575                                   long column);
576
577 boolean
578 AccessibleTable_isSelected (AccessibleTable *obj,
579                             long row,
580                             long column);
581
582 /*
583  *
584  * AccessibleText function prototypes
585  *
586  */
587
588 int
589 AccessibleText_ref (AccessibleText *obj);
590
591 int
592 AccessibleText_unref (AccessibleText *obj);
593
594 long
595 AccessibleText_getCharacterCount (AccessibleText *obj);
596
597 char *
598 AccessibleText_getText (AccessibleText *obj,
599                         long startOffset,
600                         long endOffset);
601
602 long
603 AccessibleText_getCaretOffset (AccessibleText *obj);
604
605 boolean
606 AccessibleText_setCaretOffset (AccessibleText *obj,
607                                long newOffset);
608
609 char *
610 AccessibleText_getTextBeforeOffset (AccessibleText *obj,
611                                     long offset,
612                                     TEXT_BOUNDARY_TYPE type);
613
614 char *
615 AccessibleText_getTextAtOffset (Accessible *obj,
616                                 long offset,
617                                 TEXT_BOUNDARY_TYPE type);
618
619 char *
620 AccessibleText_getTextAfterOffset (AccessibleText *obj,
621                                    long offset,
622                                    TEXT_BOUNDARY_TYPE type);
623
624 char
625 AccessibleText_getCharacterAtOffset (AccessibleText *obj,
626                                      long offset);
627
628 char *
629 AccessibleText_getAttributes (AccessibleText *obj,
630                               long startOffset,
631                               long endOffset);
632
633 boolean
634 AccessibleText_getCharacterExtents (AccessibleText *obj,
635                                     long offset,
636                                     long *x,
637                                     long *y,
638                                     long *width,
639                                     long *height);
640
641 long
642 AccessibleText_getOffsetAtPoint (AccessibleText *obj,
643                                  long x,
644                                  long y);
645
646 char *
647 AccessibleText_getSelectedText (AccessibleText *obj);
648
649 void
650 AccessibleText_getSelectionBounds (AccessibleText *obj,
651                                    long *startOffset,
652                                    long *endOffset);
653
654 boolean
655 AccessibleText_setSelectionBounds (AccessibleText *obj,
656                                    long startOffset,
657                                    long endOffset);
658
659 /*
660  *
661  * AccessibleValue Function Prototypes:
662  *
663  */
664
665 float
666 AccessibleValue_getMinimumValue (AccessibleValue *value);
667
668 float
669 AccessibleValue_getCurrentValue (AccessibleValue *value);
670
671 float
672 AccessibleValue_getMaximumValue (AccessibleValue *value);
673
674 boolean
675 AccessibleValue_setCurrentValue (AccessibleValue *value,
676                                  float newValue);
677
678 #endif