summaryrefslogtreecommitdiff
path: root/pango/pango-layout.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2004-07-16 11:47:03 +0000
committerOwen Taylor <otaylor@src.gnome.org>2004-07-16 11:47:03 +0000
commit96529677bab206ef129fd9b96592fb7249691898 (patch)
treee2b228fe00c4b315ba33721b64c228d208282632 /pango/pango-layout.c
parente5c9e78492b389b35301d56dea3788e6bc0211ab (diff)
downloadpango-96529677bab206ef129fd9b96592fb7249691898.tar.gz
#143601: Felipe Heidrich
Fri Jul 16 07:43:04 2004 Owen Taylor <otaylor@redhat.com> #143601: Felipe Heidrich * pango/pango-layout.c (pango_layout_line_x_to_index): Go into painful detail about the behavior for X positions outside the line. * pango/pango-layout.c (pango_layout_xy_to_index): Add some more details about handling of positions outside the layout, reference pango_layout_line_x_to_index().
Diffstat (limited to 'pango/pango-layout.c')
-rw-r--r--pango/pango-layout.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/pango/pango-layout.c b/pango/pango-layout.c
index 16765fbe..787bfe7b 100644
--- a/pango/pango-layout.c
+++ b/pango/pango-layout.c
@@ -1423,10 +1423,12 @@ pango_layout_move_cursor_visually (PangoLayout *layout,
*
* Converts from X and Y position within a layout to the byte
* index to the character at that logical position. If the
- * position is not inside the layout, the closest position is chosen
- * (the x/y position will be clamped inside the layout).
- * If a closest position is chosen, then the function returns %FALSE;
- * on an exact hit, it returns %TRUE.
+ * Y position is not inside the layout, the closest position is chosen
+ * (the position will be clamped inside the layout). If the
+ * X position is not within the layout, then the start or the
+ * end of the line is chosen as described for pango_layout_x_to_index().
+ * If either the X or Y positions were not inside the layout, then the
+ * function returns %FALSE; on an exact hit, it returns %TRUE.
*
* Return value: %TRUE if the coordinates were inside text
**/
@@ -3246,16 +3248,23 @@ pango_layout_line_unref (PangoLayoutLine *line)
* @line: a #PangoLayoutLine
* @x_pos: the x offset (in #PangoGlyphUnit)
* from the left edge of the line.
- * @index_: location to store calculated byte offset for
+ * @index_: location to store calculated byte index for
* the grapheme in which the user clicked.
* @trailing: location to store a integer indicating where
* in the grapheme the user clicked. It will either
* be zero, or the number of characters in the
- * grapheme. 0 represents the trailing edge of the cluster.
+ * grapheme. 0 represents the trailing edge of the grapheme.
*
* Converts from x offset to the byte index of the corresponding
* character within the text of the layout. If @x_pos is outside the line,
- * the start or end of the line will be stored at @index_.
+ * @index_ and @trailing will point to the very first or very last position
+ * in the line. This determination is based on the resolved direction
+ * of the paragraph; for example, if the resolved direction is
+ * right-to-left, then an X position to the right of the line (after it)
+ * results in 0 being stored in @index_ and @trailing. An X position to the
+ * left of the line results in @index_ pointing to the (logical) last
+ * grapheme in the line and @trailing being set to the number of characters
+ * in that grapheme. The reverse is true for a left-to-right line.
*
* Returns: %FALSE if @x_pos was outside the line, %TRUE if inside
**/