From 2c71aa9feb0268da7d993feddbbe4db591fcd3ba Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Tue, 28 Feb 2012 22:26:32 +1100 Subject: 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 --- lib/skin_parser/tag_table.c | 1 + lib/skin_parser/tag_table.h | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/skin_parser') diff --git a/lib/skin_parser/tag_table.c b/lib/skin_parser/tag_table.c index 9a18398..a44b2ef 100644 --- a/lib/skin_parser/tag_table.c +++ b/lib/skin_parser/tag_table.c @@ -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 }, diff --git a/lib/skin_parser/tag_table.h b/lib/skin_parser/tag_table.h index d14d31f..cf0096f 100644 --- a/lib/skin_parser/tag_table.h +++ b/lib/skin_parser/tag_table.h @@ -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, -- cgit v1.1