Windows properly displayed. I mean, both, its border and top_layer are

shown. Some redrawing problems remain while resizing... They will be
fixed soon.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8039 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Adi Oanca
2004-06-18 11:50:17 +00:00
parent 895207da06
commit 560a22494e
5 changed files with 65 additions and 23 deletions
+12 -2
View File
@@ -49,7 +49,7 @@
#include "CursorManager.h"
#include "Workspace.h"
#define DEBUG_SERVERWINDOW
//#define DEBUG_SERVERWINDOW
//#define DEBUG_SERVERWINDOW_MOUSE
//#define DEBUG_SERVERWINDOW_KEYBOARD
@@ -309,6 +309,15 @@ void ServerWindow::Show(void)
ws->BringToFrontANormalWindow(fWinBorder);
ws->SearchAndSetNewFront(fWinBorder);
ws->SetFocusLayer(fWinBorder);
// TODO: this is UGLY.
// Normaly you have to easy pass a "FullInvalidate". But in this case, WinBorder
// is children dependant, so we CANOT rely on ANY region (full, fullVisible, visible)
// You have to figure out a way to do this 'internaly', I mean add support in
// Layer::FullInvalidate or Layer::[Start]RebuildRegions()
// What we are doinf here is BAD. We pass a rectangle instead of a region. Some areas may
// ger redrawed while there is no need for that!!!
fWinBorder->fParent->FullInvalidate(fWinBorder->fFull.Frame());
}
}
}
@@ -722,7 +731,8 @@ Layer * ServerWindow::CreateLayerTree(Layer *localRoot)
delete name;
// there is no way of setting this, other than manually :-)
newLayer->fHidden = hidden;
printf("Layer (%s) hidden : %d?\n", fTitle.String(), hidden);
newLayer->fHidden = (hidden == 0)? false: true;
int32 dummyMsg;