Decorator-resize redrawing fixed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8047 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -432,7 +432,8 @@ void Layer::RequestDraw(const BRegion ®, Layer *startFrom)
|
||||
if (fVisible.CountRects() > 0)
|
||||
{
|
||||
fUpdateReg = fVisible;
|
||||
fUpdateReg.IntersectWith(®);
|
||||
if (!(fFlags & B_FULL_UPDATE_ON_RESIZE))
|
||||
fUpdateReg.IntersectWith(®);
|
||||
|
||||
if (fUpdateReg.CountRects() > 0){
|
||||
fDriver->ConstrainClippingRegion(&fUpdateReg);
|
||||
|
||||
@@ -182,7 +182,7 @@ ServerWindow::ServerWindow(BRect rect, const char *string, uint32 wlook,
|
||||
|
||||
void ServerWindow::Init(void)
|
||||
{
|
||||
fWinBorder = new WinBorder( fFrame, fTitle.String(), fLook, fFeel, fFlags,
|
||||
fWinBorder = new WinBorder( fFrame, fTitle.String(), fLook, fFeel, 0UL,
|
||||
this, desktop->GetDisplayDriver());
|
||||
fWinBorder->RebuildFullRegion();
|
||||
|
||||
|
||||
@@ -92,6 +92,7 @@ WinBorder::WinBorder(const BRect &r, const char *name, const int32 look, const i
|
||||
fMainWinBorder = NULL;
|
||||
fDecorator = NULL;
|
||||
fAdFlags = fAdFlags | B_LAYER_CHILDREN_DEPENDANT;
|
||||
fFlags = B_WILL_DRAW | B_FULL_UPDATE_ON_RESIZE;
|
||||
|
||||
fIsMoving = false;
|
||||
fIsResizing = false;
|
||||
@@ -341,6 +342,7 @@ void WinBorder::HighlightDecorator(const bool &active)
|
||||
void WinBorder::Draw(const BRect &r)
|
||||
{
|
||||
STRACE(("WinBorder(%s)::Draw()\n", GetName()));
|
||||
|
||||
// if we have a visible region, it is decorator's one.
|
||||
if(fDecorator)
|
||||
{
|
||||
|
||||
@@ -81,7 +81,6 @@ protected:
|
||||
friend class ServerWindow;
|
||||
|
||||
Decorator *fDecorator;
|
||||
int32 fFlags;
|
||||
int32 fMouseButtons;
|
||||
int32 fKeyModifiers;
|
||||
BPoint fLastMousePosition;
|
||||
|
||||
Reference in New Issue
Block a user