From 6c3f99cf465e714295e61bb88043b080bccc9e6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Wed, 6 Jul 2005 18:05:56 +0000 Subject: [PATCH] the clipping in fLayerData is in screen space, so when getting/setting the user defined clipping, we need to convert to/from view space git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13505 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/ServerWindow.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/servers/app/ServerWindow.cpp b/src/servers/app/ServerWindow.cpp index cfcd470ddc..65f9f51982 100644 --- a/src/servers/app/ServerWindow.cpp +++ b/src/servers/app/ServerWindow.cpp @@ -638,7 +638,7 @@ ServerWindow::_DispatchMessage(int32 code, BPrivate::LinkReceiver &link) STRACE(("DONE: ServerWindow %s: Message AS_DELETE_LAYER: Parent: %s Layer: %s\n", fTitle, parent->Name(), fCurrentLayer->Name())); delete fCurrentLayer; - +// TODO: Does the client know about this change? fCurrentLayer = parent; break; } @@ -1082,7 +1082,7 @@ myRootLayer->Unlock(); fLink.Attach(rectCount); for (int32 i = 0; i < rectCount; i++) - fLink.Attach(region.RectAt(i)); + fLink.Attach(fCurrentLayer->ConvertFromTop(region.RectAt(i))); fLink.Flush(); } @@ -1102,9 +1102,12 @@ myRootLayer->Unlock(); BRegion region; for (int i = 0; i < noOfRects; i++) { link.Read(&r); - region.Include(r); + region.Include(fCurrentLayer->ConvertToTop(r)); } fCurrentLayer->fLayerData->SetClippingRegion(region); +#ifndef NEW_CLIPPING + fCurrentLayer->RebuildFullRegion(); +#endif /* #ifndef NEW_CLIPPING fCurrentLayer->RebuildFullRegion(); @@ -1355,7 +1358,7 @@ myRootLayer->Unlock(); STRACE(("ServerWindow %s: Message AS_WINDOW_RESIZE %.1f, %.1f\n", Title(), xResizeBy, yResizeBy)); fWinBorder->ResizeBy(xResizeBy, yResizeBy); - + break; } case AS_WINDOW_MOVE: