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:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user