Added cspi directory and cspi/spi.h, the function prototype
[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  * Accessible function prototypes
97  *
98  */
99
100 int
101 Accessible_ref (Accessible *obj);
102
103 int
104 Accessible_unref (Accessible *obj);
105
106 char *
107 Accessible_getName (Accessible *obj);
108
109 char *
110 Accessible_getDescription (Accessible *obj);
111
112 Accessible *
113 Accessible_getParent (Accessible *obj);
114
115 long
116 Accessible_getChildCount (Accessible *obj);
117
118 Accessible *
119 Accessible_getChildAtIndex (Accessible *obj,
120                             long childIndex);
121
122 long
123 Accessible_getIndexInParent (Accessible *obj);
124
125 AccessibleRelation **
126 Accessible_getRelationSet (Accessible *obj);
127
128 char *
129 Accessible_getRole (Accessible *obj);
130
131 AccessibleStateSet *
132 Accessible_getStateSet (Accessible *obj);
133
134
135 /*
136  *
137  * AccessibleAction function prototypes
138  *
139  */
140
141 int
142 AccessibleAction_ref (
143                       AccessibleAction *obj);
144
145 int
146 AccessibleAction_unref (AccessibleAction *obj);
147
148 long
149 AccessibleAction_getNActions (AccessibleAction *obj);
150
151 char *
152 AccessibleAction_getDescription (AccessibleAction *obj,
153                                  long index);
154
155 void
156 AccessibleAction_doAction (AccessibleAction *obj,
157                            long index);
158
159 char *
160 AccessibleAction_getKeyBinding (AccessibleAction *obj,
161                                 long index);
162
163 /*
164  *
165  * AccessibleApplication function prototypes
166  *
167  */
168
169 int
170 AccessibleApplication_ref (AccessibleApplication *obj);
171
172 int
173 AccessibleApplication_unref (AccessibleApplication *obj);
174
175 char *
176 AccessibleApplication_getToolkitName (AccessibleApplication *obj);
177
178 char *
179 AccessibleApplication_getVersion (AccessibleApplication *obj);
180
181 long
182 AccessibleApplication_getID (AccessibleApplication *obj);
183
184 boolean
185 AccessibleApplication_pause (AccessibleApplication *obj);
186
187 boolean
188 AccessibleApplication_resume (AccessibleApplication *obj);
189
190 /*
191  *
192  * AccessibleComponent function prototypes
193  *
194  */
195
196 int
197 AccessibleComponent_ref (AccessibleComponent *obj);
198
199 int
200 AccessibleComponent_unref (AccessibleComponent *obj);
201
202 boolean
203 AccessibleComponent_contains (AccessibleComponent *obj,
204                               long x,
205                               long y,
206                               AccessibleCoordType ctype);
207
208 Accessible *
209 AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj,
210                                           long x,
211                                           long y,
212                                           AccessibleCoordType ctype);
213
214 void
215 AccessibleComponent_getExtents (AccessibleComponent *obj,
216                                 long *x,
217                                 long *y,
218                                 long *width,
219                                 long *height,
220                                 AccessibleCoordType ctype);
221
222 void
223 AccessibleComponent_getPosition (AccessibleComponent *obj,
224                                  long *x,
225                                  long *y,
226                                  AccessibleCoordType ctype);
227
228 void
229 AccessibleComponent_getSize (AccessibleComponent *obj,
230                              long *width,
231                              long *height);
232
233 void
234 AccessibleComponent_grabFocus (AccessibleComponent *obj);
235
236 /*
237  *
238  * AccessibleEditableText function prototypes
239  *
240  */
241
242 int
243 AccessibleEditableText_ref (AccessibleEditableText *obj);
244
245 int
246 AccessibleEditableText_unref (AccessibleEditableText *obj);
247
248 void
249 AccessibleEditableText_setTextContents (AccessibleEditableText *obj,
250                                         char *newContents);
251
252 void
253 AccessibleEditableText_insertText (AccessibleEditableText *obj,
254                                    long position,
255                                    char *text,
256                                    long length);
257
258 boolean
259 AccessibleEditableText_selectText (AccessibleEditableText *obj,
260                                    long startPos,
261                                    long endPos);
262
263 boolean
264 AccessibleEditableText_setAttributes (AccessibleEditableText *obj,
265                                       long startPos,
266                                       long endPos,
267                                       char *attributes);
268
269 void
270 AccessibleEditableText_copyText (AccessibleText *obj,
271                                  long startPos,
272                                  long endPos);
273
274 void
275 AccessibleEditableText_cutText (AccessibleEditableText *obj,
276                                 long startPos,
277                                 long endPos);
278
279 void
280 AccessibleEditableText_deleteText (AccessibleEditableText *obj,
281                                    long startPos,
282                                    long endPos);
283
284 void
285 AccessibleEditableText_pasteText (AccessibleEditableText *obj,
286                                   long position);
287
288 /*
289  *
290  * registerEventListener
291  *
292  */
293
294 boolean
295 RegisterGlobalEventListener (AccessibleEventListener listener,
296                              char *eventType);
297
298 /*
299  *
300  * AccessibleHyperlink function prototypes
301  *
302  */
303
304 int
305 AccessibleHyperlink_ref (AccessibleHyperlink *obj);
306
307 int
308 AccessibleHyperlink_unref (AccessibleHyperlink *obj);
309
310 long
311 AccessibleHyperlink_getNAnchors (AccessibleHyperlink *obj);
312
313 char *
314 AccessibleHyperlink_getURI (AccessibleHyperlink *obj,
315                             long i);
316
317 Accessible
318 AccessibleHyperlink_getAnchor (AccessibleHyperlink *obj,
319                                long i);
320
321 void
322 AccessibleHyperlink_getIndexRange (AccessibleHyperlink *obj,
323                                    long *startIndex,
324                                    long *endIndex);
325
326 boolean
327 AccessibleHyperlink_isValid (AccessibleHyperlink *obj);
328
329 /*
330  *
331  * AccessibleHypertext function prototypes
332  *
333  */
334
335 int
336 AccessibleHypertext_ref (AccessibleHypertext *obj);
337
338 int
339 AccessibleHypertext_unref (AccessibleHypertext *obj);
340
341 long
342 AccessibleHypertext_getNLinks (AccessibleHypertext *obj);
343
344 AccessibleHyperlink *
345 AccessibleHyperText_getLink (AccessibleHypertext *obj,
346                              long linkIndex);
347
348 long
349 AccessibleHypertext_getLinkIndex (AccessibleHypertext *obj,
350                                   long characterIndex);
351
352 /*
353  *
354  * AccessibleImage function prototypes
355  *
356  */
357
358 int
359 AccessibleImage_ref (AccessibleImage *obj);
360
361 int
362 AccessibleImage_unref (AccessibleImage *obj);
363
364 char *
365 AccessibleImage_getImageDescription (AccessibleImage *obj);
366
367 void
368 AccessibleImage_getImageSize (AccessibleImage *obj,
369                               long *width,
370                               long *height,
371                               AccessibleCoordType ctype);
372 void
373 AccessibleImage_getImagePosition (AccessibleImage *obj,
374                                   long *x,
375                                   long *y,
376                                   AccessibleCoordType ctype);
377
378 /*
379  *
380  * AccessibleRelation function prototypes
381  *
382  */
383
384 int
385 AccessibleRelation_ref (AccessibleRelation *obj);
386
387 int
388 AccessibleRelation_unref (AccessibleRelation *obj);
389
390 RELATION_TYPE
391 AccessibleRelation_getRelationType (AccessibleRelation *obj);
392
393 Accessible *
394 AccessibleRelation_getTarget (AccessibleRelation *obj);
395
396
397
398 /*
399  *
400  * AccessibleSelection function prototypes
401  *
402  */
403
404 int
405 AccessibleSelection_ref (AccessibleSelection *obj);
406
407 int
408 AccessibleSelection_unref (AccessibleSelection *obj);
409
410 long
411 AccessibleSelwection_getNSelectedChildren (AccessibleSelection *obj);
412
413 Accessible *
414 AccessibleSelection_getSelectedChild (AccessibleSelection *obj,
415                                       long selectedChildIndex);
416
417 boolean
418 AccessibleSelection_selectChild (AccessibleSelection *obj,
419                                  long childIndex);
420
421 boolean
422 AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj,
423                                            long selectedChildIndex);
424
425 boolean
426 AccessibleSelection_isChildSelected (AccessibleSelection *obj,
427                                      long childIndex);
428
429 void
430 AccessibleSelection_selectAll (AccessibleSelection *obj);
431
432 void
433 AccessibleSelection_clearSelection (AccessibleSelection *obj);
434
435
436 /*
437  *
438  * AccessibleStateSet function prototypes
439  *
440  */
441
442 int
443 AccessibleStateSet_ref (AccessibleStateSet *obj);
444
445 int
446 AccessibleStateSet_unref (AccessibleStateSet *obj);
447
448 boolean
449 AccessibleStateSet_contains (AccessibleStateSet *obj,
450                              ACCESSIBLE_STATE state);
451
452 void
453 AccessibleStateSet_add (AccessibleStateSet *obj,
454                         ACCESSIBLE_STATE state);
455
456 void
457 AccessibleStateSet_remove (AccessibleStateSet *obj,
458                            ACCESSIBLE_STATE state);
459
460 boolean
461 AccessibleStateSet_equals (AccessibleStateSet *obj,
462                            AccessibleStateSet *obj2);
463
464 void
465 AccessibleStateSet_compare (AccessibleStateSet *obj,
466                             AccessibleStateSet *obj2,
467                             AccessibleStateSet **differenceSet);
468
469 boolean
470 AccessibleStateSet_isEmpty (AccessibleStateSet *obj);
471
472
473 /*
474  *
475  * AccessibleTable function prototypes
476  *
477  */
478
479 int
480 AccessibleTable_ref (AccessibleTable *obj);
481
482 int
483 AccessibleTable_unref (AccessibleTable *obj);
484
485 Accessible *
486 AccessibleTable_getCaption (AccessibleTable *obj);
487
488 Accessible *
489 AccessibleTable_getSummary (AccessibleTable *obj);
490
491 long
492 AccessibleTable_getNRows (AccessibleTable *obj);
493
494 long
495 AccessibleTable_getNColumns (AccessibleTable *obj);
496
497 Accessible *
498 AccessibleTable_getAccessibleAt (AccessibleTable *obj,
499                                  long row,
500                                  long column);
501
502 long
503 AccessibleTable_getIndexAt (AccessibleTable *obj,
504                             long row,
505                             long column);
506
507 long
508 AccessibleTable_getRowAtIndex (AccessibleTable *obj,
509                                long index);
510
511 long
512 AccessibleTable_getColumnAtIndex (AccessibleTable *obj,
513                                   long index);
514
515 char *
516 AccessibleTable_getRowDescription (AccessibleTable *obj);
517
518 char *
519 AccessibleTable_getColumnDescription (AccessibleTable *obj);
520
521 long
522 AccessibleTable_getRowExtentAt (AccessibleTable *obj,
523                                 long row,
524                                 long column);
525
526 long
527 AccessibleTable_getColumnExtentAt (AccessibleTable *obj,
528                                    long row,
529                                    long column);
530
531 AccessibleTable *
532 AccessibleTable_getRowHeaders (AccessibleTable *obj);
533
534 AccessibleTable *
535 AccessibleTable_getColumnHeaders (AccessibleTable *obj);
536
537 long
538 AccessibleTable_getNSelectedRows (AccessibleTable *obj);
539
540 void
541 AccessibleTable_getSelectedRows (AccessibleTable *obj,
542                                  long **selectedRows);
543
544 long
545 AccessibleTable_getNSelectedColumns (AccessibleTable *obj);
546
547 void
548 AccessibleTable_getSelectedColumns (AccessibleTable *obj,
549                                     long **selectedColumns);
550
551 boolean
552 AccessibleTable_isRowSelected (AccessibleTable *obj,
553                                long row);
554
555 boolean
556 AccessibleTable_isColumnSelected (AccessibleTable *obj,
557                                   long column);
558
559 boolean
560 AccessibleTable_isSelected (AccessibleTable *obj,
561                             long row,
562                             long column);
563
564 /*
565  *
566  * AccessibleText function prototypes
567  *
568  */
569
570 int
571 AccessibleText_ref (AccessibleText *obj);
572
573 int
574 AccessibleText_unref (AccessibleText *obj);
575
576 long
577 AccessibleText_getCharacterCount (AccessibleText *obj);
578
579 char *
580 AccessibleText_getText (AccessibleText *obj,
581                         long startOffset,
582                         long endOffset);
583
584 long
585 AccessibleText_getCaretOffset (AccessibleText *obj);
586
587 boolean
588 AccessibleText_setCaretOffset (AccessibleText *obj,
589                                long newOffset);
590
591 char *
592 AccessibleText_getTextBeforeOffset (AccessibleText *obj,
593                                     long offset,
594                                     TEXT_BOUNDARY_TYPE type);
595
596 char *
597 AccessibleText_getTextAtOffset (Accessible *obj,
598                                 long offset,
599                                 TEXT_BOUNDARY_TYPE type);
600
601 char *
602 AccessibleText_getTextAfterOffset (AccessibleText *obj,
603                                    long offset,
604                                    TEXT_BOUNDARY_TYPE type);
605
606 char
607 AccessibleText_getCharacterAtOffset (AccessibleText *obj,
608                                      long offset);
609
610 char *
611 AccessibleText_getAttributes (AccessibleText *obj,
612                               long startOffset,
613                               long endOffset);
614
615 boolean
616 AccessibleText_getCharacterExtents (AccessibleText *obj,
617                                     long offset,
618                                     long *x,
619                                     long *y,
620                                     long *width,
621                                     long *height);
622
623 long
624 AccessibleText_getOffsetAtPoint (AccessibleText *obj,
625                                  long x,
626                                  long y);
627
628 char *
629 AccessibleText_getSelectedText (AccessibleText *obj);
630
631 void
632 AccessibleText_getSelectionBounds (AccessibleText *obj,
633                                    long *startOffset,
634                                    long *endOffset);
635
636 boolean
637 AccessibleText_setSelectionBounds (AccessibleText *obj,
638                                    long startOffset,
639                                    long endOffset);
640
641 /*
642  *
643  * AccessibleValue Function Prototypes:
644  *
645  */
646
647 float
648 AccessibleValue_getMinimumValue (AccessibleValue *value);
649
650 float
651 AccessibleValue_getCurrentValue (AccessibleValue *value);
652
653 float
654 AccessibleValue_getMaximumValue (AccessibleValue *value);
655
656 boolean
657 AccessibleValue_setCurrentValue (AccessibleValue *value,
658                                  float newValue);
659
660 #endif