On Sat, Sep 11, 2010 at 7:05 PM, Havoc Pennington <h...@pobox.com> wrote: > I'm looking at gtk_scale_draw for example on your branch > http://git.gnome.org/browse/gtk+/tree/gtk/gtkscale.c?h=rendering-cleanup-next#n1159 > gtk_scale_get_layout_offsets() returns values relative to widget->window, so takes into account the allocation.
This is actually a rather ugly situation right now: Everything in the widget but the draw function (key press events etc) uses coordinates relative to the GdkWindow, only the draw function doesn't. So when calling internal get_offsets() style APIs, the draw function always has to subtract the allocation again. I cannot really change the behavior though, because when calling gtk_widget_draw() the widget needs to paint the contents of all GDK windows it owns, so the drawing needs to be relative to oe point, not multiple different ones (the origins of all the windows). And I think it's best to rely on allocation.x/y, even if all the other events don't. Benjamin _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list