HI,
I am writing a test program for multiple layer there is total 5 layers:- Layer (00) OSD (primary layer) Type: GRAPHICS Caps: SURFACE OPACITY ALPHACHANNEL FLICKER_FILTERING SRC_COLORKEY BRIGHTNESS CONTRAST HUE SATURATION ASPECT_MATCH Layer (01) BGND Type: GRAPHICS Caps: SURFACE Layer (02) MainVideo Type: VIDEO Caps: OPACITY SCREEN_LOCATION BRIGHTNESS CONTRAST HUE SATURATION COLOR_SPACE SOURCES SCREEN_POSITION SCREEN_SIZE Sources: Bogus source for main v Layer (03) 2ndVideo Type: GRAPHICS VIDEO Caps: SURFACE OPACITY SCREEN_LOCATION BRIGHTNESS CONTRAST HUE SATURATION COLOR_SPACE LEVELS SOURCES SCREEN_POSITI Sources: Bogus source for second, Bogus source for second Layer (04) SecOSD Type: GRAPHICS Caps: SURFACE OPACITY ALPHACHANNEL SCREEN_LOCATION SRC_COLORKEY BRIGHTNESS CONTRAST HUE SATURATION SCREEN_POSITIO my test program using only 2 layers. That is layer-0 and layer-1. On layer-1 i want to draw a 720*576 image and on layer-0 i want to draw 6 small images (142*97). when i am doing so i am getting undesired result that are:- 1. When i draw small image on layer-0 it first drawing all six images at center point of screen and on blitting it shift to desire position and center image still there. 2. It showing cursor on layer-0, even cursor is disabled. for your convience i am giving source code below:- if(layerid==0){ DFBCHECK(dfb1->GetDisplayLayer( dfb1, 1, &dfblayer[layerid] )); dfblayer[layerid]->SetCooperativeLevel( dfblayer[layerid], DLSCL_ADMINISTRATIVE ); dfblayer[layerid]->GetConfiguration(dfblayer[layerid], &layer_config ); DFBSurfaceDescription desc; DFBCHECK(dfb1->CreateImageProvider( dfb1, image1, &provider )); desc.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_CAPS; desc.width = layer_config.width; desc.height = layer_config.height; dfblayer[layerid]->GetSurface(dfblayer[layerid],&bgsurface); provider->RenderTo( provider, bgsurface, NULL ); provider->Release( provider ); DFBCHECK (bgsurface->Flip (bgsurface, NULL, DSFLIP_WAITFORSYNC)); } else{ DFBDisplayLayerConfig layer_config1; DFBCHECK(dfb1->GetDisplayLayer( dfb1, 0, &dfblayer[layerid] )); dfblayer[layerid]->SetCooperativeLevel( dfblayer[layerid], DLSCL_ADMINISTRATIVE ); dfblayer[layerid]->SetBackgroundColor(dfblayer[layerid],0,0,0,0); dfblayer[layerid]->EnableCursor(dfblayer[layerid],0); dfblayer[layerid]->WarpCursor(dfblayer[layerid], -100, -100); dfblayer[layerid]->SetOpacity(dfblayer[layerid],0xFF); dfblayer[layerid]->GetConfiguration(dfblayer[layerid], &layer_config1 ); dfblayer[layerid]->GetSurface(dfblayer[layerid],&bgsurface); for( j=1,k=80;j<=3;j++,k+=213) { DFBSurfaceDescription desc1; DFBCHECK(dfb1->CreateImageProvider( dfb1, img[j], &provider )); desc1.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_CAPS; desc1.width = 142; desc1.height = 97; desc1.pixelformat = DSPF_ARGB; DFBCHECK (dfb1->CreateSurface( dfb1, &desc1, &logo )); DFBCHECK (provider->RenderTo (provider, logo, NULL)); provider->Release( provider ); DFBCHECK(bgsurface->SetBlittingFlags(bgsurface,DSBLIT_BLEND_ALPHACHANNEL)); DFBCHECK(bgsurface->SetPorterDuff(bgsurface,DSPD_SRC_OVER)); DFBCHECK (bgsurface->Blit (bgsurface, logo, NULL, k, 113 )); DFBCHECK (bgsurface->SetBlittingFlags(bgsurface,DSBLIT_NOFX)); DFBCHECK (bgsurface->SetPorterDuff(bgsurface , DSPD_NONE )); logo->Release(logo); } for( j=1,k=160;j<=3;j++,k+=213) { DFBSurfaceDescription desc1; DFBCHECK(dfb1->CreateImageProvider( dfb1, img[j], &provider )); desc1.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_CAPS; desc1.width = 142; desc1.height = 97; desc1.pixelformat = DSPF_ARGB; DFBCHECK (dfb1->CreateSurface( dfb1, &desc1, &logo )); DFBCHECK (provider->RenderTo (provider, logo, NULL)); provider->Release( provider ); DFBCHECK(bgsurface->SetBlittingFlags(bgsurface,DSBLIT_BLEND_ALPHACHANNEL)); DFBCHECK(bgsurface->SetPorterDuff(bgsurface,DSPD_SRC_OVER)); DFBCHECK (bgsurface->Blit (bgsurface, logo, NULL, k, 113 )); DFBCHECK (bgsurface->SetBlittingFlags(bgsurface,DSBLIT_NOFX)); DFBCHECK (bgsurface->SetPorterDuff(bgsurface , DSPD_NONE )); logo->Release(logo); } DFBCHECK (bgsurface->Flip (bgsurface, NULL, DSFLIP_WAITFORSYNC)); } -- 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