From f51dd9a202e3a3e1c3c491fe30fbbd7c0ae57c04 Mon Sep 17 00:00:00 2001 From: wp Date: Mon, 30 Jan 2017 09:30:42 +0000 Subject: [PATCH] TAChart: Fix drawing of bracket pointer symbols. git-svn-id: trunk@54034 - --- components/tachart/tatypes.pas | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/components/tachart/tatypes.pas b/components/tachart/tatypes.pas index af17726fb9..ab6af73390 100644 --- a/components/tachart/tatypes.pas +++ b/components/tachart/tatypes.pas @@ -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);