Thank You for your continued support and contributions!
#<Stop|Play|Pause|Ffwd|Rew|Rec|Rec pause|FM|FM pause>%?mp<|%Cl(0,0,160,160,b,r)%Cd|%Cl(0,0,140,140,c,c)%Cd||>
Viewport Draw LayerTag Description%VB Draw on the backdrop layerRockbox uses two framebuffers when it does a screen redraw. The bottom layer is used for the backdrop image (the static parts of the display behind text for example), and the upper layer (the text/images). Using this tag you can tell the skin engine to instead draw everything in this viewport onto the backdrop layer instead of the foreground layer. Don't draw text here as it may not work too well. If the skin has this any %X() tag will be ignored and the whole screen will have a solid background (with the colour specified in the settings), so to get the most out of this feature: Add a full screen viewport at the start of the skin .. i.e %V(0,0,-,-,-) %VB Use %x(filename, 0, 0) to draw a backdrop image (If you want one!) Then add %V(0,0,-,-,-) and continue with your skin as normal. Any viewports you want drawn on the backdrop need the %VB tag but otherwise code as normal.
else if ((skin_viewport->hidden_flags & vp_is_appearing) == vp_is_appearing) { vp_refresh_mode = SKIN_REFRESH_ALL; skin_viewport->hidden_flags = [b]VP_DRAW_HIDEABLE;[/b] }
After investigating this for a bit what I believe %VB is doing is drawing to the backdrop and that is working properlybut the skin engine never copies the new data in the backdrop buffer back to the screenbecause it only does it on display->clear_viewport();and the only time it gets done is when the viewport first appears due to this flag:Code: [Select] else if ((skin_viewport->hidden_flags & vp_is_appearing) == vp_is_appearing) { vp_refresh_mode = SKIN_REFRESH_ALL; skin_viewport->hidden_flags = [b]VP_DRAW_HIDEABLE;[/b] }One way I was toying with is when the Backdrop is drawn to with images force a full refreshwe'll see how this goes...
%?mp<|%Vd(c)%Cl(75,30,170,170)%Cd|%Cl(75,30,140,140)||>%Vl(c,0,0,-,-,-)[code]For me, I get 140 x 140 in both play and pause
#%?mp<|%Cl(0,0,160,160,b,r)%VB%Cd|%Cl(0,0,140,140,c,c)%VB%Cd||>%?mp<|%Vl(c,0,0,-,-,-)%Cl(0,0,170,170)%Cd|%Cl(0,0,140,140)%Cd||>%?C<%Vd(c)|>
You missed the final %Cd adding that mkes the second one workbut its not wanting to draw into Viewport 'c'I'll keep working with it till I get it or give up..I really want the %VB thing to work might have to do some extra processing to get therethis works but IDK if is actually going into 'c'Code: [Select]#%?mp<|%Cl(0,0,160,160,b,r)%VB%Cd|%Cl(0,0,140,140,c,c)%VB%Cd||>%?mp<|%Vl(c,0,0,-,-,-)%Cl(0,0,170,170)%Cd|%Cl(0,0,140,140)%Cd||>%?C<%Vd(c)|>
#------------ Background Layer ------------#%wd%V(0,0,-,-,-)%VB%?mp<|%Vl(c,0,0,-,-,-)%Cl(0,0,170,170)%Cd|%Cl(100,100,80,80)%Cd||>%?C<%Vd(c)|>#------------ Foreground Layer ------------#%V(0,0,-,-,-)
Page created in 0.066 seconds with 16 queries.