diff options
author | Robert Bieber <robby@bieberphoto.com> | 2010-06-23 07:37:48 +0000 |
---|---|---|
committer | Robert Bieber <robby@bieberphoto.com> | 2010-06-23 07:37:48 +0000 |
commit | 66a13be78771bcf922bb6736efa929611b7b5e75 (patch) | |
tree | 38cc3e24abe8d321b34ebad4d97234f525c41e1a /utils/themeeditor/models | |
parent | f4fd16cd64b5a4a848f2d826461a15ffb78d49c1 (diff) | |
download | rockbox-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.cpp | 29 |
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; |