[clutter] clutter-text: new clutter_text_get_layout_offsets API
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter] clutter-text: new clutter_text_get_layout_offsets API
- Date: Mon, 13 Jun 2011 22:46:53 +0000 (UTC)
commit 494629d4b9eac31afa3910ef130404030656bc4e
Author: Philippe Normand <pnormand igalia com>
Date: Fri Feb 4 12:33:53 2011 +0100
clutter-text: new clutter_text_get_layout_offsets API
This new function can be used to retrieve the coordinates where the
ClutterText will draw the PangoLayout representing the text.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2553
clutter/clutter-text.c | 38 +++++++++++++++++++++++++++-
clutter/clutter-text.h | 4 +++
doc/reference/clutter/clutter-sections.txt | 1 +
3 files changed, 42 insertions(+), 1 deletions(-)
---
diff --git a/clutter/clutter-text.c b/clutter/clutter-text.c
index 1606284..85912cc 100644
--- a/clutter/clutter-text.c
+++ b/clutter/clutter-text.c
@@ -168,6 +168,10 @@ struct _ClutterTextPrivate
*/
gint text_x;
+ /* the y position of the PangoLayout, fixed to 0 by
+ * default for now */
+ gint text_y;
+
/* the length of the text, in bytes */
gint n_bytes;
@@ -2037,7 +2041,7 @@ clutter_text_paint (ClutterActor *self)
priv->text_color.green,
priv->text_color.blue,
real_opacity);
- cogl_pango_render_layout (layout, text_x, 0, &color, 0);
+ cogl_pango_render_layout (layout, text_x, priv->text_y, &color, 0);
selection_paint (text);
@@ -3486,6 +3490,8 @@ clutter_text_init (ClutterText *self)
priv->max_length = 0;
+ priv->text_y = 0;
+
priv->cursor_size = DEFAULT_CURSOR_SIZE;
memset (&priv->cursor_pos, 0, sizeof (ClutterGeometry));
@@ -5478,3 +5484,33 @@ clutter_text_set_preedit_string (ClutterText *self,
clutter_text_dirty_cache (self);
clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
}
+
+
+/**
+ * clutter_text_get_layout_offsets:
+ * @self: a #ClutterText
+ * @x: (out): location to store X offset of layout, or %NULL
+ * @y: (out): location to store Y offset of layout, or %NULL
+ *
+ * Obtains the coordinates where the #ClutterText will draw the #PangoLayout
+ * representing the text.
+ *
+ * Since: 1.7
+ **/
+void
+clutter_text_get_layout_offsets (ClutterText *self,
+ gint *x,
+ gint *y)
+{
+ ClutterTextPrivate *priv;
+
+ g_return_if_fail (CLUTTER_IS_TEXT (self));
+
+ priv = self->priv;
+
+ if (x != NULL)
+ *x = priv->text_x;
+
+ if (y != NULL)
+ *y = priv->text_y;
+}
diff --git a/clutter/clutter-text.h b/clutter/clutter-text.h
index eef7d76..c127fe7 100644
--- a/clutter/clutter-text.h
+++ b/clutter/clutter-text.h
@@ -217,6 +217,10 @@ void clutter_text_set_preedit_string (ClutterText *s
PangoAttrList *preedit_attrs,
guint cursor_pos);
+void clutter_text_get_layout_offsets (ClutterText *self,
+ gint *x,
+ gint *y);
+
G_END_DECLS
#endif /* __CLUTTER_TEXT_H__ */
diff --git a/doc/reference/clutter/clutter-sections.txt b/doc/reference/clutter/clutter-sections.txt
index 414b0e0..44fd85d 100644
--- a/doc/reference/clutter/clutter-sections.txt
+++ b/doc/reference/clutter/clutter-sections.txt
@@ -1826,6 +1826,7 @@ clutter_text_get_cursor_size
clutter_text_activate
clutter_text_position_to_coords
clutter_text_set_preedit_string
+clutter_text_get_layout_offsets
<SUBSECTION Standard>
CLUTTER_IS_TEXT
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]