Re: gtk_widget_draw()



On Thu, Aug 19, 2010 at 10:08 AM, Alexander Larsson <alexl redhat com> wrote:
> The problem with no-window widgets is not really for the no-window
> widget, but rather that all parents must have special expose code that
> chains to the no-window widgets. If we want to clean up the drawing code
> this is kinda ugly.
>
I think this is a crucial question we need to answer about future GTK/GDK:
Who should be responsible for chaining up to children?
(Note that this question is not just interesting for drawing, but also
relevant for event handling.)

Currently everybody does at most half of this job: GDK does it for
windows, GTK does it for drawing on no-window widgets (with
gtk_container_propagate_expose()). GtkWindow does it for key presses.

In my ideal world, the containers are responsible for bubbling up
drawing commands and events. For gtk_widget_draw(), this is pretty
much a requirement. Otherwise we'd need to duplicate the GDK
functionality into that function (just lik gtk_widget_get_snapshot()
does now).
Also, relegaing this job to Gtk allows much more flexibility in
creating widgets because one is not bound by the limitations of GDK as
one translates events oneself. So things like Coverflows get possible.

Benjamin


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