AS_CREATE_WINDOW now also gets the actual frame width and size limits of

the window on server side - ie. if the app_server could not create a
window of the size requested, BWindow::fFrame will still be correct
(and the size limits will mirror actual decorator limits).
Renamed fMinWindHeight and friends to fMinHeight and so on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13302 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2005-06-28 01:14:39 +00:00
parent 5727f0cfa2
commit 85bd83a710
3 changed files with 77 additions and 51 deletions
+15 -1
View File
@@ -17,6 +17,7 @@
#include <Rect.h>
#include <View.h>
#include <ViewAux.h>
#include <Autolock.h>
#include "AppServer.h"
#include "BGet++.h"
@@ -136,6 +137,8 @@ ServerWindow::InitCheck()
bool
ServerWindow::Run()
{
BAutolock locker(this);
// Spawn our message-monitoring thread
fThread = spawn_thread(_message_thread, fTitle, B_NORMAL_PRIORITY, this);
if (fThread < B_OK)
@@ -147,9 +150,20 @@ ServerWindow::Run()
return false;
}
// Send a reply to our window - it is expecting fMessagePort port.
// Send a reply to our window - it is expecting fMessagePort
// port and some other info
fLink.StartMessage(SERVER_TRUE);
fLink.Attach<port_id>(fMessagePort);
float minWidth, maxWidth, minHeight, maxHeight;
fWinBorder->GetSizeLimits(&minWidth, &maxWidth, &minHeight, &maxHeight);
fLink.Attach<BRect>(fWinBorder->Frame());
fLink.Attach<float>(minWidth);
fLink.Attach<float>(maxWidth);
fLink.Attach<float>(minHeight);
fLink.Attach<float>(maxHeight);
fLink.Flush();
return true;