* The client views are now automatically resized on B_WINDOW_RESIZED as they are in the

server.
  This saves overhead on both sides, the server doesn't need to build the update message
  for the client, and the client doesn't have to unflatten and parse another message.
* This code is actually needed for the new clipping code in the app_server, but shouldn't
  do much harm for the old app_server, either.
* Also disabled getting the bounds from the server, as that is just never needed (and would
  also break the code).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15353 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2005-12-06 01:22:02 +00:00
parent 9bd3f620bc
commit ac4fe990c9
3 changed files with 140 additions and 30 deletions
+7 -1
View File
@@ -737,6 +737,12 @@ BWindow::DispatchMessage(BMessage *msg, BHandler *target)
fFrame.right = fFrame.left + width;
fFrame.bottom = fFrame.top + height;
// Resize views according to their resize modes - this
// saves us some server communication, as the server
// does the same with our views on its side.
fTopView->_ResizeBy(width - fTopView->Bounds().Width(),
height - fTopView->Bounds().Height());
FrameResized(width, height);
}
break;
@@ -1116,7 +1122,7 @@ BWindow::Zoom()
*/
if (Frame().Width() == fMaxZoomWidth && Frame().Height() == fMaxZoomHeight) {
BPoint position( Frame().left, Frame().top);
BPoint position(Frame().left, Frame().top);
Zoom(position, fMaxZoomWidth, fMaxZoomHeight);
return;
}