summaryrefslogtreecommitdiffstats
path: root/utils/themeeditor/models
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-06-23 07:37:48 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-06-23 07:37:48 +0000
commit66a13be78771bcf922bb6736efa929611b7b5e75 (patch)
tree38cc3e24abe8d321b34ebad4d97234f525c41e1a /utils/themeeditor/models
parentf4fd16cd64b5a4a848f2d826461a15ffb78d49c1 (diff)
downloadrockbox-66a13be78771bcf922bb6736efa929611b7b5e75.tar.gz
rockbox-66a13be78771bcf922bb6736efa929611b7b5e75.zip
Theme Editor: Implemented %xd tag with subimages
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27085 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor/models')
-rw-r--r--utils/themeeditor/models/parsetreenode.cpp29
1 files changed, 28 insertions, 1 deletions
diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp
index 41bee5cab8..c75e6911d8 100644
--- a/utils/themeeditor/models/parsetreenode.cpp
+++ b/utils/themeeditor/models/parsetreenode.cpp
@@ -523,7 +523,8 @@ void ParseTreeNode::render(const RBRenderInfo &info, RBViewport* viewport)
{
QString filename;
QString id;
- int x, y, tiles;
+ int x, y, tiles, tile;
+ char c;
RBImage* image;
/* Two switch statements to narrow down the tag name */
@@ -533,6 +534,32 @@ void ParseTreeNode::render(const RBRenderInfo &info, RBViewport* viewport)
case 'x':
switch(element->tag->name[1])
{
+ case 'd':
+ /* %xd */
+ id = "";
+ id.append(element->params[0].data.text[0]);
+ c = element->params[0].data.text[1];
+
+ if(c == '\0')
+ {
+ tile = 1;
+ }
+ else
+ {
+ if(isupper(c))
+ tile = c - 'A' + 25;
+ else
+ tile = c - 'a';
+ }
+
+ image = info.screen()->getImage(id);
+ if(image)
+ {
+ image->setTile(tile);
+ image->show();
+ }
+ break;
+
case 'l':
/* %xl */
id = element->params[0].data.text;