at-bridge/Makefile.am: fixed LDFLAGS.
[platform/core/uifw/at-spi2-atk.git] / cspi / spi_text.c
index 379c122..4c9ed87 100644 (file)
@@ -1,6 +1,3 @@
-#include "spi-util.h"
-
-
 int
 AccessibleText_ref (AccessibleText *obj)
 {
@@ -22,8 +19,15 @@ AccessibleText_unref (AccessibleText *obj)
 long
 AccessibleText_getCharacterCount (AccessibleText *obj)
 {
-  return (long)
+  long retval;
+
+  CORBA_exception_init (&ev);
+  retval = (long)
     Accessibility_Text__get_characterCount (*obj, &ev);
+
+  spi_check_ev (&ev, "AccessibleText_getCharacterCount");
+
+  return retval;
 }
 
 
@@ -33,33 +37,40 @@ AccessibleText_getText (AccessibleText *obj,
                         long startOffset,
                         long endOffset)
 {
-  return string_from_corba_string (
-                                  Accessibility_Text_getText (*obj,
-                                                              (CORBA_long) startOffset, (CORBA_long) endOffset, &ev));
+  return (char *)
+    Accessibility_Text_getText (*obj,
+                               (CORBA_long) startOffset, (CORBA_long) endOffset, &ev);
 }
 
 
 
+
 long
 AccessibleText_getCaretOffset (AccessibleText *obj)
 {
   return (long)
-    Accessibility_Text_getCaretOffset (*obj, &ev);
+    Accessibility_Text__get_caretOffset (*obj, &ev);
 }
 
 
 
 char *
-AccessibleText_refRunAttributes (AccessibleText *obj,
+AccessibleText_getAttributes (AccessibleText *obj,
                                 long offset,
                                 long *startOffset,
-                                long *endOfset)
+                                long *endOffset)
 {
-return string_from_corba_string (
-                                Accessibility_Text_refRunAttributes (*obj,
-                                                                     (CORBA_long) offset,
-                                                                     (CORBA_long *) startOffset,
-                                                                     (CORBA_long *) endOffset, &ev));
+  CORBA_long retStartOffset, retEndOffset;
+  char *retval;        
+  retval = (char *)
+    Accessibility_Text_getAttributes (*obj,
+                                     (CORBA_long) offset,
+                                     &retStartOffset,
+                                     &retEndOffset,
+                                     &ev);
+  *startOffset = (long) retStartOffset;
+  *endOffset = (long) retEndOffset;
+  return retval;
 }
 
 
@@ -81,26 +92,41 @@ AccessibleText_getTextBeforeOffset (AccessibleText *obj,
                                     TEXT_BOUNDARY_TYPE type,
                                    long *startOffset, long *endOffset)
 {
-  return string_from_corba_string (
-                                  Accessibility_Text_getTextBeforeOffset (*obj,
-                                                                          (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
-                                                                          (CORBA_long *) startOffset, (CORBA_long *) endOffset,
-                                                                          &ev));
+  char *retval;
+  CORBA_long retStartOffset, retEndOffset;
+  retval = (char *)
+    Accessibility_Text_getTextBeforeOffset (*obj,
+                                          (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
+                                          &retStartOffset, &retEndOffset,
+                                          &ev);
+  *startOffset = (long) retStartOffset;
+  *endOffset = (long) retEndOffset;
+  return retval;
 }
 
 
 
 char *
 AccessibleText_getTextAtOffset (AccessibleText *obj,
-                                    long offset,
-                                    TEXT_BOUNDARY_TYPE type,
-                                   long *startOffset, long *endOffset)
+                               long offset,
+                               TEXT_BOUNDARY_TYPE type,
+                               long *startOffset, long *endOffset)
 {
-  return string_from_corba_string (
-                                  Accessibility_Text_getTextAtOffset (*obj,
-                                                                          (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
-                                                                          (CORBA_long *) startOffset, (CORBA_long *) endOffset,
-                                                                          &ev));
+  CORBA_long corbaStartOffset;
+  CORBA_long corbaEndOffset;
+  char *retval = "";
+  retval = Accessibility_Text_getTextAtOffset (*obj,
+                                              (CORBA_long) offset,
+                                              (Accessibility_TEXT_BOUNDARY_TYPE) type,
+                                              &corbaStartOffset,
+                                              &corbaEndOffset,
+                                              &ev);
+  *startOffset = (long) corbaStartOffset;
+  *endOffset = (long) corbaEndOffset;
+#ifdef SPI_DEBUG
+  fprintf (stderr, "text offsets %ld to %ld\n", *startOffset, *endOffset);
+#endif
+  return retval;
 }
 
 
@@ -111,41 +137,52 @@ AccessibleText_getTextAfterOffset (AccessibleText *obj,
                                     TEXT_BOUNDARY_TYPE type,
                                    long *startOffset, long *endOffset)
 {
-  return string_from_corba_string (
-                                  Accessibility_Text_getTextAfterOffset (*obj,
-                                                                          (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
-                                                                          (CORBA_long *) startOffset, (CORBA_long *) endOffset,
-                                                                          &ev));
+  char *retval;
+  CORBA_long retStartOffset, retEndOffset;
+  retval = (char *)
+    Accessibility_Text_getTextAfterOffset (*obj,
+                                          (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
+                                          &retStartOffset, &retEndOffset,
+                                          &ev);
+  *startOffset = (long) retStartOffset;
+  *endOffset = (long) retEndOffset;
+  return retval;
 }
 
 
 
-char
+unsigned long
 AccessibleText_getCharacterAtOffset (AccessibleText *obj,
                                      long offset)
 {
-  return (char)
+  return (unsigned long)
     Accessibility_Text_getCharacterAtOffset (*obj,
                                             (CORBA_long) offset, &ev);
 }
 
 
 
-boolean
+void
 AccessibleText_getCharacterExtents (AccessibleText *obj,
                                     long offset,
                                     long *x,
                                     long *y,
                                     long *width,
-                                    long *height)
+                                    long *height,
+                                   AccessibleCoordType type)
 {
-  return (boolean)
-    Accessibility_Text_getTextExtents (*obj,
-                                      (CORBA_long) offset,
-                                      (CORBA_long *) x,
-                                      (CORBA_long *) y,
-                                      (CORBA_long *) width,
-                                      (CORBA_long *) height, &ev);
+  CORBA_long retX, retY, retWidth, retHeight;
+  Accessibility_Text_getCharacterExtents (*obj,
+                                         (CORBA_long) offset,
+                                         &retX,
+                                         &retY,
+                                         &retWidth,
+                                         &retHeight,
+                                         (CORBA_short) type, &ev);
+  *x = (long) retX;
+  *y = (long) retY;
+  *width = (long) retWidth;
+  *height = (long) retHeight;
 }
 
 
@@ -153,11 +190,12 @@ AccessibleText_getCharacterExtents (AccessibleText *obj,
 long
 AccessibleText_getOffsetAtPoint (AccessibleText *obj,
                                  long x,
-                                 long y)
+                                 long y,
+                                AccessibleCoordType type)
 {
   return (long)
     Accessibility_Text_getOffsetAtPoint (*obj,
-                                        (CORBA_long) x, (CORBA_long) y, &ev);
+                                        (CORBA_long) x, (CORBA_long) y, (CORBA_short) type, &ev);
 }
 
 
@@ -176,10 +214,13 @@ AccessibleText_getSelection (AccessibleText *obj,
                             long selectionNum, long *startOffset,
                             long *endOffset)
 {
+  CORBA_long retStartOffset, retEndOffset;
   Accessibility_Text_getSelection (*obj,
                                   (CORBA_long) selectionNum,
-                                  (CORBA_long *) startOffset,
-                                  (CORBA_long *) endOffset, &ev);
+                                  &retStartOffset, &retEndOffset, &ev);
+  
+  *startOffset = (long) retStartOffset;
+  *endOffset = (long) retEndOffset;
 }
 
 
@@ -216,7 +257,7 @@ AccessibleText_setSelection (AccessibleText *obj,
   return (boolean)
     Accessibility_Text_setSelection (*obj,
                                     (CORBA_long) selectionNum,
-                                    (CORBA_long) startPos,
+                                    (CORBA_long) startOffset,
                                     (CORBA_long) endOffset, &ev);
 }