From cfc40fb337a96e369861861eaefc39aa786e4105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Sat, 26 Nov 2005 14:33:26 +0000 Subject: [PATCH] make client drawing slow again, made client drawing use B_OP_BLEND which shows problems with incorrect clipping during update sessions git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15161 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/tests/servers/app/newerClipping/ClientLooper.cpp | 2 +- src/tests/servers/app/newerClipping/ViewLayer.cpp | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/tests/servers/app/newerClipping/ClientLooper.cpp b/src/tests/servers/app/newerClipping/ClientLooper.cpp index 93bbd603a0..94372a18c3 100644 --- a/src/tests/servers/app/newerClipping/ClientLooper.cpp +++ b/src/tests/servers/app/newerClipping/ClientLooper.cpp @@ -38,7 +38,7 @@ ClientLooper::MessageReceived(BMessage* message) for (int32 i = 0; i < fViewCount; i++) { // the client is slow -// snooze(20000L); + snooze(20000L); // send the command to redraw a view BMessage command(MSG_DRAWING_COMMAND); command.AddInt32("token", i); diff --git a/src/tests/servers/app/newerClipping/ViewLayer.cpp b/src/tests/servers/app/newerClipping/ViewLayer.cpp index 4a748487c8..32971540a3 100644 --- a/src/tests/servers/app/newerClipping/ViewLayer.cpp +++ b/src/tests/servers/app/newerClipping/ViewLayer.cpp @@ -545,17 +545,25 @@ void ViewLayer::ClientDraw(DrawingEngine* drawingEngine, BRegion* effectiveClipping) { if (drawingEngine->Lock()) { - drawingEngine->ConstrainClippingRegion(effectiveClipping); // draw a frame with the view color BRect b(Bounds()); b.OffsetTo(0.0, 0.0); ConvertToTop(&b); + drawingEngine->PushState(); + drawingEngine->ConstrainClippingRegion(effectiveClipping); + drawingEngine->SetHighColor(fViewColor); + drawingEngine->SetDrawingMode(B_OP_BLEND); drawingEngine->StrokeRect(b); + b.InsetBy(1, 1); + drawingEngine->StrokeRect(b); + b.InsetBy(1, 1); + drawingEngine->StrokeRect(b); + b.InsetBy(1, 1); drawingEngine->StrokeLine(b.LeftTop(), b.RightBottom()); - drawingEngine->ConstrainClippingRegion(NULL); + drawingEngine->PopState(); drawingEngine->MarkDirty(effectiveClipping); drawingEngine->Unlock();