In your code, you are doing.

DFBCHECK (primary->SetColor (primary, 0x0, 0xFF, 0x0, 0x0));

It's RGBA, so, green is 0xFF.

From: Subodh Chiwate [mailto:subodh.chiw...@ufomoviez.com]
Sent: Monday, September 22, 2014 12:03 PM
To: Divneil Rai WADHAWAN; directfb-users@directfb.org
Subject: Re: [directfb-users] Fwd: [directfb-dev] How to make primary surface 
transparent ??

I tried it but still get a green background.
I am using following command line parameters to have this app run as an overlay 
on fb0.

./dfb_alphachannel_demo 
--dfb:fbdev=/dev/fb1,bg-none,quiet,no-cursor,hardware,sync,thrifty-surface-buffers,deinit-check,no-banner,no-trace,no-debug,agp=8,session=3,dma,init-lay
er=0,layer-bg-none,autoflip-window
On 09/22/2014 11:56 AM, Divneil Rai WADHAWAN wrote:
Why didn't you tried clearing the surface? primary->( primary->, 0, 0, 0, 0);

From: 
directfb-users-boun...@directfb.org<mailto:directfb-users-boun...@directfb.org> 
[mailto:directfb-users-boun...@directfb.org] On Behalf Of Subodh Chiwate
Sent: Monday, September 22, 2014 11:38 AM
To: directfb-users@directfb.org<mailto:directfb-users@directfb.org>
Subject: [directfb-users] Fwd: [directfb-dev] How to make primary surface 
transparent ??




-------- Original Message --------
Subject:

[directfb-dev] How to make primary surface transparent ??

Date:

Fri, 19 Sep 2014 19:00:55 +0530

From:

Subodh Chiwate 
<subodh.chiw...@ufomoviez.com><mailto:subodh.chiw...@ufomoviez.com>

To:

<directfb-...@diretfb.org><mailto:directfb-...@diretfb.org>



Hi,

I am trying to make a primary surface transparent, so that I can display

text as timer on the display.

I am trying to overwrite same string with opposite alpha as a hack that

just seems too wrong to do in practice .. :)

Please help.

I am using DFB 1.4 on embedded platform.



#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <unistd.h>

#include <directfb.h>



static IDirectFB *dfb = NULL;

static IDirectFBSurface *primary = NULL;

static int screen_width  = 0;

static int screen_height = 0;

#define DFBCHECK(x...)                                         \

  {                                                            \

    DFBResult err = x;                                         \

                                                               \

    if (err != DFB_OK)                                         \

      {                                                        \

        fprintf( stderr, "%s <%d>:\n\t", __FILE__, __LINE__ ); \

        DirectFBErrorFatal( #x, err );                         \

      }                                                        \

  }



static IDirectFBFont *font = NULL;

static char *text = "DirectFB Rulez !!!";



int main (int argc, char **argv)

{

        int i, width;

        DFBFontDescription font_dsc;

        DFBSurfaceDescription dsc;

        IDirectFBDisplayLayer *videolayer = NULL;



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

        DFBCHECK (DirectFBCreate (&dfb));

        DFBCHECK (dfb->SetCooperativeLevel (dfb, DFSCL_FULLSCREEN));



        dsc.flags = DSDESC_CAPS;

        dsc.caps  =  DSCAPS_SYSTEMONLY | DSCAPS_PRIMARY |

DSCAPS_SUBSURFACE | DSCAPS_STATIC_ALLOC

                    | DSCAPS_INTERLACED | DSCAPS_SEPARATED |

DSCAPS_SHARED | DSCAPS_FLIPPING ;

        DFBCHECK (dfb->CreateSurface( dfb, &dsc, &primary ));

        DFBCHECK (primary->SetPorterDuff(primary,DSPD_DST_OUT));

        DFBCHECK (primary->SetSrcBlendFunction(primary,DSBF_INVSRCCOLOR));

        font_dsc.flags = DFDESC_HEIGHT;

        font_dsc.height = 48;

        DFBCHECK (dfb->CreateFont (dfb,

"/usr/share/directfb-examples/fonts/decker.ttf", &font_dsc, &font));

        DFBCHECK (primary->SetFont (primary, font));

        DFBCHECK (font->GetStringWidth (font, text, -1, &width));

        DFBRectangle tar_rect;

        tar_rect.x = 300 ;

        tar_rect.y = 300;

        tar_rect.w = width ;

        tar_rect.h = 100;

        DFBCHECK (primary->MakeSubSurface(primary,primary,&tar_rect));

        DFBCHECK (primary->GetSize (primary, &screen_width,

&screen_height));

        char str[15];

        int prev= 300;

        for (i = 300; i > 0; i--)

        {

                DFBCHECK (primary->SetColor (primary, 0x0, 0x0, 0x0, 0x0));

                //DFBCHECK (primary->FillRectangle (primary, 0 , 0 ,

width , 100));

                sprintf(str,"%d",prev);

                DFBCHECK (primary->DrawString (primary, str /* text */,

-1, 0, 0, DSTF_TOPLEFT));

                DFBCHECK (primary->Flip (primary, NULL, DSFLIP_WAIT));

                bzero(str,15);

                sprintf(str,"%d",i);

                DFBCHECK (primary->SetColor (primary, 0x0, 0xFF, 0x0,

0x0));

                DFBCHECK (primary->DrawString (primary, str /* text */,

-1, 0, 0, DSTF_TOPLEFT));

                DFBCHECK (primary->Flip (primary, NULL, DSFLIP_WAIT));

                bzero(str,15);

                prev = i;

                usleep(200);

        }

        font->Release (font);

        primary->Release (primary);

        dfb->Release (dfb);

        return 0;

}





--

Regards,

Subodh



_______________________________________________

directfb-dev mailing list

directfb-...@directfb.org<mailto:directfb-...@directfb.org>

http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

.




--

Regards,

Subodh


-- **************** CAUTION - Disclaimer ***************** This e-mail contains 
PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the 
addressee(s). If you are not the intended recipient, please notify the sender 
by e-mail and delete the original message. Further, you are not to copy, 
disclose, or distribute this e-mail or its contents to any other person and any 
such actions are unlawful. This e-mail may contain viruses. UFOMoviez India 
Ltd. has taken every reasonable precaution to minimize this risk, but is not 
liable for any damage you may sustain as a result of any virus in this e-mail. 
You should carry out your own virus checks before opening the e-mail or 
attachment. UFOMoviez India Ltd. reserves the right to monitor and review the 
content of all messages sent to or from this e-mail address. Messages sent to 
or from this e-mail address may be stored on the UFOMoviez India Ltd.'s e-mail 
system. ***************** End of Disclaimer *******************



--

Regards,

Subodh
-- **************** CAUTION - Disclaimer ***************** This e-mail contains 
PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the 
addressee(s). If you are not the intended recipient, please notify the sender 
by e-mail and delete the original message. Further, you are not to copy, 
disclose, or distribute this e-mail or its contents to any other person and any 
such actions are unlawful. This e-mail may contain viruses. UFOMoviez India 
Ltd. has taken every reasonable precaution to minimize this risk, but is not 
liable for any damage you may sustain as a result of any virus in this e-mail. 
You should carry out your own virus checks before opening the e-mail or 
attachment. UFOMoviez India Ltd. reserves the right to monitor and review the 
content of all messages sent to or from this e-mail address. Messages sent to 
or from this e-mail address may be stored on the UFOMoviez India Ltd.'s e-mail 
system. ***************** End of Disclaimer *******************
_______________________________________________
directfb-users mailing list
directfb-users@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users

Reply via email to