Operation Manual

Chapter 13. Advanced Topics 160
Viewports
By default, a viewport filling the whole screen contains all the elements defined in each
theme file. The elements in this viewport are displayed with the same background/
foreground colours and the text is rendered in the same font as in the main menu. To
change this behaviour a custom viewport can be defined. A viewport is a rectangular
window on the screen with its own foreground/background colours. This window also
has variable dimensions. To define a viewport a line starting %V(... has to be present
in the theme file. The full syntax will be explained later in this section. All elements
placed before the line defining a viewport are displayed in the default viewport. Elements
defined after a viewport declaration are drawn within that viewport. Loading images
(see Appendix section C.20 (page 185)) should be done within the default viewport.
A viewport ends either with the end of the file, or with the next viewport declaration
line. Viewports sharing the same coordinates and dimensions cannot be displayed at the
same time. Viewports cannot be layered transparently over one another. Subsequent
viewports will be drawn over any other viewports already drawn onto that area of the
screen.
Viewport Declaration Syntax
%V(x,y,[width],[height],[font]) %Vf([fgcolour]) %Vb([bgcolour]) %Vg(start,
end [,text])
%Vf and %Vb set the foreground and background colours respectively.
‘fgcolour’ and ‘bgcolour’ are 6-digit RGB888 colours, e.g. FF00FF.
%Vg defines a gradient fill that can then be used with the %Vs tag. ‘start’ and
‘end’ set the initial and final colours, and the optional ‘text’ sets the text colour.
Colours are 6-digit RGB888, e.g. FF00FF.
‘font’ is a number: 0 is the built-in system font, 1 is the current menu font, and
2-9 are additional skin loaded fonts (see section 13.2.4 (page 162)).
Only the coordinates have to be specified. Leaving the other definitions blank will
set them to their default values.
Note: The correct number of commas with hyphens in blank fields are still needed.
b
Example
%V(12,20,-,-,1) %Vf(000000) %Vb(FFFFFF) %Vg(FFC0CB, FF0000, FFFF00)
%sThis viewport is displayed permanently. It starts 12px from the left and
%s20px from the top of the screen, and fills the rest of the screen from
%sthat point. The lines will scroll if this text does not fit in the viewport.
%sThe user font is used, and the foreground and background are set to black
%sand white respectively. The line gradient is set to pink to red with yellow
%text.
The Rockbox manual (version 3.10) Packard Bell Vibe 500