X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=atspi%2Fatspi-text.c;h=de99773e482fa3c7c1ae6698c36b3199f8b89547;hb=3785cfb93aa4a29b70ffdd39686f14d2c8e26b0b;hp=67510ea7676df3159419938ee84a4adb6234d3bf;hpb=f021e3ce92d668ac72f30abaa81e7af1c6a373fc;p=platform%2Fupstream%2Fat-spi2-core.git diff --git a/atspi/atspi-text.c b/atspi/atspi-text.c index 67510ea..de99773 100644 --- a/atspi/atspi-text.c +++ b/atspi/atspi-text.c @@ -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,18 +279,17 @@ 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. * * Gets the value of a named attribute at a given offset. * - * Returns: the value of a given attribute at the given offset, or NULL if - * not present. + * Returns: (nullable): the value of a given attribute at the given + * 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, @@ -311,7 +309,7 @@ atspi_text_get_attribute_value (AtspiText *obj, * * Gets the value of a named attribute at a given offset. * - * Returns: the value of a given attribute at the given offset, or NULL if + * Returns: (nullable): the value of a given attribute at the given offset, or %NULL if * not present. **/ gchar * @@ -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) {