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:
parent
13f98df5ed
commit
2c71aa9feb
13 changed files with 87 additions and 10 deletions
|
@ -81,6 +81,14 @@ static void lcd_gradient_rect(int x1, int x2, int y, unsigned h,
|
|||
}
|
||||
#endif
|
||||
|
||||
void LCDFN(set_framebuffer)(FBFN(data) *fb)
|
||||
{
|
||||
if (fb)
|
||||
LCDFN(framebuffer) = fb;
|
||||
else
|
||||
LCDFN(framebuffer) = &LCDFN(static_framebuffer)[0][0];
|
||||
}
|
||||
|
||||
/*
|
||||
* draws the borders of the current viewport
|
||||
**/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue