On 16 February 2011 04:48, Rendaw <ren...@zarbosoft.com> wrote:
> As a side note, does gdk_window_process_updates() preserve mouse motion
> events when the MOTION_HINT mask is set?  I also had motion event queuing
> problems (I would stop moving the mouse but the screen would continually
> redraw for a few seconds until it had caught up) before I moved the
> gtk_adjustment_set_value()'s out of the motion handling code and into a
> g_idle_add callback.

I don't know how to get silky diagonal scrolling easily, but I can
help here (I think). The solution I found was to calculate all mouse
movement relative to the root window, not the window being scrolled.

In the motion event, there are a couple of fields called x_root and
y_root. Record these on button down together with the scroll position
of the underlying window, then during motion, scroll the window to the
position found by subtracting the start x_root from the current x_root
plus the original x.

This makes these feedback effects (which can be bizarre and horrible)
impossible.

John
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to