From d96389c199d88dfdade7912a5c319381489f46b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Wed, 3 May 2006 20:33:18 +0000 Subject: [PATCH] fixed BView::Stroke/FillPolygon(), the bounds were not converted to screen and the clipping decision was based on it git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17310 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/ServerWindow.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/servers/app/ServerWindow.cpp b/src/servers/app/ServerWindow.cpp index 21b1bb563a..85d0e3817e 100644 --- a/src/servers/app/ServerWindow.cpp +++ b/src/servers/app/ServerWindow.cpp @@ -2002,7 +2002,8 @@ ServerWindow::_DispatchViewDrawingMessage(int32 code, BPrivate::LinkReceiver &li link.Read(&span); fCurrentLayer->ConvertToScreenForDrawing(&r); - drawingEngine->DrawArc(r, angle, span, fCurrentLayer->CurrentState(), code == AS_FILL_ARC); + drawingEngine->DrawArc(r, angle, span, fCurrentLayer->CurrentState(), + code == AS_FILL_ARC); break; } case AS_STROKE_BEZIER: @@ -2016,7 +2017,8 @@ ServerWindow::_DispatchViewDrawingMessage(int32 code, BPrivate::LinkReceiver &li fCurrentLayer->ConvertToScreenForDrawing(&pts[i]); } - drawingEngine->DrawBezier(pts, fCurrentLayer->CurrentState(), code == AS_FILL_BEZIER); + drawingEngine->DrawBezier(pts, fCurrentLayer->CurrentState(), + code == AS_FILL_BEZIER); break; } case AS_STROKE_ELLIPSE: @@ -2083,6 +2085,7 @@ ServerWindow::_DispatchViewDrawingMessage(int32 code, BPrivate::LinkReceiver &li if (link.Read(pointList, pointCount * sizeof(BPoint)) >= B_OK) { for (int32 i = 0; i < pointCount; i++) fCurrentLayer->ConvertToScreenForDrawing(&pointList[i]); + fCurrentLayer->ConvertToScreenForDrawing(&polyFrame); drawingEngine->DrawPolygon(pointList, pointCount, polyFrame, fCurrentLayer->CurrentState(), code == AS_FILL_POLYGON,