From 8770be761daa5a288ed4f5d2c1ed2aaacd458560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Fri, 15 Apr 2005 00:31:39 +0000 Subject: [PATCH] convert the invalid rect to the top layer coords, Adi, an update message is only sent when a layer is the top layer in Layer::RequestDraw, I don't know how to fix this, but it would be nice to have BView::Invalidate working. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12398 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/ServerWindow.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/servers/app/ServerWindow.cpp b/src/servers/app/ServerWindow.cpp index abefefb875..a25ce2d016 100644 --- a/src/servers/app/ServerWindow.cpp +++ b/src/servers/app/ServerWindow.cpp @@ -1382,13 +1382,14 @@ cl->fBoundsLeftTop.PrintToStream(); { DTRACE(("ServerWindow %s: Message AS_LAYER_INVAL_RECT: Layer: %s\n",fTitle.String(), cl->fName->String())); - // TODO: Watch out for the coordinate system in AS_LAYER_INVAL_RECT + // TODO: handle transformation (origin and scale) prior to converting to top BRect invalRect; link.Read(&invalRect); + BRect converted(cl->ConvertToTop(invalRect.LeftTop()), + cl->ConvertToTop(invalRect.RightBottom())); - myRootLayer->GoRedraw(cl, BRegion(invalRect)); - + myRootLayer->GoRedraw(cl, BRegion(converted)); break; } case AS_LAYER_INVAL_REGION: