summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2015-11-17 17:40:30 +0100
committerCarlos Garnacho <carlosg@gnome.org>2015-11-18 12:59:05 +0100
commitdfc749e576584c9ea6ad0aac739683e8ac64ea84 (patch)
tree4f019fd07d4249761aa5810e6a2b3295b0dd3059
parent4115f215aca5b4b9fe7dd6b32e66f81d12c1176f (diff)
downloadclutter-dfc749e576584c9ea6ad0aac739683e8ac64ea84.tar.gz
evdev: Implement the ClutterEventExtender interface
This will allow the ClutterDeviceManagerEvdev to define evdev-specific event data. https://bugzilla.gnome.org/show_bug.cgi?id=758238
-rw-r--r--clutter/evdev/clutter-device-manager-evdev.c31
1 files changed, 28 insertions, 3 deletions
diff --git a/clutter/evdev/clutter-device-manager-evdev.c b/clutter/evdev/clutter-device-manager-evdev.c
index ac5ea93ad..50df6f5ce 100644
--- a/clutter/evdev/clutter-device-manager-evdev.c
+++ b/clutter/evdev/clutter-device-manager-evdev.c
@@ -144,9 +144,14 @@ struct _ClutterDeviceManagerEvdevPrivate
GSList *event_filters;
};
-G_DEFINE_TYPE_WITH_PRIVATE (ClutterDeviceManagerEvdev,
- clutter_device_manager_evdev,
- CLUTTER_TYPE_DEVICE_MANAGER)
+static void clutter_device_manager_evdev_event_extender_init (ClutterEventExtenderInterface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (ClutterDeviceManagerEvdev,
+ clutter_device_manager_evdev,
+ CLUTTER_TYPE_DEVICE_MANAGER,
+ G_ADD_PRIVATE (ClutterDeviceManagerEvdev)
+ G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_EVENT_EXTENDER,
+ clutter_device_manager_evdev_event_extender_init))
static ClutterOpenDeviceCallback device_open_callback;
static ClutterCloseDeviceCallback device_close_callback;
@@ -178,6 +183,26 @@ static const char *option_xkb_layout = "us";
static const char *option_xkb_variant = "";
static const char *option_xkb_options = "";
+static void
+clutter_device_manager_evdev_copy_event_data (ClutterEventExtender *event_extender,
+ const ClutterEvent *src,
+ ClutterEvent *dest)
+{
+}
+
+static void
+clutter_device_manager_evdev_free_event_data (ClutterEventExtender *event_extender,
+ ClutterEvent *event)
+{
+}
+
+static void
+clutter_device_manager_evdev_event_extender_init (ClutterEventExtenderInterface *iface)
+{
+ iface->copy_event_data = clutter_device_manager_evdev_copy_event_data;
+ iface->free_event_data = clutter_device_manager_evdev_free_event_data;
+}
+
/*
* ClutterEventSource for reading input devices
*/