--- 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;