1
0
Fork 0
forked from len0rd/rockbox

lcd/skin_engine: Add the ability to draw onto the backdrop layer

The framebuffer the lcd driver uses can now be changed on the fly
which means that regular lcd_* drawing functions can draw onto the
"backdrop" buffer. The skin engine can use this to create layered
effects.

Add the tag %VB to a viewport to draw that viewport onto the
backdrop layer. If you want to draw an image onto the backdrop
framebuffer use %x(backdrop filename) instead of %X() inside
a viewport with %VB.

Change-Id: I741498e2af6d4f2d78932cabe8942317893e7cfc
This commit is contained in:
Jonathan Gordon 2012-02-28 22:26:32 +11:00
parent 13f98df5ed
commit 2c71aa9feb
13 changed files with 87 additions and 10 deletions

View file

@ -204,6 +204,7 @@ static const struct tag_info legal_tags[] =
{ SKIN_TOKEN_VIEWPORT_BGCOLOUR, "Vb" , "s", SKIN_REFRESH_STATIC|NOBREAK },
{ SKIN_TOKEN_VIEWPORT_TEXTSTYLE, "Vs" , "S|s", SKIN_REFRESH_STATIC },
{ SKIN_TOKEN_VIEWPORT_GRADIENT_SETUP, "Vg" , "SS|s", SKIN_REFRESH_STATIC|NOBREAK },
{ SKIN_TOKEN_VIEWPORT_DRAWONBG, "VB" , "", SKIN_REFRESH_STATIC|NOBREAK },
{ SKIN_TOKEN_VIEWPORT_CONDITIONAL, "Vl" , "SIIiii", 0 },
{ SKIN_TOKEN_UIVIEWPORT_LOAD, "Vi" , "sIIiii", 0 },

View file

@ -92,7 +92,8 @@ enum skin_token_type {
SKIN_TOKEN_VIEWPORT_BGCOLOUR,
SKIN_TOKEN_VIEWPORT_TEXTSTYLE,
SKIN_TOKEN_VIEWPORT_GRADIENT_SETUP,
SKIN_TOKEN_VIEWPORT_DRAWONBG,
/* Battery */
SKIN_TOKEN_BATTERY_PERCENT,
SKIN_TOKEN_BATTERY_PERCENTBAR,