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
This commit is contained in:
Stephan Aßmus
2005-11-26 14:33:26 +00:00
parent 7f705589e2
commit cfc40fb337
2 changed files with 11 additions and 3 deletions
@@ -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);
@@ -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();