+2008-09-15 Emmanuele Bassi <emmanuele.bassi@intel.com>
+
+ Bug 1114 - Mouse wheel events ignored in GtkClutterEmbed
+
+ * clutter-gtk/gtk-clutter-embed.c:
+ (gtk_clutter_embed_scroll_event),
+ (gtk_clutter_embed_class_init): Add relaying of the scroll
+ events from GTK+ to Clutter. (Pierre-Luc Beaudoin)
+
2008-08-05 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-gtk/gtk-clutter-embed.c:
return FALSE;
}
+static gboolean
+gtk_clutter_embed_scroll_event (GtkWidget *widget,
+ GdkEventScroll *event)
+{
+ GtkClutterEmbedPrivate *priv = GTK_CLUTTER_EMBED (widget)->priv;
+
+ ClutterEvent cevent = { 0, };
+
+ if (event->type == GDK_SCROLL)
+ cevent.type = cevent.scroll.type = CLUTTER_SCROLL;
+ else
+ return FALSE;
+
+ cevent.any.stage = CLUTTER_STAGE (priv->stage);
+ cevent.scroll.x = (gint) event->x;
+ cevent.scroll.y = (gint) event->y;
+ cevent.scroll.time = event->time;
+ cevent.scroll.direction = event->direction;
+ cevent.scroll.modifier_state = event->state;
+
+ clutter_do_event (&cevent);
+
+ return FALSE;
+}
+
static void
gtk_clutter_embed_class_init (GtkClutterEmbedClass *klass)
{
widget_class->expose_event = gtk_clutter_embed_expose_event;
widget_class->map_event = gtk_clutter_embed_map_event;
widget_class->focus_out_event = gtk_clutter_embed_focus_out;
+ widget_class->scroll_event = gtk_clutter_embed_scroll_event;
}
static void