Re: Is Alpha Channel support in next release plan?



On Sat, 2003-08-02 at 15:53, Tae-young wrote:
> QT can make real transparent window like this..
> http://dor22288.kaist.ac.kr/TransKicker/screenshots/TransKicker2.jpg
> 
> 
> 
> and X can do it too..
> http://www.eax.com/render/screen.png
> 
> 
> 
> TWM can do it also..
> http://keithp.com/~keithp/render/
> 
> 
> 
> ;;;
> But GTK+ can't....

Actually all of the shots you have links to are hacks (some really
nasty).  X11 cannot natively support alpha blending of windows and
widgets.  So far the xrender interface merely blends one pixmap onto
another pixmap and displays it.  The only current way to do it is to
fake it by grabbing a screenshot of what's underneath the window and
then somehow use that as a background image to xrender the image of the
widgets on top of.  Not a good thing.  Also, if there are animations
underneath, they don't come through, since the alpha stuff isn't live.

In short, the widget set (Gtk) is not the place for this right now.  It
has to be in the window system.  For example, if you look at XDirectFB
(which is a X11 server that runs on top of DirectFB, they can do
semi-transparency, since each X window is a DirectFB window which
supports alpha.  In fact, each DirectFB window has it's own backing
store, which eliminates the need to ask the app to redraw itself when a
window moves.

I think that a special OpenGL extension to X11 could be created that
would make this type of thing possible.  If every window was an OpenGL
surface, then each window could have it's own alpha (and other effects),
and perhaps gtk could also do alpha channel on widget drawing.  This
would be very fast on an accelerated X server.  Also, each window has
it's own backing store (a polygon), so bringing a window up or moving a
window is very fast.  If a widget xrendered itself onto the window,
OpenGL would automatically set the alpha value of those pixels in the
window, and transparency would be achieved and acheived right. 
Animations would show through, etc.

Anyway.

Michael


> 
> 
> 
> _______________________________________________
> gtk-devel-list mailing list
> gtk-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-devel-list
-- 
Michael Torrie <torriem chem byu edu>




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