
Chapter 11.
Advanced Topics
171
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
B.19
(page
192
)) 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])
•
‘fgcolour’ and ‘bgcolour’ are 6-digit RGB888 colours, 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
11.2.4
(page
173
)).
•
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 in
b
any case.
Example
%V(12,20,-,-,1) %Vf(000000) %Vb(FFFFFF)
%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.
Viewport definition
Default value
width/height
remaining part of screen
font
user defined
foreground/background
colours
defined by theme
The Rockbox manual
Toshiba Gigabeat F and X Series