Hi Tomasz.
You can check if your layer supports setting the level with
IDirectFBDisplayLayer::GetDescription().
Unfortunately, you cannot learn this way which levels are supported, you
will only received the default level.
Normally, the value should be negative for "below" and positive for "above".
If your driver is sane and nice, it should return DFB_INVARG for
unsupported levels.
You might want to check SetLevel in your gfxdrivers sources.
Greets
Niels
[email protected] wrote:
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 - Hardware accelerated graphics |
| http://www.directfb.org/ |
"------------------------------------------"
_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users