Les conditions sont une possibilité nouvelle de créer votre thème. Si vous êtes développeur, vous devriez déjà connaitre.
Les conditions peuvent être utilisées avec l'attribut if="condition" dans :
<include><include if="crt">
...
</include>
<view><view name="system" if="arcade">
...
</view>
<image name="deco" extra="true" if="favorite">
...
</image>
<image name="deco" extra="true" if="favorite" />
<image name="deco" extra="true">
...
<path>default/image/path.png</path>
<path if="crt">image/path/for/crt/only.png</path>
...
</image>
<image name="deco" extra="true" path="default/image/path.png">
<path if="crt">image/path/for/crt/only.png</path>
</image>
Les conditions peuvent être uniques ou complexes. Chaque pseudo-identifiant est évalué à true / false (vrai / faux) aux changements et mises à jour du thème. On peut les combiner ou les inverser avec les opérations simples de logique booléennes : and, or et not.
Exemple 1 :
if="qvga and not crt"
if="qvga & !crt"
Exemple 2 :
if="hd or fhd"
if="hd | fhd"
if="qvga or vga and not crt"
if="qvga | vga & !crt"
L'évaluation se fait de droite à gauche, toujours entre le dernier résultat à gauche et le nouvel identifiant à droite.
L'écriture suivante :
if="qvga or vga and not crt"
Qui équivaut à (qvga ou vga) et pas crt n'est pas équivalente à l'écriture suivante :
if="not crt and qvga or vga"
Qui équivaut à (pas crt et qvga) ou vga !
Pour faciliter l'écriture humaine, & est équivalent à et, | est équivalent à ou et ! est équivalent à not. Les caractères &|! peuvent être collés (par exemple qvga&!crt) mais pas les autres utilisations auquel un espace est requis (qvga and not crt).
crt :Vrai si un adaptateur CRT est branché et actif.
jamma :Vrai si un adaptateur RGB Jamma est branché et actif.
overscan :Correspond à crt and !jamma.
tate :Vrai si on est en mode tate.
qvga :Vrai si on est à 288 pixels de hauteur maximum.
vga :Vrai si on est à 576 pixels de hauteur maximum et pas en qvga.
hd :Vrai si on est à 920 pixels de hauteur maximum et pas en qvga ou vga.
fhd :Vrai si on est à plus de 920 pixels de hauteur.
virtual :Vrai si on est sur un système virtuel.
arcade :Vrai si on est sur un système arcade.
port :Vrai si on est sur le système ports.
console :Vrai si on est sur un système console de salon.
handheld :Vrai si on est sur un système console portable.
computer :Vrai si on est sur un système ordinateur.
fantasy :Vrai si on est sur un système fantasy.
engine :Vrai si on est sur un moteur de jeu.
favorite :Vrai si on est sur le système des favoris.
lastplayed :Vrai si on est sur le système des derniers jeux joués.
Vous pouvez identifier des groupes de systèmes facilement avec les conditions :
if="arcade & virtual"
if="console | handheld | fantasy"
if="fantasy | engine"