uifw/EikStd/coctlsrc/aknedwinphysicshandler.cpp
branchRCL_3
changeset 10 9f56a4e1b8ab
parent 9 aabf2c525e0f
child 15 08e69e956a8c
--- a/uifw/EikStd/coctlsrc/aknedwinphysicshandler.cpp	Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/aknedwinphysicshandler.cpp	Mon Mar 15 12:41:34 2010 +0200
@@ -87,7 +87,6 @@
         // Pointer down inside view rect, set flag to allow dragging 
         // and initialize values
         iFlags.Set( EFlagDraggingAllowed );
-        iPrevPosition = aPointerEvent.iPosition;
         iStartPosition = aPointerEvent.iPosition;
         StopPhysics();
 
@@ -112,15 +111,15 @@
                 iDragThresholdExceeded = ETrue;
                 }
             }
-
-        if ( iDragThresholdExceeded )
+        else
             {
             TInt deltaY( iPrevPosition.iY - aPointerEvent.iPosition.iY );
-            iPrevPosition = aPointerEvent.iPosition;
 
             TPoint deltaPoint( 0, deltaY );
             iPhysics->RegisterPanningPosition( deltaPoint );
             }
+
+        iPrevPosition = aPointerEvent.iPosition;
         }
     else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
         {
@@ -242,8 +241,12 @@
         {
         BlockEvents( ETrue );
         }
-    // Scroll view based on values from aknphysics
+    
+    // Disable background drawing while panning or flicking. Instead,
+    // background is drawn in one frame.
+    iEdwin.DrawViewBackground( ETrue );
     ScrollView( ETrue );
+    iEdwin.DrawViewBackground( EFalse );
     }
 
 // ---------------------------------------------------------------------------