diff -r 6727c5d0afc7 -r 458d8c8d9580 homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmainwindow.cpp --- a/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmainwindow.cpp Fri Sep 17 08:27:54 2010 +0300 +++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmainwindow.cpp Mon Oct 04 00:07:25 2010 +0300 @@ -21,7 +21,10 @@ #include "hsmainwindow.h" #include "hsmenuview.h" #include "hsmenumodewrapper.h" - +#include "hsscene.h" +#include "hspage.h" +#include "hspagevisual.h" +#include "hswallpaper.h" /*! Constructor */ @@ -66,6 +69,24 @@ hbW->addView(view); } + // For some reason all visible items will pe rendered even they are outside of the viewport + // Hide inactive pages and wallpapers to make screen shot faster + HsScene *scene(HsScene::instance()); + QList pages(scene->pages()); + foreach (HsPage *p, pages) { + if (p != scene->activePage()) { + p->wallpaper()->hide(); + p->visual()->hide(); + } + } bool animate = !hbW->isObscured(); + // source view will be rendered to cache hbW->setCurrentView(view, animate, Hb::ViewSwitchCachedFullScreen); + // restore previous + foreach (HsPage *p, pages) { + if (p != scene->activePage()) { + p->wallpaper()->show(); + p->visual()->show(); + } + } }