From d1a392a0e95b10fe9603fbd379a70b4cc0ddf22f Mon Sep 17 00:00:00 2001 From: Robert Bieber Date: Mon, 9 Aug 2010 19:37:23 +0000 Subject: Theme Editor: Co Used a more efficient/less error-prone system for rendering SBS documents underneath WPS documents git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27765 a1c6a512-1295-4272-9138-f99709370657 --- utils/themeeditor/graphics/rbscreen.cpp | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'utils/themeeditor/graphics/rbscreen.cpp') diff --git a/utils/themeeditor/graphics/rbscreen.cpp b/utils/themeeditor/graphics/rbscreen.cpp index 1b1adc8..2b63a6b 100644 --- a/utils/themeeditor/graphics/rbscreen.cpp +++ b/utils/themeeditor/graphics/rbscreen.cpp @@ -32,7 +32,7 @@ RBScreen::RBScreen(const RBRenderInfo& info, bool remote, QGraphicsItem *parent) :QGraphicsItem(parent), backdrop(0), project(project), - albumArt(0), customUI(0) + albumArt(0), customUI(0), defaultView(0) { setAcceptHoverEvents(true); @@ -221,11 +221,29 @@ void RBScreen::makeCustomUI(QString id) } } +void RBScreen::endSbsRender() +{ + sbsChildren = children(); + + QList keys = fonts.keys(); + for(QList::iterator i = keys.begin(); i != keys.end(); i++) + { + if(*i > 2) + fonts.remove(*i); + } + + images.clear(); + namedViewports.clear(); + displayedViewports.clear(); +} + void RBScreen::breakSBS() { - width = fullWidth; - height = fullHeight; - setParentItem(0); + for(QList::iterator i = sbsChildren.begin() + ; i != sbsChildren.end(); i++) + (*i)->hide(); + if(defaultView) + defaultView->makeFullScreen(); } QColor RBScreen::stringToColor(QString str, QColor fallback) -- cgit v1.1