ganeswidgets/src/hgmediawallrenderer.cpp
changeset 3 c863538fcbb6
parent 2 49c70dcc3f17
child 5 4fa04caf0f43
--- a/ganeswidgets/src/hgmediawallrenderer.cpp	Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/hgmediawallrenderer.cpp	Thu May 27 13:59:05 2010 +0300
@@ -247,7 +247,7 @@
     mFrontItemPosition(0,0)
 {
     createStateMachine();
-    mRenderer = new HgQtQuadRenderer(64);
+    mRenderer = new HgQtQuadRenderer(128);
     mRenderer->enableReflections(true);
     mRendererInitialized = true;
     if (mCoverflowMode) {
@@ -443,12 +443,18 @@
         mStateMachine->setAnimated(animate);
         mNextScrollDirection = scrollDirection;
 
-        if (!animate)
+        if (!animate) {
             mScrollDirection = scrollDirection;
+        }
         else
         {
             //emit renderingNeeded();            
         }
+    } else if (!animate) {
+        // reset next scrolldirection just to be sure. In some cases
+        // when orientation changes couple of times and container visibility changes
+        // we might otherwise end up in wrong state.
+        mNextScrollDirection = scrollDirection;
     }
 }
 
@@ -975,8 +981,9 @@
 {
     HgQuad* quad = mRenderer->quad(quadIndex++);
     quad->setPosition(pos);
-    quad->setImage(mDataProvider->image(itemIndex));
-    quad->setVisible(true);
+    const HgImage* image = mDataProvider->image(itemIndex);
+    quad->setImage(image);
+    quad->setVisible(true/*image && image->alpha() != 0*/);
     quad->setScale(QVector2D(mImageSize3D.width(),mImageSize3D.height()));
     quad->setPivot(QVector2D(0,0));
     quad->setUserData(QVariant(itemIndex));