Cleaned up some suspect int* casts, and added assertions to text calls in libspi
[platform/core/uifw/at-spi2-atk.git] / cspi / spi_text.c
1 int
2 AccessibleText_ref (AccessibleText *obj)
3 {
4   Accessibility_Text_ref (*obj, &ev);
5   return 0;
6 }
7
8
9
10 int
11 AccessibleText_unref (AccessibleText *obj)
12 {
13   Accessibility_Text_unref (*obj, &ev);
14   return 0;
15 }
16
17
18
19 long
20 AccessibleText_getCharacterCount (AccessibleText *obj)
21 {
22   return (long)
23     Accessibility_Text__get_characterCount (*obj, &ev);
24 }
25
26
27
28 char *
29 AccessibleText_getText (AccessibleText *obj,
30                         long startOffset,
31                         long endOffset)
32 {
33   return (char *)
34     Accessibility_Text_getText (*obj,
35                                 (CORBA_long) startOffset, (CORBA_long) endOffset, &ev);
36 }
37
38
39
40
41 long
42 AccessibleText_getCaretOffset (AccessibleText *obj)
43 {
44   return (long)
45     Accessibility_Text__get_caretOffset (*obj, &ev);
46 }
47
48
49
50 char *
51 AccessibleText_getAttributes (AccessibleText *obj,
52                                  long offset,
53                                  long *startOffset,
54                                  long *endOffset)
55 {
56   CORBA_long retStartOffset, retEndOffset;
57   char *retval; 
58   retval = (char *)
59     Accessibility_Text_getAttributes (*obj,
60                                       (CORBA_long) offset,
61                                       &retStartOffset,
62                                       &retEndOffset,
63                                       &ev);
64   *startOffset = (long) retStartOffset;
65   *endOffset = (long) retEndOffset;
66   return retval;
67 }
68
69
70
71 boolean
72 AccessibleText_setCaretOffset (AccessibleText *obj,
73                                long newOffset)
74 {
75   return (boolean)
76     Accessibility_Text_setCaretOffset (*obj,
77                                        (CORBA_long) newOffset, &ev);
78 }
79
80
81
82 char *
83 AccessibleText_getTextBeforeOffset (AccessibleText *obj,
84                                     long offset,
85                                     TEXT_BOUNDARY_TYPE type,
86                                     long *startOffset, long *endOffset)
87 {
88   char *retval;
89   CORBA_long retStartOffset, retEndOffset;
90   retval = (char *)
91     Accessibility_Text_getTextBeforeOffset (*obj,
92                                            (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
93                                            &retStartOffset, &retEndOffset,
94                                            &ev);
95   *startOffset = (long) retStartOffset;
96   *endOffset = (long) retEndOffset;
97   return retval;
98 }
99
100
101
102 char *
103 AccessibleText_getTextAtOffset (AccessibleText *obj,
104                                     long offset,
105                                     TEXT_BOUNDARY_TYPE type,
106                                     long *startOffset, long *endOffset)
107 {
108   CORBA_long corbaStartOffset;
109   CORBA_long corbaEndOffset;
110   char *retval = "";
111   retval = Accessibility_Text_getTextAtOffset (*obj,
112                                                (CORBA_long) offset,
113                                                (Accessibility_TEXT_BOUNDARY_TYPE) type,
114                                                &corbaStartOffset,
115                                                &corbaEndOffset,
116                                                &ev);
117   *startOffset = (long) corbaStartOffset;
118   *endOffset = (long) corbaEndOffset;
119 #ifdef SPI_DEBUG
120   fprintf (stderr, "text offsets %ld to %ld\n", *startOffset, *endOffset);
121 #endif
122   return retval;
123 }
124
125
126
127 char *
128 AccessibleText_getTextAfterOffset (AccessibleText *obj,
129                                     long offset,
130                                     TEXT_BOUNDARY_TYPE type,
131                                     long *startOffset, long *endOffset)
132 {
133   char *retval;
134   CORBA_long retStartOffset, retEndOffset;
135   retval = (char *)
136     Accessibility_Text_getTextAfterOffset (*obj,
137                                            (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
138                                            &retStartOffset, &retEndOffset,
139                                            &ev);
140   *startOffset = (long) retStartOffset;
141   *endOffset = (long) retEndOffset;
142   return retval;
143 }
144
145
146
147 unsigned long
148 AccessibleText_getCharacterAtOffset (AccessibleText *obj,
149                                      long offset)
150 {
151   return (unsigned long)
152     Accessibility_Text_getCharacterAtOffset (*obj,
153                                              (CORBA_long) offset, &ev);
154 }
155
156
157
158 void
159 AccessibleText_getCharacterExtents (AccessibleText *obj,
160                                     long offset,
161                                     long *x,
162                                     long *y,
163                                     long *width,
164                                     long *height,
165                                     AccessibleCoordType type)
166 {
167   CORBA_long retX, retY, retWidth, retHeight;
168   Accessibility_Text_getCharacterExtents (*obj,
169                                           (CORBA_long) offset,
170                                           &retX,
171                                           &retY,
172                                           &retWidth,
173                                           &retHeight,
174                                           (CORBA_short) type, &ev);
175   *x = (long) retX;
176   *y = (long) retY;
177   *width = (long) retWidth;
178   *height = (long) retHeight;
179 }
180
181
182
183 long
184 AccessibleText_getOffsetAtPoint (AccessibleText *obj,
185                                  long x,
186                                  long y,
187                                  AccessibleCoordType type)
188 {
189   return (long)
190     Accessibility_Text_getOffsetAtPoint (*obj,
191                                          (CORBA_long) x, (CORBA_long) y, (CORBA_short) type, &ev);
192 }
193
194
195
196 long
197 AccessibleText_getNSelections (AccessibleText *obj)
198 {
199   return (long)
200     Accessibility_Text_getNSelections (*obj, &ev);
201 }
202
203
204
205 void
206 AccessibleText_getSelection (AccessibleText *obj,
207                              long selectionNum, long *startOffset,
208                              long *endOffset)
209 {
210   CORBA_long retStartOffset, retEndOffset;
211   Accessibility_Text_getSelection (*obj,
212                                    (CORBA_long) selectionNum,
213                                    &retStartOffset, &retEndOffset, &ev);
214   
215   *startOffset = (long) retStartOffset;
216   *endOffset = (long) retEndOffset;
217 }
218
219
220
221 boolean
222 AccessibleText_addSelection (AccessibleText *obj,
223                              long startOffset, long endOffset)
224 {
225   return (boolean)
226     Accessibility_Text_addSelection (*obj,
227                                      (CORBA_long) startOffset, (CORBA_long) endOffset,
228                                      &ev);
229 }
230
231
232
233 boolean
234 AccessibleText_removeSelection (AccessibleText *obj,
235                                 long selectionNum)
236 {
237   return (boolean)
238     Accessibility_Text_removeSelection (*obj,
239                                         (CORBA_long) selectionNum, &ev);
240 }
241
242
243
244 boolean
245 AccessibleText_setSelection (AccessibleText *obj,
246                              long selectionNum,
247                              long startOffset,
248                              long endOffset)
249 {
250   return (boolean)
251     Accessibility_Text_setSelection (*obj,
252                                      (CORBA_long) selectionNum,
253                                      (CORBA_long) startOffset,
254                                      (CORBA_long) endOffset, &ev);
255 }
256
257
258