diff options
| author | Robert Bieber <robby@bieberphoto.com> | 2010-07-02 00:27:47 +0000 |
|---|---|---|
| committer | Robert Bieber <robby@bieberphoto.com> | 2010-07-02 00:27:47 +0000 |
| commit | f58174f7cc1c04436414350916426e2d854fa96f (patch) | |
| tree | 009b06978ce644029a29449a4abdad0ccf562d71 | |
| parent | 9742704070732aeaa9fa1287045a682db5cf4527 (diff) | |
| download | rockbox-f58174f7cc1c04436414350916426e2d854fa96f.zip rockbox-f58174f7cc1c04436414350916426e2d854fa96f.tar.gz rockbox-f58174f7cc1c04436414350916426e2d854fa96f.tar.bz2 rockbox-f58174f7cc1c04436414350916426e2d854fa96f.tar.xz | |
Theme Editor: Renderer will not insert a newline at the end of a line if it's the same line in the wps file as the viewport declaration, to avoid forcing the first line of text down past where it belongs if Vf and Vb are used. The parser should be modified to make this unnecessary, when a consensus can be reached on how to do it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27230 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | utils/themeeditor/graphics/rbviewport.cpp | 2 | ||||
| -rw-r--r-- | utils/themeeditor/graphics/rbviewport.h | 4 | ||||
| -rw-r--r-- | utils/themeeditor/models/parsetreenode.cpp | 8 |
3 files changed, 12 insertions, 2 deletions
diff --git a/utils/themeeditor/graphics/rbviewport.cpp b/utils/themeeditor/graphics/rbviewport.cpp index 70c50f2..5197c2e 100644 --- a/utils/themeeditor/graphics/rbviewport.cpp +++ b/utils/themeeditor/graphics/rbviewport.cpp @@ -34,7 +34,7 @@ RBViewport::RBViewport(skin_element* node, const RBRenderInfo& info) foreground(info.screen()->foreground()), background(info.screen()->background()), textOffset(0,0), screen(info.screen()), textAlign(Left), showStatusBar(false), - statusBarTexture(":/render/statusbar.png") + statusBarTexture(":/render/statusbar.png"), line(node->line) { if(!node->tag) { diff --git a/utils/themeeditor/graphics/rbviewport.h b/utils/themeeditor/graphics/rbviewport.h index 624a968..37c6425 100644 --- a/utils/themeeditor/graphics/rbviewport.h +++ b/utils/themeeditor/graphics/rbviewport.h @@ -66,6 +66,8 @@ public: void showPlaylist(const RBRenderInfo& info, int start, skin_element* id3, skin_element* noId3); + int declarationLine(){ return line; } + private: void alignLeft(); @@ -91,6 +93,8 @@ private: bool showStatusBar; QPixmap statusBarTexture; + + int line; }; #endif // RBVIEWPORT_H diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp index 08ce703..3a894a1 100644 --- a/utils/themeeditor/models/parsetreenode.cpp +++ b/utils/themeeditor/models/parsetreenode.cpp @@ -518,7 +518,13 @@ void ParseTreeNode::render(const RBRenderInfo &info, RBViewport* viewport, { for(int i = 0; i < children.count(); i++) children[i]->render(info, viewport); - if(!noBreak) + /* TODO + * The second element of this if is a temporary hack to allow Vf and Vb + * tags in a viewport without forcing the first line of text down. A + * proper solution to this problem needs to be worked out in the parser + * as soon as possible + */ + if(!noBreak && element->line != viewport->declarationLine()) viewport->newLine(); } else if(element->type == TEXT) |