summaryrefslogtreecommitdiff
path: root/utils/themeeditor/models/parsetreenode.cpp
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-06-18 21:10:01 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-06-18 21:10:01 +0000
commitd8827b5ff10c66a065a210d8aaf1d88214ee1070 (patch)
tree26a23ff031105ee98cbba967a4554ebf8ac423a6 /utils/themeeditor/models/parsetreenode.cpp
parent62622277dc2a11117605e5e7ff3d2a5f0423d8da (diff)
downloadrockbox-d8827b5ff10c66a065a210d8aaf1d88214ee1070.zip
rockbox-d8827b5ff10c66a065a210d8aaf1d88214ee1070.tar.gz
rockbox-d8827b5ff10c66a065a210d8aaf1d88214ee1070.tar.bz2
rockbox-d8827b5ff10c66a065a210d8aaf1d88214ee1070.tar.xz
Theme Editor: Working on rendering viewports, display will now show %V(...) viewports as red rectangles over backdrop or background color
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26940 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor/models/parsetreenode.cpp')
-rw-r--r--utils/themeeditor/models/parsetreenode.cpp32
1 files changed, 29 insertions, 3 deletions
diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp
index 397031a..97beca4 100644
--- a/utils/themeeditor/models/parsetreenode.cpp
+++ b/utils/themeeditor/models/parsetreenode.cpp
@@ -98,6 +98,12 @@ ParseTreeNode::ParseTreeNode(skin_tag_parameter *data, ParseTreeNode *parent)
}
+ParseTreeNode::~ParseTreeNode()
+{
+ for(int i = 0; i < children.count(); i++)
+ delete children[i];
+}
+
QString ParseTreeNode::genCode() const
{
QString buffer = "";
@@ -467,8 +473,28 @@ ParseTreeNode* ParseTreeNode::getParent() const
return parent;
}
-ParseTreeNode::~ParseTreeNode()
+void ParseTreeNode::render(const RBRenderInfo& info)
{
- for(int i = 0; i < children.count(); i++)
- delete children[i];
+ /* Parameters don't get rendered */
+ if(!element && param)
+ return;
+
+ /* If we're at the root, we need to render each viewport */
+ if(!element && !param)
+ {
+ for(int i = 0; i < children.count(); i++)
+ {
+ children[i]->render(info);
+ }
+
+ return;
+ }
+
+ switch(element->type)
+ {
+ case VIEWPORT:
+ rendered = new RBViewport(element, info);
+ break;
+ }
}
+