mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 09:16:13 +02:00
Qt: bugfix - TQtWidgetSet.Polygon() was wrong on MacOsX.
git-svn-id: trunk@18620 -
This commit is contained in:
parent
be1f7a30e1
commit
00da47ed08
@ -3799,6 +3799,9 @@ end;
|
||||
------------------------------------------------------------------------------}
|
||||
function TQtWidgetSet.Polygon(DC: HDC; Points: PPoint; NumPts: Integer;
|
||||
Winding: Boolean): boolean;
|
||||
var
|
||||
QtPoints: PQtPoint;
|
||||
i: integer;
|
||||
begin
|
||||
{$ifdef VerboseQtWinAPI}
|
||||
WriteLn('[WinAPI Polygon] DC: ', dbghex(DC));
|
||||
@ -3806,13 +3809,17 @@ begin
|
||||
Result := IsValidDC(DC);
|
||||
if Result then
|
||||
begin
|
||||
GetMem(QtPoints, NumPts * SizeOf(TQtPoint));
|
||||
for i := 0 to NumPts - 1 do
|
||||
QtPoints[i] := QtPoint(Points[i].x, Points[i].y);
|
||||
{TODO: discuss with other developers about antialiasing by default}
|
||||
// QPainter_setRenderHint(TQtDeviceContext(DC).Widget, QPainterAntialiasing, True);
|
||||
if Winding
|
||||
then
|
||||
QPainter_drawPolygon(TQtDeviceContext(DC).Widget, PQtPoint(Points), NumPts, QtWindingFill)
|
||||
QPainter_drawPolygon(TQtDeviceContext(DC).Widget, QtPoints, NumPts, QtWindingFill)
|
||||
else
|
||||
QPainter_drawPolygon(TQtDeviceContext(DC).Widget, PQtPoint(Points), NumPts, QtOddEvenFill);
|
||||
QPainter_drawPolygon(TQtDeviceContext(DC).Widget, QtPoints, NumPts, QtOddEvenFill);
|
||||
FreeMem(QtPoints);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user