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); DFBCHECK(osd_layer->GetSurface(osd_layer, &primary )); osd_layer->SetOpacity( osd_layer, 0 ); 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)); however the following still doesn't display anything on secondary (u16) *dst; if (secondary->Lock(secondary, DSLF_WRITE, (void**)(&dst), &pitch) ==DFB_OK) { int i,j,pitch; unsigned char y0,y1,u,v,r,g,b; for (i=0;i<h;i++) { for (j=0;j<pitch/2;j+=2) { y0 = *ptr1++; y1 = *ptr1++; u = *ptr2++; v = *ptr2++; *(dst+j) = (u16) PIXEL_UYVY(y0,u,v); *(dst+j+1) = (u16) PIXEL_UYVY(y1,u,v); } dst += pitch/2 ; } secondary->Unlock (secondary); // primary->Blit(primary,secondary,NULL,0,0); } Martin _______________________________________________ directfb-users mailing list directfb-users@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users