forked from len0rd/rockbox
Theme Editor: Implemented a flags column in the tag table, removed the \n flag at the end of the param list and replaced it with a NOBREAK flag to prevent the renderer from inserting a line break at the end of the line. Modified the theme editor's renderer to accomodate this flag
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27268 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
d4e7ab7a93
commit
32ff4e93bd
5 changed files with 171 additions and 189 deletions
|
@ -31,6 +31,7 @@
|
|||
#include <iostream>
|
||||
|
||||
int ParseTreeNode::openConditionals = 0;
|
||||
bool ParseTreeNode::breakFlag = false;
|
||||
|
||||
/* Root element constructor */
|
||||
ParseTreeNode::ParseTreeNode(struct skin_element* data)
|
||||
|
@ -520,8 +521,11 @@ void ParseTreeNode::render(const RBRenderInfo &info, RBViewport* viewport,
|
|||
{
|
||||
for(int i = 0; i < children.count(); i++)
|
||||
children[i]->render(info, viewport);
|
||||
if(!noBreak)
|
||||
if(!noBreak && !breakFlag)
|
||||
viewport->newLine();
|
||||
|
||||
if(breakFlag)
|
||||
breakFlag = false;
|
||||
}
|
||||
else if(element->type == TEXT)
|
||||
{
|
||||
|
@ -531,6 +535,8 @@ void ParseTreeNode::render(const RBRenderInfo &info, RBViewport* viewport,
|
|||
{
|
||||
if(!execTag(info, viewport))
|
||||
viewport->write(evalTag(info).toString());
|
||||
if(element->tag->flags & NOBREAK)
|
||||
breakFlag = true;
|
||||
}
|
||||
else if(element->type == CONDITIONAL)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue