mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-02 09:19:15 +02:00
* Patch from Pascal RiekenBerg to fix wrong coordinates in PDF shape rendering (Bug ID 32448)
git-svn-id: trunk@37271 -
This commit is contained in:
parent
6e67a1a332
commit
642e08a573
@ -277,12 +277,16 @@ begin
|
||||
APage.SetColor(clblack, True);
|
||||
APage.SetColor(clblack, False);
|
||||
|
||||
{ PDF origin coordinate is Bottom-Left, and Report Layout is Top-Left }
|
||||
lPt1.X := ABand.RTLayout.Left + AShape.RTLayout.Left;
|
||||
lPt1.Y := ABand.RTLayout.Top + AShape.RTLayout.Top;
|
||||
lPt1.Y := ABand.RTLayout.Top + AShape.RTLayout.Top + AShape.RTLayout.Height;
|
||||
|
||||
{ Frame must be drawn before the text as it could have a fill color. }
|
||||
{ Frame must be drawn before the shape as it could have a fill color. }
|
||||
RenderFrame(APage, ABand, AShape.Frame, lPt1, AShape.RTLayout.Width, AShape.RTLayout.Height);
|
||||
RenderShape(APage, lPt1, AShape);
|
||||
{ Only render shape when color is set and color is different to frame background color. }
|
||||
if (TFPReportShape(AShape).Color <> clNone) and
|
||||
(TFPReportShape(AShape).Color <> AShape.Frame.BackgroundColor) then
|
||||
RenderShape(APage, lPt1, AShape);
|
||||
end;
|
||||
|
||||
type
|
||||
@ -442,11 +446,11 @@ begin
|
||||
begin
|
||||
ldx := 0;
|
||||
ldy := (ALayout.Height - ALayout.Width) / 2;
|
||||
lw := ALayout.Height;
|
||||
lw := ALayout.Width;
|
||||
end;
|
||||
{ PDF origin coordinate is Bottom-Left, and Report Layout is Top-Left }
|
||||
lPt2.X := lPt1.X + ldx;
|
||||
lPt2.Y := lPt1.Y + ldy;
|
||||
lPt2.Y := lPt1.Y - ldy;
|
||||
APage.DrawEllipse(lPt2, lw, lw, 1, False, True);
|
||||
end;
|
||||
|
||||
@ -514,11 +518,11 @@ begin
|
||||
begin
|
||||
ldx := 0;
|
||||
ldy := (ALayout.Height - ALayout.Width) / 2;
|
||||
lw := ALayout.Height;
|
||||
lw := ALayout.Width;
|
||||
end;
|
||||
P.X := lPt1.X + ldx;
|
||||
{ PDF origin coordinate is Bottom-Left, and Report Layout is Top-Left }
|
||||
P.Y := lPt1.Y + ldy;
|
||||
P.Y := lPt1.Y - ldy;
|
||||
APage.DrawRect(P, lw, lw, 1, False, True);
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user