Here are some unsorted, initial impressions from looking over the gesture branch. I've also tried the wip/gesture branches of eog and evince - they work quite nicely.
The class hierarchy I see: GtkEventController (abstract) GtkGesture (abstract) GtkGestureSingle (abstract) GtkGestureDrag GtkGestureLongPress GtkGestureMultiPress GtkGestureSwipe GtkGestureRotate GtkGestureZoom What other uses are there for GtkEventController, if the widget api is now using GtkGesture ? Is it worth keeping this base class around ? It would be good to write a high-level explanation of how events are handled now, highlighting the changes. one way to do it would be to update the comment above gtk_main_do_event - it needs updates anyway. Doesn't it do violence to grab semantics if the capture phase runs all the way from the top ? The case for ENTER/LEAVE looks at the sensitivity of the grab_widget before propagating the event - I think the logic there needs to be changed to always propagate, regardless of the grab_widget sensitivity. The long press gesture is always using the default delay - that should probably be a property ? The swipe gesture is a subclass of GtkGestureSingle - aren't there two-finger swipes, or is that not a useful distinction ? GtkPressAndHold should probably be replaced by GtkGestureLongPress. Comparing to ClutterAction, I see ClutterPanAction and ClutterTapAction that have no equivalent yet. It seems slightly complicated that gtk_widget_add_gesture() takes a GtkPropagationPhase as argument. clutter_actor_add_action doesn't have that. Should gtk_widget_add_gesture update the event mask ? Does the order of event controllers in a widget matter ? (gtk_widget_add_gesture prepends them) It would be good to see an example of a gesture implementation that provides feedback/updates while the gesture is in progress - e.g. drag up from a spinbutton entry and have the spinbutton tick up while I keep holding. Or a long press with a 'timer' animation. What is the ideal end state for this work ? All mouse and touch events are handled by event controllers, and there are no more button_press/release_event handlers anywhere ? Do we envision applications to have custom gestures ? Any plausible examples for that ? If yes, it would be good to have an example for a custom gesture implementation. If not, we can probably save quite a bit of API that is only relevant for subclassing. _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-devel-list