Ville Syrjälä <[EMAIL PROTECTED]> wrote on 11/19/2005, 09:37:56 AM: > On Sat, Nov 19, 2005 at 02:06:01AM +0100, [EMAIL PROTECTED] wrote: > > > > Hello, > > > > I am writing a small program for leisure in C++ using DirectFB. There > > is a Canvas class that has a Window with a Surface. The Surface acts as > > the screen layer, that all drawing and blitting is performed upon. I > > also have an Object class that contains a Surface. The idea is to have > > several child Objects that are blitted in order to the Canvas Surface. > > I have been successful with Image Objects, but have run into a problem > > when writing a Text Object. When creating a Surface for the Text > > Object, I have been unsuccessful in making it completely transparent, > > and drawing text to it. I have tried Surface->Clear(Surface, 0, 0, 0, > > 0); but this simply makes the surface opaque and black, it seems > > unresonsive to the Alpha argument of clear. I have fumbled around > > trying many different things, but still no success. I'm not even sure > > if it is the Text Object's Surface that is the problem, or the blitting > > of the surface to the Canvas Surface. Any help would be much appreciated > > ! > > You should first examine the text object's surface to see if the alpha > values are ok. You can simply use Lock()/Unlock() or you can dump the > surface to an image file with IDirectFBSurface::Dump(). > > Oh and if you're using hardware acceleration I recommend you try it with > the no-hardware option. > > -- > Ville Syrjälä > [EMAIL PROTECTED] > http://www.sci.fi/~syrjala/
I've confirmed that the Object surfaces contain alpha layers. The problem I have encountered now is while Blitting these surfaces to the window surface, pixels with values between completely transparent and completely opaque affect the window surface's alpha layer. I have read the mailing list archives and found Rasterman running into the same problem, however he never received a response, that I could find anyway. http://www.directfb.org/index.php/mailinglists/directfb-dev/2002/11-2002/msg00129.html I have thought about Lock()ing the surface and manually blending all other surfaces, but I'd rather not if I am simply missing a BlendingFunction or something along those lines. Any help on this issue would be greatly appreciated. -Christopher Roberts _______________________________________________ directfb-dev mailing list [email protected] http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev
