OK. It works.
IDirectFBDisplayLayer * osd_layer = NULL;
if( (dfberr = super_interface->GetDisplayLayer(super_interface, 0,
&osd_layer)) != DFB_OK )
{ DirectFBErrorFatal( "GetDisplayLayer()", dfberr); }
int level;
if( (dfberr = osd_layer->GetLevel( osd_layer, &level )) != DFB_OK )
{ DirectFBErrorFatal( "GetLevel()", dfberr); }
printf("%d\n", level );
if( (dfberr = osd_layer->SetCooperativeLevel( osd_layer,
DLSCL_EXCLUSIVE)) != DFB_OK )
{ DirectFBErrorFatal( "SetLevel()", dfberr); }
level = 2;
if( (dfberr = osd_layer->SetLevel( osd_layer, level )) != DFB_OK )
{ DirectFBErrorFatal( "SetLevel()", dfberr); }
if( (dfberr = osd_layer->SetCooperativeLevel( osd_layer, DLSCL_SHARED))
!= DFB_OK )
{ DirectFBErrorFatal( "SetLevel()", dfberr); }
if( (dfberr = osd_layer->GetLevel( osd_layer, &level )) != DFB_OK )
{ DirectFBErrorFatal( "GetLevel()", dfberr); }
printf("%d\n", level );
It works ok if I set level to 0, 1, 2, 3.
If I try to set level to eg 4, -1 I got error while program runs:
(#) DirectFBError [SetLevel()]: Invalid argument!
So how to know what level may I set for layer in my device? Are they any
rules, or is it specific for device?
----------------------------------------------------------------------
Bezplatne konto i limit do 100 tys. Otwierasz?
http://link.interia.pl/f2342
_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users