Implement RP_DRAW_BITMAP_RECTS on the client side.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40015 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -772,6 +772,35 @@ RemoteView::_DrawThread()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case RP_DRAW_BITMAP_RECTS:
|
||||||
|
{
|
||||||
|
color_space colorSpace;
|
||||||
|
int32 rectCount;
|
||||||
|
uint32 flags, options;
|
||||||
|
|
||||||
|
message.Read(options);
|
||||||
|
message.Read(colorSpace);
|
||||||
|
message.Read(flags);
|
||||||
|
message.Read(rectCount);
|
||||||
|
for (int32 i = 0; i < rectCount; i++) {
|
||||||
|
BBitmap *bitmap;
|
||||||
|
BRect viewRect;
|
||||||
|
|
||||||
|
message.Read(viewRect);
|
||||||
|
if (message.ReadBitmap(&bitmap, true, colorSpace,
|
||||||
|
flags) != B_OK || bitmap == NULL) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
offscreen->DrawBitmap(bitmap, bitmap->Bounds(), viewRect,
|
||||||
|
options);
|
||||||
|
invalidRegion.Include(viewRect);
|
||||||
|
delete bitmap;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case RP_STROKE_ARC:
|
case RP_STROKE_ARC:
|
||||||
case RP_FILL_ARC:
|
case RP_FILL_ARC:
|
||||||
case RP_FILL_ARC_GRADIENT:
|
case RP_FILL_ARC_GRADIENT:
|
||||||
@@ -1229,7 +1258,7 @@ RemoteView::_DrawThread()
|
|||||||
if (syncDrawing) {
|
if (syncDrawing) {
|
||||||
offscreen->Sync();
|
offscreen->Sync();
|
||||||
Invalidate(&invalidRegion);
|
Invalidate(&invalidRegion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user