From b477463d9c85d6dbb57e2688a1fec00c8af147b1 Mon Sep 17 00:00:00 2001 From: Robert Bieber Date: Fri, 13 Aug 2010 02:05:38 +0000 Subject: Theme Editor: Altered implementation of %ax tag so that viewport now simply mirrors itself across the screen. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27798 a1c6a512-1295-4272-9138-f99709370657 --- utils/themeeditor/graphics/rbviewport.cpp | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'utils') diff --git a/utils/themeeditor/graphics/rbviewport.cpp b/utils/themeeditor/graphics/rbviewport.cpp index 5cac806c3d..f646d830dd 100644 --- a/utils/themeeditor/graphics/rbviewport.cpp +++ b/utils/themeeditor/graphics/rbviewport.cpp @@ -48,8 +48,6 @@ RBViewport::RBViewport(skin_element* node, const RBRenderInfo& info, leftGraphic(0), centerGraphic(0), rightGraphic(0), scrollTime(0), node(pNode), doc(info.document()) { - mirrored = info.screen()->isRtlMirrored() - && info.device()->data("rtl").toBool(); if(!node->tag) { @@ -150,12 +148,6 @@ RBViewport::RBViewport(skin_element* node, const RBRenderInfo& info, y -= screen->parentItem()->pos().y(); } - /* Mirroring if necessary */ - if(mirrored) - { - x = parentItem()->boundingRect().width() - w - x; - } - if(node->params[++param].type == skin_tag_parameter::DEFAULT) font = screen->getFont(1); else @@ -167,6 +159,17 @@ RBViewport::RBViewport(skin_element* node, const RBRenderInfo& info, debug = info.device()->data("showviewports").toBool(); lineHeight = font->lineHeight(); + + if(info.screen()->isRtlMirrored() && info.device()->data("rtl").toBool()) + { + /* Mirroring the viewport */ + double x = screen->boundingRect().width() - 2 * pos().x(); + QTransform t; + t.translate(x, 0); + t.scale(-1, 1); + setTransform(t); + } + if(customUI) screen->setCustomUI(this); } @@ -236,10 +239,6 @@ void RBViewport::write(QString text) return; Alignment align = textAlign; - if(mirrored && align == Left) - align = Right; - else if(mirrored && align == Right) - align = Left; if(align == Left) { -- cgit