From c4a17bf926f221d87fcfe3354c1105c66ed0ee88 Mon Sep 17 00:00:00 2001 From: Frank Freeman Date: Sun, 30 Jan 2022 00:59:35 +0000 Subject: [PATCH] TAMultiseries.pas fix for #39616 TBoxAndWhiskerSeries cannot use different color on each point for box border, whiskers and median --- components/tachart/tamultiseries.pas | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/components/tachart/tamultiseries.pas b/components/tachart/tamultiseries.pas index e0161c3897..fdc8c28ad1 100644 --- a/components/tachart/tamultiseries.pas +++ b/components/tachart/tamultiseries.pas @@ -1020,6 +1020,8 @@ begin ww := w * WhiskersWidth; ADrawer.Pen := WhiskersPen; + if (Source[i]^.Color <> clTAColor) and (WhiskersPen.Color = clTAColor) then + ADrawer.SetPenColor(Source[i]^.Color); ADrawer.SetBrushParams(bsClear, clTAColor); DoLine(x - ww, ymin, x + ww, ymin); DoLine(x, ymin, x, yqmin); @@ -1027,11 +1029,17 @@ begin DoLine(x, ymax, x, yqmax); ADrawer.Pen := BoxPen; if Source[i]^.Color <> clTAColor then - ADrawer.SetBrushParams(bsSolid, Source[i]^.Color) + begin + if BoxPen.Color = clTAColor then + ADrawer.SetPenColor(Source[i]^.Color); + ADrawer.SetBrushParams(bsSolid, Source[i]^.Color); + end else ADrawer.Brush := BoxBrush; DoRect(x - wb, yqmin, x + wb, yqmax); ADrawer.Pen := MedianPen; + if (Source[i]^.Color <> clTAColor) and (MedianPen.Color = clTAColor) then + ADrawer.SetPenColor(Source[i]^.Color); ADrawer.SetBrushParams(bsClear, clTAColor); DoLine(x - wb, ymed, x + wb, ymed); end;