uiacceltk/hitchcock/coretoolkit/src/huicanvaspainter.cpp
branchRCL_3
changeset 15 cd0ae4656946
parent 12 f93c875b566e
--- a/uiacceltk/hitchcock/coretoolkit/src/huicanvaspainter.cpp	Wed Jun 09 10:41:25 2010 +0300
+++ b/uiacceltk/hitchcock/coretoolkit/src/huicanvaspainter.cpp	Mon Jun 21 16:41:52 2010 +0300
@@ -254,10 +254,22 @@
         {        
         if (iCommandBuffers[cb]->iOrientation == aOrientation)
             {
-            // should this be original display rect or update region
-            tempRegion.AddRect(iCommandBuffers[cb]->iOriginalDisplayRect);
+            // add update region of command buffer to region
+            TRect rect(iCommandBuffers[cb]->iOriginalUpdateRegion.BoundingRect());
+            rect.Move(-iCommandBuffers[cb]->iOriginalDisplayRect.Round().iTl);
+            
+            tempRegion.AddRect(rect);
+            tempRegion.Tidy();
             }
         }    
+    
+    if (iCanvasVisual)
+        {
+        TRect displayRect(iCanvasVisual->DisplayRect());
+        tempRegion.ClipRect(TRect(displayRect.Size()));
+        tempRegion.Offset(displayRect.iTl);
+        }
+
     TRect result = tempRegion.BoundingRect();
     tempRegion.Close();
     return result;