summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiovanni Campagna <gcampagn@redhat.com>2013-08-14 16:49:00 +0200
committerGiovanni Campagna <gcampagn@redhat.com>2013-09-09 13:18:19 +0200
commit0db9075562550fd1018b9af694b27d499d9dbe52 (patch)
tree4b085c26a877c4876d4c0ace969d301e911c9bc1
parentb73f5130917cc2fba19733317ae5bbc9474dd6f0 (diff)
downloadclutter-0db9075562550fd1018b9af694b27d499d9dbe52.tar.gz
ClutterInputDevice: add new API for querying the modifier state
This way, the full state of the device is exposed. https://bugzilla.gnome.org/show_bug.cgi?id=706494
-rw-r--r--clutter/clutter-input-device.c19
-rw-r--r--clutter/clutter-input-device.h2
-rw-r--r--clutter/clutter.symbols1
3 files changed, 22 insertions, 0 deletions
diff --git a/clutter/clutter-input-device.c b/clutter/clutter-input-device.c
index 2e3afee30..38f7fd737 100644
--- a/clutter/clutter-input-device.c
+++ b/clutter/clutter-input-device.c
@@ -467,6 +467,25 @@ _clutter_input_device_set_state (ClutterInputDevice *device,
device->current_state = state;
}
+/**
+ * clutter_input_device_get_modifier_state:
+ * @device: a #ClutterInputDevice
+ *
+ * Retrieves the current modifiers state of the device, as seen
+ * by the last event Clutter processed.
+ *
+ * Return value: the last known modifier state
+ *
+ * Since: 1.16
+ */
+ClutterModifierType
+clutter_input_device_get_modifier_state (ClutterInputDevice *device)
+{
+ g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (device), 0);
+
+ return device->current_state;
+}
+
/*< private >
* clutter_input_device_set_time:
* @device: a #ClutterInputDevice
diff --git a/clutter/clutter-input-device.h b/clutter/clutter-input-device.h
index 1a5a4a1c5..40edadfee 100644
--- a/clutter/clutter-input-device.h
+++ b/clutter/clutter-input-device.h
@@ -56,6 +56,8 @@ CLUTTER_AVAILABLE_IN_1_12
gboolean clutter_input_device_get_coords (ClutterInputDevice *device,
ClutterEventSequence *sequence,
ClutterPoint *point);
+CLUTTER_AVAILABLE_IN_1_16
+ClutterModifierType clutter_input_device_get_modifier_state (ClutterInputDevice *device);
ClutterActor * clutter_input_device_get_pointer_actor (ClutterInputDevice *device);
ClutterStage * clutter_input_device_get_pointer_stage (ClutterInputDevice *device);
const gchar * clutter_input_device_get_device_name (ClutterInputDevice *device);
diff --git a/clutter/clutter.symbols b/clutter/clutter.symbols
index 155bbfee5..a397d3176 100644
--- a/clutter/clutter.symbols
+++ b/clutter/clutter.symbols
@@ -855,6 +855,7 @@ clutter_input_device_get_has_cursor
clutter_input_device_get_key
clutter_input_device_get_n_axes
clutter_input_device_get_n_keys
+clutter_input_device_get_modifier_state
clutter_input_device_get_pointer_actor
clutter_input_device_get_pointer_stage
clutter_input_device_get_slave_devices