MVallevand wrote:
> On Feb 12, 2008 8:49 PM, MVallevand <[EMAIL PROTECTED]> wrote:
>> On Feb 12, 2008 8:27 PM, Denis Oliver Kropp <[EMAIL PROTECTED]> wrote:
>>> You might wanna set the configuration, at least to set ARGB for transparency
>>> over video (assuming an STB kind of device). Please run dfbinfo.
> 
> Still no luck but also no errors while it runs. The init looks much
> cleaner and I now think I understand what is going on. It also works
> with my previous manual code for updating primary which is a great.
> 
>       DFBCHECK(DirectFBInit( &argc, &argv ));
>       DFBCHECK(DirectFBCreate( &dfb ));
>       DFBCHECK(dfb->GetDisplayLayer( dfb, DLID_PRIMARY, &osd_layer ));
>       osd_layer->SetCooperativeLevel(osd_layer, DLSCL_EXCLUSIVE);

I saw that DLOP_OPACITY is not supported according to the dfbinfo Output,
but DLOP_ALPHACHANNEL is there. Try adding the following here:

config.flags   = DLCONF_OPTIONS;
config.options = DLOP_ALPHACHANNEL;

DFBCHECK(osd_layer->SetConfiguration(osd_layer, &config ));

If that's not enough you might need to set a pixel format with alpha, too.

>       DFBCHECK(osd_layer->GetSurface(osd_layer, &primary ));
> -     osd_layer->SetOpacity( osd_layer, 0 );

You should add the Clear() here instead of SetOpacity().

>       DFBCHECK(dfb->GetDisplayLayer( dfb, 1, &bgnd_layer ));
>       DFBCHECK(bgnd_layer->SetCooperativeLevel(bgnd_layer, DLSCL_EXCLUSIVE));
>       bgnd_layer->SetOpacity( bgnd_layer, 255);
>       DFBCHECK(bgnd_layer->GetSurface(bgnd_layer, &secondary));
> 

Please run dfblayer to query the default configuration.

-- 
Best regards,
   Denis Oliver Kropp

.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/                 |
"------------------------------------------"

_______________________________________________
directfb-users mailing list
directfb-users@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users

Reply via email to