lcl: less with-blocks due to FPC 3.1.1 new record methods

git-svn-id: trunk@50255 -
This commit is contained in:
mattias 2015-11-08 10:34:25 +00:00
parent 936b768f7c
commit 6eac9e78aa

View File

@ -57,13 +57,16 @@ begin
if PaintRect.Top = PaintRect.Bottom then if PaintRect.Top = PaintRect.Bottom then
PaintRect.Bottom := PaintRect.Bottom + 1; PaintRect.Bottom := PaintRect.Bottom + 1;
MinSize := Min(PaintRect.Right - PaintRect.Left, PaintRect.Bottom - PaintRect.Top); with PaintRect do
if FShape in [stSquare, stRoundSquare, stCircle, stSquaredDiamond] then
begin begin
PaintRect.Left := PaintRect.Left + ((PaintRect.Right - PaintRect.Left) - MinSize) div 2; MinSize := Min(Right - Left, Bottom - Top);
PaintRect.Top := PaintRect.Top + ((PaintRect.Bottom - PaintRect.Top) - MinSize) div 2; if FShape in [stSquare, stRoundSquare, stCircle, stSquaredDiamond] then
PaintRect.Right := PaintRect.Left + MinSize; begin
PaintRect.Bottom := PaintRect.Top + MinSize; Left := Left + ((Right - Left) - MinSize) div 2;
Top := Top + ((Bottom - Top) - MinSize) div 2;
Right := Left + MinSize;
Bottom := Top + MinSize;
end;
end; end;
case FShape of case FShape of
@ -75,99 +78,117 @@ begin
Ellipse(PaintRect); Ellipse(PaintRect);
stSquaredDiamond, stDiamond: stSquaredDiamond, stDiamond:
begin begin
P[0].x := PaintRect.Left; with PaintRect do
P[0].y := (PaintRect.Top + PaintRect.Bottom) div 2; begin
P[1].x := (PaintRect.Left + PaintRect.Right) div 2; P[0].x := Left;
P[1].y := PaintRect.Top; P[0].y := (Top + Bottom) div 2;
P[2].x := PaintRect.Right - 1; P[1].x := (Left + Right) div 2;
P[2].y := P[0].y; P[1].y := Top;
P[3].x := P[1].x; P[2].x := Right - 1;
P[3].y := PaintRect.Bottom - 1; P[2].y := P[0].y;
Polygon(P); P[3].x := P[1].x;
P[3].y := Bottom - 1;
Polygon(P);
end;
end; end;
stTriangle: stTriangle:
begin begin
P[0].x := (Width - 1) div 2; with Self do
P[0].y := PenInc; begin
P[1].x := Width - PenInc - 1; P[0].x := (Width - 1) div 2;
P[1].y := Height - PenInc - 1; P[0].y := PenInc;
P[2].x := PenInc; P[1].x := Width - PenInc - 1;
P[2].y := Height - PenInc - 1; P[1].y := Height - PenInc - 1;
P[3].x := P[0].x; P[2].x := PenInc;
P[3].y := P[0].y; P[2].y := Height - PenInc - 1;
Polygon(P); P[3].x := P[0].x;
P[3].y := P[0].y;
Polygon(P);
end;
end; end;
stTriangleDown: stTriangleDown:
begin begin
P[0].x := (Width - 1) div 2; with Self do
P[0].y := Height - PenInc - 1; begin
P[1].x := Width - PenInc - 1; P[0].x := (Width - 1) div 2;
P[1].y := PenInc; P[0].y := Height - PenInc - 1;
P[2].x := PenInc; P[1].x := Width - PenInc - 1;
P[2].y := PenInc; P[1].y := PenInc;
P[3].x := P[0].x; P[2].x := PenInc;
P[3].y := P[0].y; P[2].y := PenInc;
Polygon(P); P[3].x := P[0].x;
P[3].y := P[0].y;
Polygon(P);
end;
end; end;
stTriangleLeft: stTriangleLeft:
begin begin
P[0].x := PenInc; with Self do
P[0].y := Height div 2; begin
P[1].x := Width - PenInc - 1; P[0].x := PenInc;
P[1].y := PenInc; P[0].y := Height div 2;
P[2].x := Width - PenInc - 1; P[1].x := Width - PenInc - 1;
P[2].y := Height - PenInc - 1; P[1].y := PenInc;
P[3].x := P[0].x; P[2].x := Width - PenInc - 1;
P[3].y := P[0].y; P[2].y := Height - PenInc - 1;
Polygon(P); P[3].x := P[0].x;
P[3].y := P[0].y;
Polygon(P);
end;
end; end;
stTriangleRight: stTriangleRight:
begin begin
P[0].x := Width - PenInc - 1; with Self do
P[0].y := Height div 2; begin
P[1].x := PenInc; P[0].x := Width - PenInc - 1;
P[1].y := PenInc; P[0].y := Height div 2;
P[2].x := PenInc; P[1].x := PenInc;
P[2].y := Height - PenInc - 1; P[1].y := PenInc;
P[3].x := P[0].x; P[2].x := PenInc;
P[3].y := P[0].y; P[2].y := Height - PenInc - 1;
Polygon(P); P[3].x := P[0].x;
P[3].y := P[0].y;
Polygon(P);
end;
end; end;
stStar, stStar,
stStarDown: stStarDown:
begin begin
//radius if star scaled by height with Self do
RadiusBig := Trunc((Height-Pen.Width) / (1+cos(pi/5)));
//radius if star scaled by width
RadiusBig2 := Trunc((Width-Pen.Width) / (2*sin(pi*2/5)));
if RadiusBig<=RadiusBig2 then
begin begin
if FShape=stStar then //radius if star scaled by height
PCenter.Y := RadiusBig+PenDec RadiusBig := Trunc((Height-Pen.Width) / (1+cos(pi/5)));
//radius if star scaled by width
RadiusBig2 := Trunc((Width-Pen.Width) / (2*sin(pi*2/5)));
if RadiusBig<=RadiusBig2 then
begin
if FShape=stStar then
PCenter.Y := RadiusBig+PenDec
else
PCenter.Y := Height-RadiusBig-PenDec;
end
else else
PCenter.Y := Height-RadiusBig-PenDec; begin
end RadiusBig := RadiusBig2;
else PCenter.Y := Height div 2;
begin end;
RadiusBig := RadiusBig2; PCenter.X := Width div 2;
PCenter.Y := Height div 2; RadiusSm := RadiusBig * 57 div 150;
end;
PCenter.X := Width div 2;
RadiusSm := RadiusBig * 57 div 150;
for i := 0 to 4 do for i := 0 to 4 do
begin begin
Alfa := GetStarAngle(i*2, FShape=stStarDown); Alfa := GetStarAngle(i*2, FShape=stStarDown);
PStar[i*2].x := PCenter.X + Round(RadiusBig*cos(Alfa)); PStar[i*2].x := PCenter.X + Round(RadiusBig*cos(Alfa));
PStar[i*2].y := PCenter.Y - Round(RadiusBig*sin(Alfa)); PStar[i*2].y := PCenter.Y - Round(RadiusBig*sin(Alfa));
Alfa:= GetStarAngle(i*2+1, FShape=stStarDown); Alfa:= GetStarAngle(i*2+1, FShape=stStarDown);
PStar[i*2+1].x := PCenter.X + Round(RadiusSm*cos(Alfa)); PStar[i*2+1].x := PCenter.X + Round(RadiusSm*cos(Alfa));
PStar[i*2+1].y := PCenter.Y - Round(RadiusSm*sin(Alfa)); PStar[i*2+1].y := PCenter.Y - Round(RadiusSm*sin(Alfa));
end; end;
PStar[10] := PStar[0]; PStar[10] := PStar[0];
Polygon(PStar); Polygon(PStar);
end;
end; end;
end; end;
end; end;