I've asked this question on several Gtk forums on previous occasions, but never got much of a response. As this list seems a bit more active, perhaps my luck will be better here. I'm trying to implement a zoomable + scrollable window which remains centered on the same point while it zooms. To this end, I have the following hierarchy: vbox scrolled_window draw_area hscale Now, I've set the callback on the hscale to call set_size_request on the draw_area. The notion is that "zooming" is simply making the internals of the scrolled window larger. In order to maintain focus on the same area, I have a "percentage" variable visible to both the "value-changed" and "changed" handlers on the horizontal and vertical scrollbars. (They each have their own percentage.) Whenever value-changed is called, the percentage of the bounds is updated. Whenever changed is called, the value is *also* updated along with the bounds, using the known percentage. This all works pretty well. However, I drag the hscale zoom control around, the drawn figure appears to "stutter" between the proper position and some offset relative to the speed at which I'm dragging it. I can only assume a draw is taking place between when the draw_area's notion of it's upper-left is changed, and when it's notion of what part is visible is changed. I've tried to avoid this by setting a flag indicating a zoom adjustment is in progress (so don't draw), but it's still happening. So the question is, when is a zoom adjustment "finished"? Right now, I'm assuming it's done after both scrollbars' value-changed signal is called. But perhaps I should be keying off a signal from the draw-area itself instead? I don't know the signal kickoff sequence well enough to figure this out. _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list