[clutter] event: Add convenience functions for Shift and Ctrl modifiers
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter] event: Add convenience functions for Shift and Ctrl modifiers
- Date: Fri, 25 May 2012 10:35:39 +0000 (UTC)
commit 129752e5606c652587db8c000a72fe80db889c7d
Author: Emmanuele Bassi <ebassi linux intel com>
Date: Fri May 25 11:33:57 2012 +0100
event: Add convenience functions for Shift and Ctrl modifiers
Instead of going through clutter_event_get_state() and checking if the
modifier mask is set, we can provide simple convenience functions to do
it for us.
clutter/clutter-event.c | 32 ++++++++++++++++++++++++++++
clutter/clutter-event.h | 5 ++++
clutter/clutter.symbols | 2 +
doc/reference/clutter/clutter-sections.txt | 2 +
tests/interactive/test-text-field.c | 9 ++-----
5 files changed, 44 insertions(+), 6 deletions(-)
---
diff --git a/clutter/clutter-event.c b/clutter/clutter-event.c
index f964707..392f1b2 100644
--- a/clutter/clutter-event.c
+++ b/clutter/clutter-event.c
@@ -1594,3 +1594,35 @@ clutter_event_get_angle (const ClutterEvent *source,
return angle;
}
+
+/**
+ * clutter_event_has_shift_modifier:
+ * @event: a #ClutterEvent
+ *
+ * Checks whether @event has the Shift modifier mask set.
+ *
+ * Return value: %TRUE if the event has the Shift modifier mask set
+ *
+ * Since: 1.12
+ */
+gboolean
+clutter_event_has_shift_modifier (const ClutterEvent *event)
+{
+ return (clutter_event_get_state (event) & CLUTTER_SHIFT_MASK) != FALSE;
+}
+
+/**
+ * clutter_event_has_control_modifier:
+ * @event: a #ClutterEvent
+ *
+ * Checks whether @event has the Control modifier mask set.
+ *
+ * Return value: %TRUE if the event has the Control modifier mask set
+ *
+ * Since: 1.12
+ */
+gboolean
+clutter_event_has_control_modifier (const ClutterEvent *event)
+{
+ return (clutter_event_get_state (event) & CLUTTER_CONTROL_MASK) != FALSE;
+}
diff --git a/clutter/clutter-event.h b/clutter/clutter-event.h
index 7a3685c..1fe60c0 100644
--- a/clutter/clutter-event.h
+++ b/clutter/clutter-event.h
@@ -466,6 +466,11 @@ double clutter_event_get_angle (const ClutterEv
gdouble * clutter_event_get_axes (const ClutterEvent *event,
guint *n_axes);
+CLUTTER_AVAILABLE_IN_1_12
+gboolean clutter_event_has_shift_modifier (const ClutterEvent *event);
+CLUTTER_AVAILABLE_IN_1_12
+gboolean clutter_event_has_control_modifier (const ClutterEvent *event);
+
void clutter_event_set_key_symbol (ClutterEvent *event,
guint key_sym);
guint clutter_event_get_key_symbol (const ClutterEvent *event);
diff --git a/clutter/clutter.symbols b/clutter/clutter.symbols
index 7b81918..ef0477d 100644
--- a/clutter/clutter.symbols
+++ b/clutter/clutter.symbols
@@ -652,6 +652,8 @@ clutter_event_get_state
clutter_event_get_type
clutter_event_get_time
clutter_event_get
+clutter_event_has_control_modifier
+clutter_event_has_shift_modifier
clutter_event_new
clutter_event_peek
clutter_event_put
diff --git a/doc/reference/clutter/clutter-sections.txt b/doc/reference/clutter/clutter-sections.txt
index d1e2cde..78918dd 100644
--- a/doc/reference/clutter/clutter-sections.txt
+++ b/doc/reference/clutter/clutter-sections.txt
@@ -1088,6 +1088,8 @@ clutter_event_get_event_sequence
clutter_event_get_angle
clutter_event_get_distance
clutter_event_get_position
+clutter_event_has_control_modifier
+clutter_event_has_shift_modifier
<SUBSECTION>
clutter_event_get
diff --git a/tests/interactive/test-text-field.c b/tests/interactive/test-text-field.c
index b1738c3..74d7120 100644
--- a/tests/interactive/test-text-field.c
+++ b/tests/interactive/test-text-field.c
@@ -34,10 +34,8 @@ on_captured_event (ClutterText *text,
c = clutter_event_get_key_unicode (event);
keyval = clutter_event_get_key_symbol (event);
- if (keyval == CLUTTER_KEY_u)
+ if (keyval == CLUTTER_KEY_U)
{
- ClutterModifierType mods = clutter_event_get_state (event);
-
if (is_unicode_mode)
{
GString *str = g_object_get_data (G_OBJECT (text), "unicode-str");
@@ -54,8 +52,7 @@ on_captured_event (ClutterText *text,
return FALSE;
}
- if ((mods & CLUTTER_CONTROL_MASK) &&
- (mods & CLUTTER_SHIFT_MASK))
+ if (clutter_event_has_control_modifier (event))
{
PangoAttrList *attrs;
PangoAttribute *a;
@@ -99,7 +96,7 @@ on_captured_event (ClutterText *text,
g_string_append (str, buf);
- g_print ("added '%s' to '%s' (len:%d)",
+ g_print ("added '%s' to '%s' (len:%d)\n",
buf,
str->str,
(int) str->len);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]