Composite application usage question

Carsten Haitzler (The Rasterman) raster at rasterman.com
Mon Aug 21 00:47:36 PDT 2006


On Mon, 21 Aug 2006 00:07:47 -0700 Gautam Iyer <gautam at math.stanford.edu>
babbled:

> On Mon, Aug 21, 2006 at 10:42:01AM +0900, Carsten Haitzler wrote:
> 
> > > I'd like to do the following: I want a translucent window, but the text
> > > in that window to be opaque (or at least less translucent). It's for a
> > > terminal emulator (mrxvt).
> > > 
> > >     1. Is it possible using libXcomposite?
> > > 
> > >     2. How? I found very little documentation out there. Just the
> > >        protocol specification (which is not easy to understand), and the
> > >        header files.
> > > 
> > > Is there some secret tutorial on using Xcomposite which would help me?
> > > Also if one of you Xorg gurus knows how to do the above, and can briefly
> > > tell me, I'd be most grateful.
> > > 
> > > Thanks in advance,
> > 
> > you need to
> > 1. know if  composite manager is running or not. if it is not your
> > alpha channel games will have no effect. netwm has new shiny standards
> > for this - but are not honored much yet.
> > 2. create an argb32 visual window
> > 3. fill the window in with pixels such as the high byte is your alpha
> > channel.
> 
> Hi Carsten,
> 
> Thanks for your pointers. Number 3. above will be problematic: For
> instance when we draw text using Xft, I need to find some way to tell it
> to set the alpha map. Also I might have to modify every instance of
> XDrawLine etc (unless there's some easier way).
> 
> > i could point at some code i wrote that does this and does all the
> > rendering etc. - but u:d need to dig thru quite a mountain (in evas -
> > more in ecore etc. in enlightenment's cvs repository) ... and i don't
> > have time to dig right now - hopefully the above will get you started
> > though.
> 
> I sure wouldn't mind looking at your code :). I'm a little clueless
> about this right now, so having something to guide me would be helpful.
> 
> You mean the applications "evas" and "ecore" (whatever they are) right?

they are libraires actually - rather largish. in the e17 cvs module.

e17/libs/ecore
e17/libs/evas

u will find core in ecore in src/lib/ecore_x and src/lib/ecore_evas

that pertains to xrender and argb visuals.

you will want to look at the xrender engine in evas
(src/modules/engines/xrender_x11) that sets up xrender pictures and can handle
argb destinations. the software engine handles this too but since it does all
its own rendering entirely in software - its a different kettle of fish.

i cant really go digging out all the calls u need atm - at work and stuff :(

> Thanks,
> 
> GI
> 
> -- 
> Twenty five sure signs you're a Bombayite:
> 19. You have 14 different menus of Free Home Deliveries next to your
> telephone.
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    raster at rasterman.com
裸好多
Tokyo, Japan (東京 日本)



More information about the xorg mailing list