The theme file format got a new feature:
<area xywh="10,10,16,8"
rot="90"/>
This will rotate the area 90° clock wise.
The area can also be flipped on the horizontal or vertical axis by specifying a negative width or height:
<area xywh="10,10,
-16,8" rot="90"/>
When the area has
splitx or
splity active then the split is applied on the unrotated area and the rotation is applied to the result.
This also works when the area has the
tiled attribute set.
The theme editor also supports these (but they don't affect the image in the texture viewer - as this shows the source).
It can be easily tested by starting the demo mode, open the about page in the preview area (bottom center) and by editing parameters of the TWL logo.
Also new is a fallback theme which is used when the requested theme was not found. It can be used like this:
Code:
<theme name="-defaults">
...
<theme name="" ref="*"/> <!-- wildcard to allow flat themes (not a new feature) -->
</theme>
<theme name="*" ref="-defaults">
<!-- this theme (name="*") is used when a requested theme was not found - it can of course reference any theme you want -->
<param name="background"><image>error.404</image></param>
</theme>
The wild card reference in the "-defaults" theme allows to use all top level themes which are marked with
allowWildcard="true" as implicit child themes everywhere (which is based on "-defaults").
Together with the new fallback theme this will allow that at least generic widgets like buttons and labels show up everywhere even if one of their parent widgets have a missing theme.