TAChart: Fix drawing of bracket pointer symbols.

git-svn-id: trunk@54034 -
This commit is contained in:
wp 2017-01-30 09:30:42 +00:00
parent 7cc7749739
commit f51dd9a202

View File

@ -407,11 +407,13 @@ procedure TSeriesPointer.DrawSize(ADrawer: IChartDrawer;
pts: array of TPoint;
i: Integer;
j: Integer = 0;
notClosed: Boolean;
begin
notClosed := (AStr[1] <> AStr[Length(AStr) - 1]);
SetLength(pts, Length(AStr));
for i := 1 to Length(AStr) do begin
if AStr[i] = ' ' then begin
if Brush.Style = bsClear then
if (Brush.Style = bsClear) or notClosed then
ADrawer.Polyline(pts, 0, j)
else
ADrawer.Polygon(pts, 0, j); // Winding?
@ -431,7 +433,7 @@ const
// psTriangle, psLeftTriangle, psRightTriangle, psVertBar, psHorBar, psPoint
'', '17931', '', '28 46', '19 73', '28 46 19 73',
'41236', '47896', '87412', '89632', '84268',
'183', '842', '862', '82', '46', '');
'1831', '8428', '8628', '82', '46', '');
begin
ADrawer.Brush := Brush;
if (ocBrush in OverrideColor) and (AColor <> clTAColor) then
@ -440,15 +442,14 @@ begin
if (ocPen in OverrideColor) and (AColor <> clTAColor) then
ADrawer.SetPenParams(Pen.Style, AColor);
if Style = psPoint then
ADrawer.PutPixel(ACenter.X, ACenter.Y, Pen.Color)
else
if Style = psCircle then
ADrawer.Ellipse(
ACenter.X - ASize.X, ACenter.Y - ASize.Y,
ACenter.X + ASize.X + 1, ACenter.Y + ASize.Y + 1)
else
DrawByString(DRAW_STRINGS[Style] + ' ');
case Style of
psNone : ;
psPoint : ADrawer.PutPixel(ACenter.X, ACenter.Y, Pen.Color);
psCircle: ADrawer.Ellipse(
ACenter.X - ASize.X, ACenter.Y - ASize.Y,
ACenter.X + ASize.X + 1, ACenter.Y + ASize.Y + 1)
else DrawByString(DRAW_STRINGS[Style] + ' ');
end;
end;
procedure TSeriesPointer.SetBrush(AValue: TBrush);