LCL: Optimize 5-angled star in TShape. Issue #35142, patch from Alexey Tor.

git-svn-id: trunk@60564 -
This commit is contained in:
juha 2019-03-02 21:32:59 +00:00
parent ad6f9cffb4
commit ccf69c22af

View File

@ -29,28 +29,28 @@ end;
// Angle of 5-angled star is function(N=0..9, Down) = pi/5 * N + pi/2 * IfThen(Down, -1, 1); // Angle of 5-angled star is function(N=0..9, Down) = pi/5 * N + pi/2 * IfThen(Down, -1, 1);
const const
CosStarBig: array[0..4, Boolean] of Double = ( CosStarBig: array[0..4, Boolean] of Single = (
(Cos( + pi/2), Cos( - pi/2)), (Cos( + pi/2), Cos( - pi/2)),
(Cos(2*pi/5 + pi/2), Cos(2*pi/5 - pi/2)), (Cos(2*pi/5 + pi/2), Cos(2*pi/5 - pi/2)),
(Cos(4*pi/5 + pi/2), Cos(4*pi/5 - pi/2)), (Cos(4*pi/5 + pi/2), Cos(4*pi/5 - pi/2)),
(Cos(6*pi/5 + pi/2), Cos(6*pi/5 - pi/2)), (Cos(6*pi/5 + pi/2), Cos(6*pi/5 - pi/2)),
(Cos(8*pi/5 + pi/2), Cos(8*pi/5 - pi/2)) (Cos(8*pi/5 + pi/2), Cos(8*pi/5 - pi/2))
); );
SinStarBig: array[0..4, Boolean] of Double = ( SinStarBig: array[0..4, Boolean] of Single = (
(Sin( + pi/2), Sin( - pi/2)), (Sin( + pi/2), Sin( - pi/2)),
(Sin(2*pi/5 + pi/2), Sin(2*pi/5 - pi/2)), (Sin(2*pi/5 + pi/2), Sin(2*pi/5 - pi/2)),
(Sin(4*pi/5 + pi/2), Sin(4*pi/5 - pi/2)), (Sin(4*pi/5 + pi/2), Sin(4*pi/5 - pi/2)),
(Sin(6*pi/5 + pi/2), Sin(6*pi/5 - pi/2)), (Sin(6*pi/5 + pi/2), Sin(6*pi/5 - pi/2)),
(Sin(8*pi/5 + pi/2), Sin(8*pi/5 - pi/2)) (Sin(8*pi/5 + pi/2), Sin(8*pi/5 - pi/2))
); );
CosStarSmall: array[0..4, Boolean] of Double = ( CosStarSmall: array[0..4, Boolean] of Single = (
(Cos( pi/5 + pi/2), Cos( pi/5 - pi/2)), (Cos( pi/5 + pi/2), Cos( pi/5 - pi/2)),
(Cos(3*pi/5 + pi/2), Cos(3*pi/5 - pi/2)), (Cos(3*pi/5 + pi/2), Cos(3*pi/5 - pi/2)),
(Cos(5*pi/5 + pi/2), Cos(5*pi/5 - pi/2)), (Cos(5*pi/5 + pi/2), Cos(5*pi/5 - pi/2)),
(Cos(7*pi/5 + pi/2), Cos(7*pi/5 - pi/2)), (Cos(7*pi/5 + pi/2), Cos(7*pi/5 - pi/2)),
(Cos(9*pi/5 + pi/2), Cos(9*pi/5 - pi/2)) (Cos(9*pi/5 + pi/2), Cos(9*pi/5 - pi/2))
); );
SinStarSmall: array[0..4, Boolean] of Double = ( SinStarSmall: array[0..4, Boolean] of Single = (
(Sin( pi/5 + pi/2), Sin( pi/5 - pi/2)), (Sin( pi/5 + pi/2), Sin( pi/5 - pi/2)),
(Sin(3*pi/5 + pi/2), Sin(3*pi/5 - pi/2)), (Sin(3*pi/5 + pi/2), Sin(3*pi/5 - pi/2)),
(Sin(5*pi/5 + pi/2), Sin(5*pi/5 - pi/2)), (Sin(5*pi/5 + pi/2), Sin(5*pi/5 - pi/2)),
@ -69,7 +69,6 @@ var
PenInc, PenDec: Integer; PenInc, PenDec: Integer;
RadiusBig, RadiusBig2, RadiusSm, i: Integer; RadiusBig, RadiusBig2, RadiusSm, i: Integer;
PCenter: TPoint; PCenter: TPoint;
Alfa: Double;
begin begin
with Canvas do with Canvas do
begin begin