Hi,

modify you code as follows.


   DFBCHECK(DirectFBInit(&argc, &argv));

/* add this call  to disable the background */

   DirectFBSetOption ("bg-none", NULL);

   DFBCHECK(DirectFBCreate(&dfb));


On Wed, Jan 5, 2011 at 11:16 AM, aashish bhanawat <joy.ka...@gmail.com>wrote:

> Hi,
>
>
> I am playing a video using native call(Not directfb). I created a primary
> surface.and draw a image. When i clearing the image using FillRectangle i am
> getting a black patch. I want to clear using transparency means on clear i
> should able to see video rather than black patch. How can i achieve this?
>
>
> Here is code snippet:-
>
> /* Creating primary surface */
>         dsc.flags = DSDESC_CAPS | DSDESC_PIXELFORMAT;
>         dsc.pixelformat = DSPF_ARGB;
>         dsc.caps  = DSCAPS_PRIMARY | DSCAPS_FLIPPING;
>         DFBCHECK (dfb->CreateSurface( dfb, &dsc, &pFrameBuffer ));
>
> /* Drawing Image */
>         dfb->CreateImageProvider(dfb, img, &provider);
>         provider->GetSurfaceDescription(provider, &sDesc);
>         sDesc.flags = DSDESC_PIXELFORMAT | DSDESC_WIDTH | DSDESC_HEIGHT;
>
>         sDesc.width = 200;
>         sDesc.height = 200;
>         sDesc.pixelformat = DSPF_ARGB;
>
>         dfb->CreateSurface(dfb, &sDesc,&imgSurface);
>         imgSurface->Clear(imgSurface, 0x00, 0x00, 0x00, 0xFF);
>         provider->RenderTo(provider, imgSurface, NULL);
>         provider->Release(provider);
>
> pFrameBuffer->SetBlittingFlags(pFrameBuffer,DSBLIT_BLEND_ALPHACHANNEL);
>         pFrameBuffer->SetPorterDuff(pFrameBuffer,DSPD_SRC_OVER);
>         pFrameBuffer->Blit(pFrameBuffer, imgSurface, NULL, 200, 200);
>         pFrameBuffer->SetBlittingFlags(pFrameBuffer,DSBLIT_NOFX);
>         pFrameBuffer->SetPorterDuff(pFrameBuffer , DSPD_NONE);
>         DFBCHECK(pFrameBuffer->Flip(pFrameBuffer, NULL,
> DSFLIP_WAITFORSYNC));
>         DFBCHECK(pFrameBuffer->Flip(pFrameBuffer, NULL, 0));
>
> /* Clear screen */
>         //pFrameBuffer->SetDrawingFlags(pFrameBuffer, DSDRAW_BLEND); //I
> tried this also but success
>         //pFrameBuffer->SetPorterDuff(pFrameBuffer,DSPD_SRC_OVER);
>         DFBCHECK(pFrameBuffer->SetColor(pFrameBuffer,0xFF,0x00,0x00,0xFF));
>         DFBCHECK(pFrameBuffer->FillRectangle(pFrameBuffer, 200, 200, 200,
> 200));
>         DFBCHECK(pFrameBuffer->Flip(pFrameBuffer, NULL,
> DSFLIP_WAITFORSYNC));
>         DFBCHECK(pFrameBuffer->Flip(pFrameBuffer, NULL, 0));
>
>
> --
> JOY
>
> Never expect things to happen..  struggle and make them happen.
> never expect yourself to be given a good value create a value of your own
>
> _______________________________________________
> directfb-users mailing list
> directfb-users@directfb.org
> http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users
>
>


-- 
*
"If you ask a question - you will be a fool for 5 minutes, otherwise
ignorant for rest of your life"
*
_______________________________________________
directfb-users mailing list
directfb-users@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users

Reply via email to