From 54f7283aa06371c2601afc756142c919457652c4 Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Fri, 1 Apr 2005 02:06:07 +0000 Subject: [PATCH] Appearantly StrokeLineArray is used in BButton rendering. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12210 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../app/drawing/DisplayDriverPainter.cpp | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/servers/app/drawing/DisplayDriverPainter.cpp b/src/servers/app/drawing/DisplayDriverPainter.cpp index 12e5d7a6af..7b548bbaab 100644 --- a/src/servers/app/drawing/DisplayDriverPainter.cpp +++ b/src/servers/app/drawing/DisplayDriverPainter.cpp @@ -1097,8 +1097,29 @@ DisplayDriverPainter::StrokeLineArray(const int32 &numlines, const LineArrayData *linedata, const DrawData *d) { - // I'm suspecting this is not used - printf("DisplayDriverPainter::StrokeLineArray()\n"); + if(!d || !linedata || numlines <= 0) + return; + + if (Lock()) { + DrawData d; + d.draw_mode = B_OP_COPY; + const LineArrayData *data; + + data = (const LineArrayData *)&(linedata[0]); + d.highcolor = data->color; + fPainter->SetDrawData(&d); + BRect touched = fPainter->StrokeLine(data->pt1, data->pt2); + + for (int32 i = 1; i < numlines; i++) { + data = (const LineArrayData *)&(linedata[i]); + d.highcolor = data->color; + fPainter->SetDrawData(&d); + touched = touched | fPainter->StrokeLine(data->pt1, data->pt2); + } + + fGraphicsCard->Invalidate(touched); + Unlock(); + } } // SetDPMSMode