2.34.0
[platform/upstream/at-spi2-core.git] / atspi / atspi-text.c
index 98a454b..de99773 100644 (file)
@@ -7,19 +7,19 @@
  * Copyright 2010, 2011 Novell, Inc.
  *
  * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
+ * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
  *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU Library General Public
+ * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
 
 #include "atspi-private.h"
@@ -138,7 +138,7 @@ atspi_text_get_caret_offset (AtspiText *obj, GError **error)
 }
 
 /**
- * atspi_text_get_attributes:
+ * atspi_text_get_attributes: (rename-to atspi_text_get_text_attributes)
  * @obj: a pointer to the #AtspiText object to query.
  * @offset: a #gint indicating the offset from which the attribute
  *        search is based.
@@ -156,7 +156,6 @@ atspi_text_get_caret_offset (AtspiText *obj, GError **error)
  * describing the attributes at the given character offset.
  *
  * Deprecated: 2.10: Use atspi_text_get_text_attributes instead.
- * Rename to: atspi_text_get_text_attributes
  **/
 GHashTable *
 atspi_text_get_attributes (AtspiText *obj,
@@ -280,7 +279,7 @@ atspi_text_get_attribute_run (AtspiText *obj,
 }
 
 /**
- * atspi_text_get_attribute_value:
+ * atspi_text_get_attribute_value: (rename-to atspi_text_get_text_attribute_value)
  * @obj: a pointer to the #AtspiText object to query.
  * @offset: The character offset at which to query the attribute.
  * @attribute_name: The attribute to query.
@@ -291,7 +290,6 @@ atspi_text_get_attribute_run (AtspiText *obj,
  * offset, or %NULL if not present.
  *
  * Deprecated: 2.10: Use atspi_text_get_text_attribute_value instead.
- * Rename to: atspi_text_get_text_attribute_value
  **/
 gchar *
 atspi_text_get_attribute_value (AtspiText *obj,
@@ -321,10 +319,14 @@ atspi_text_get_text_attribute_value (AtspiText *obj,
                                      GError **error)
 {
   gchar *retval = NULL;
+  dbus_int32_t d_i = offset;
 
   g_return_val_if_fail (obj != NULL, NULL);
 
-  _atspi_dbus_call (obj, atspi_interface_text, "GetAttributeValue", error, "i=>s", offset, &retval);
+  _atspi_dbus_call (obj, atspi_interface_text, "GetAttributeValue", error, "is=>s", d_i, (const gchar *)attribute_value, &retval);
+
+  if (!retval)
+    retval = g_strdup ("");
 
   return retval;
 }
@@ -616,6 +618,8 @@ atspi_text_get_character_at_offset (AtspiText *obj,
  *
  * Gets a bounding box containing the glyph representing
  *        the character at a particular text offset.
+ * The returned values are meaningful only if the Text has both
+ * STATE_VISIBLE and STATE_SHOWING.
  *
  * Returns: An #AtspiRect specifying the position and size of the character.
  *
@@ -688,6 +692,8 @@ atspi_text_get_offset_at_point (AtspiText *obj,
  *        for the returned values.
  *
  * Gets the bounding box for text within a range in an  #AtspiText object.
+ * The returned values are meaningful only if the Text has both
+ * STATE_VISIBLE and STATE_SHOWING.
  *
  * Returns: An #AtspiRect giving the position and size of the specified range
  *          of text.
@@ -890,6 +896,72 @@ atspi_text_set_selection (AtspiText *obj,
   return retval;
 }
 
+/**
+ * atspi_text_scroll_substring_to:
+ * @obj: a pointer to the #AtspiText object on which to operate.
+ * @start_offset: a #gint indicating the start of the desired text range.
+ * @end_offset: a #gint indicating the first character past the desired range.
+ * @type: a #AtspiScrollType indicating where the object should be placed on the
+ *        screen.
+ *
+ * Scrolls whatever container of the #AtspiText text range so it becomes
+ * visible on the screen.
+ *
+ * Returns: #TRUE if successful, #FALSE otherwise.
+ **/
+gboolean
+atspi_text_scroll_substring_to (AtspiText *obj,
+                               gint start_offset,
+                               gint end_offset,
+                               AtspiScrollType type,
+                               GError **error)
+{
+  dbus_bool_t retval = FALSE;
+
+  g_return_val_if_fail (obj != NULL, FALSE);
+
+  _atspi_dbus_call (obj, atspi_interface_text, "ScrollSubstringTo",
+                    error, "iiu=>b",
+                    start_offset, end_offset, type, &retval);
+
+  return retval;
+}
+
+/**
+ * atspi_text_scroll_substring_to_point:
+ * @obj: a pointer to the #AtspiText object on which to operate.
+ * @start_offset: a #gint indicating the start of the desired text range.
+ * @end_offset: a #gint indicating the first character past the desired range.
+ * @coords: a #AtspiCoordType indicating whether the coordinates are relative to
+ *          the screen, to the window, or to the parent object.
+ * @x: the x coordinate of the point to reach
+ * @y: the y coordinate of the point to reach
+ *
+ * Scrolls whatever container of the #AtspiText text range so it becomes
+ * visible on the screen at a given position.
+ *
+ * Returns: #TRUE if successful, #FALSE otherwise.
+ **/
+gboolean
+atspi_text_scroll_substring_to_point (AtspiText *obj,
+                                     gint start_offset,
+                                     gint end_offset,
+                                     AtspiCoordType coords,
+                                     gint x,
+                                     gint y,
+                                     GError **error)
+{
+  dbus_bool_t retval = FALSE;
+
+  g_return_val_if_fail (obj != NULL, FALSE);
+
+  _atspi_dbus_call (obj, atspi_interface_text, "ScrollSubstringToPoint",
+                    error, "iiuii=>b",
+                    start_offset, end_offset, coords, x, y, &retval);
+
+  return retval;
+}
+
 static void
 atspi_text_base_init (AtspiText *klass)
 {