I tried the said, an got a litte further. I now can see the video layer
at (-1)  through the graphics surface (using SetOpacity().

I needed to set the DLOP_OPACITY and to open the IDirecFB in
DFSCL_EXCLUSIVE mode.


You want the video layer below the graphics layer (which you've got) and you
want the graphics layer to have an alpha channel.  You need to use
DLOP_ALPHACHANNEL on the graphics (primary) layer and not use DLOP_OPACITY
at all: OPACITY is used to set a global alpha value for the whole layer.
The unichrome does not support both at the same time.

Further, you will need to use the DSPF_AiRGB pixel format for your graphics
layer because the hardware inverts the alpha value when you put the overlay
underneath (unfortunately).  This will mean some hardware acceleration of
blending is lost but I see you were using BACKSYSTEM anyway so would not
have been benefiting from that in the first place (another option is to work
in ARGB and convert as a separate step but that's no help if you're using
windows).

Regards,

Mark
_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users

Reply via email to