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
This commit is contained in:
@@ -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()));
|
STRACE(("DONE: ServerWindow %s: Message AS_DELETE_LAYER: Parent: %s Layer: %s\n", fTitle, parent->Name(), fCurrentLayer->Name()));
|
||||||
|
|
||||||
delete fCurrentLayer;
|
delete fCurrentLayer;
|
||||||
|
// TODO: Does the client know about this change?
|
||||||
fCurrentLayer = parent;
|
fCurrentLayer = parent;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1082,7 +1082,7 @@ myRootLayer->Unlock();
|
|||||||
fLink.Attach<int32>(rectCount);
|
fLink.Attach<int32>(rectCount);
|
||||||
|
|
||||||
for (int32 i = 0; i < rectCount; i++)
|
for (int32 i = 0; i < rectCount; i++)
|
||||||
fLink.Attach<BRect>(region.RectAt(i));
|
fLink.Attach<BRect>(fCurrentLayer->ConvertFromTop(region.RectAt(i)));
|
||||||
|
|
||||||
fLink.Flush();
|
fLink.Flush();
|
||||||
}
|
}
|
||||||
@@ -1102,9 +1102,12 @@ myRootLayer->Unlock();
|
|||||||
BRegion region;
|
BRegion region;
|
||||||
for (int i = 0; i < noOfRects; i++) {
|
for (int i = 0; i < noOfRects; i++) {
|
||||||
link.Read<BRect>(&r);
|
link.Read<BRect>(&r);
|
||||||
region.Include(r);
|
region.Include(fCurrentLayer->ConvertToTop(r));
|
||||||
}
|
}
|
||||||
fCurrentLayer->fLayerData->SetClippingRegion(region);
|
fCurrentLayer->fLayerData->SetClippingRegion(region);
|
||||||
|
#ifndef NEW_CLIPPING
|
||||||
|
fCurrentLayer->RebuildFullRegion();
|
||||||
|
#endif
|
||||||
/*
|
/*
|
||||||
#ifndef NEW_CLIPPING
|
#ifndef NEW_CLIPPING
|
||||||
fCurrentLayer->RebuildFullRegion();
|
fCurrentLayer->RebuildFullRegion();
|
||||||
@@ -1355,7 +1358,7 @@ myRootLayer->Unlock();
|
|||||||
STRACE(("ServerWindow %s: Message AS_WINDOW_RESIZE %.1f, %.1f\n", Title(), xResizeBy, yResizeBy));
|
STRACE(("ServerWindow %s: Message AS_WINDOW_RESIZE %.1f, %.1f\n", Title(), xResizeBy, yResizeBy));
|
||||||
|
|
||||||
fWinBorder->ResizeBy(xResizeBy, yResizeBy);
|
fWinBorder->ResizeBy(xResizeBy, yResizeBy);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case AS_WINDOW_MOVE:
|
case AS_WINDOW_MOVE:
|
||||||
|
|||||||
Reference in New Issue
Block a user