Viewport diagonal scrolling redraw



Hello,
It looks like gtk_viewport_adjustment_value_changed() calls gdk_window_process_updates... is that necessary? I'm trying to scroll a large (cairo drawn) image in a scrolledwindow diagonally on an older system, and I call gtk_adjustment_set_value() on each scrollbar with the new positions, and my expose callback gets called twice. I can handle laggy diagonal motion, but semi-fast interleaved vertical and horizontal jumps make me nauseus.
I could, I guess, use a raw GtkViewport and call gdk_window_move on the 
bin_window or something myself, but that seems a bit ugly.
Is there some straightforward way to avoid this problem?  Or I might be 
misunderstanding things completely.
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.
Thanks!
Rendaw




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]