Re: gtk_widget_draw()
- From: Benjamin Otte <otte gnome org>
- To: Havoc Pennington <hp pobox com>
- Cc: gtk-devel-list <gtk-devel-list gnome org>
- Subject: Re: gtk_widget_draw()
- Date: Tue, 10 Aug 2010 01:59:47 +0200
On Mon, Aug 9, 2010 at 6:46 PM, Havoc Pennington <hp pobox com> wrote:
> How would we handle widgets that currently have multiple windows and
> draw different things to each one (i.e. the expose handler is looking
> at the window in the expose event).
> For example GtkTextView
>
I'm not entirely sure yet. I want to guarantee two semantics:
1) The stuff looks correct on screen.
This one is a no-brainer. It should also be fast.
2) Calling gtk_widget_draw() draws all child widgets, even if they
have custom windows.
This is necessary, because nobody will like just getting a grey box
when the contained widgets all have custom windows. And I don't like
the whole just-paint-all-windows-one-after-another code in
gtk_widget_snapshot() at all.
My current idea on how to implement it is to give the widgets a hint
as to wether they are repainting a window or wether they are painting
to something else. Something like gdk_cairo_get_current_window() which
would return the currently invalidating GdkWindow or NULL. That would
basically replace event->window and then all you need to do is check
that the order of the draw calls is the window's stacking order and
you're all set.
Though I guess the exact implementation would depend on our changes to
GDK and the way we treat csw in GTK 3.
Benjamin
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]