Hi,

I saw that the name GtkTransparent is not good.
I should select a better name like GtkCustomShape or some
other name. Sorry.


Regards,
--
kou

2006/7/13, Gustavo J. A. M. Carneiro <[EMAIL PROTECTED]>:
> On Qua, 2006-07-12 at 23:47 +0900, Kouhei Sutou wrote:
> > Hi,
> >
> > In <[EMAIL PROTECTED]>
> >   "Re: GtkTransparent" on Wed, 12 Jul 2006 14:59:24 +0100,
> >   "Gustavo J. A. M. Carneiro" <[EMAIL PROTECTED]> wrote:
> >
> > >   Can you stack GtkTransparent widgets?
> >
> > Yes.
> >
> > > If so, does it have the expected result with translucency?
> >
> > Yes. See this screenshot:
> >   http://pub.cozmixng.org/~kou/images/screenshot-gtktransparent.png
>
>   This screenshot doesn't show translucency, only shaped widgets.
>
> >
> > > If so, does it work correctly even with non-composite
> > > aware X servers (most of them so far)?
> >
> > Yes if gtk_widget_shape_combine_mask() can work with
> > non-composite aware X servers.
>
>   shape_combine_mask only works with bit bitmap masks; you can't get
> translucency (alpha blending).
>
> >
> > > What about performance; does each widget require a
> > > separate X11 window?
> >
> > No. GtkTransparent uses gtk_widget_shape_combine_mask().
>
>   I see that it draws to the container window; but you still have one
> bitmap per widget.
>
>   If a widget draws in the parent window it should pay very much
> attention to allocation.x and allocation.y.  I couldn't see this in your
> examples (a bug?) and it could complicate matters a bit more.  Of course
> the API could transparently do a translation so that programmers don't
> have to deal with it, same as a canvas system would do.
>
> >
> > >   And I'm not convinced that writing a gtk+ widget from scratch is
> > > easier than writing a canvas item...
> >
> > You can only implement expose-event callback. You don't need
> > to write your GTK+ widget from scratch.
>
>   With a canvas system -- if done right -- you also only need to
> implement a sort of expose event callback.
>
>   Anyway, I'm not saying that widgets is inherently worse than canvas
> items, it's just that widgets usually tend to have X11 resources
> associated, and so if you have a hundreds of widgets with only a few
> inside the scrollable area the cost can be very high compared to a
> canvas system, in which canvas items only have client-side resources
> exclusively.
>
>   There have been some discussions (havoc IIRC) regarding willingness to
> have gtk+ widget system work more like a canvas, i.e. a single window,
> all widgets drawing to the same toplevel window, etc.  That could an
> interesting scenario; I hope it gets considered for gtk+ 3.0...
>
>   Regards.
>
> --
> Gustavo J. A. M. Carneiro
> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]>
> The universe is always one step beyond logic.
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list

Reply via email to