From 1b3e5ae738129eb9a84fc61d2973a21bf57b69ad Mon Sep 17 00:00:00 2001 From: Jesus Reyes A Date: Thu, 23 May 2024 13:54:51 -0600 Subject: [PATCH] LazReport: Fix illegal set conversion --- .../lazreport/source/addons/pdfexport/lr_e_pdf.pas | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/components/lazreport/source/addons/pdfexport/lr_e_pdf.pas b/components/lazreport/source/addons/pdfexport/lr_e_pdf.pas index 7c56c53b0e..7361ccb47a 100644 --- a/components/lazreport/source/addons/pdfexport/lr_e_pdf.pas +++ b/components/lazreport/source/addons/pdfexport/lr_e_pdf.pas @@ -90,6 +90,15 @@ const PDFEscx = 0.792553191; PDFEscy = 0.785447761; +function CornerSetToPdfCorners(cs: TCornerSet): TPdfCorners; +begin + result := []; + if ctTopLeft in cs then Include(result, pcTopLeft); + if ctBottomLeft in cs then Include(result, pcBottomLeft); + if ctBottomRight in cs then Include(result, pcBottomRight); + if ctTopRight in cs then Include(result, pcTopRight); +end; + procedure TfrTNPDFExportFilter.AddShape(Data: TShapeData; x, y, h, w: integer); function CreateShape(ShapeClass: TPRShapeClass): TPRShape; @@ -117,7 +126,7 @@ begin frstRoundRect: with TPRRect(CreateShape(TPRRect)) do begin Radius := Data.Radius; - SquaredCorners := TPdfCorners(Data.Corners); + SquaredCorners := CornerSetToPdfCorners(Data.Corners); GradientColor := Data.GradientColor; GradientDirection := Data.GradientDirection; end;