TAChart: Make TBarSeries use datapoint color without overriding style color.

git-svn-id: trunk@60442 -
This commit is contained in:
wp 2019-02-16 22:37:02 +00:00
parent 7dd969b437
commit 87be7a4818

View File

@ -79,9 +79,9 @@ type
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
destructor Destroy; override; destructor Destroy; override;
public public
function GetBarWidth(AIndex: Integer): Integer;
procedure Draw(ADrawer: IChartDrawer); override; procedure Draw(ADrawer: IChartDrawer); override;
function Extent: TDoubleRect; override; function Extent: TDoubleRect; override;
function GetBarWidth(AIndex: Integer): Integer;
function GetNearestPoint(const AParams: TNearestPointParams; function GetNearestPoint(const AParams: TNearestPointParams;
out AResults: TNearestPointResults): Boolean; override; out AResults: TNearestPointResults): Boolean; override;
published published
@ -1135,13 +1135,13 @@ var
c: TColor; c: TColor;
ic: IChartTCanvasDrawer; ic: IChartTCanvasDrawer;
begin begin
ADrawer.Brush := BarBrush;
ADrawer.Pen := BarPen; ADrawer.Pen := BarPen;
if Styles <> nil then ADrawer.Brush := BarBrush;
Styles.Apply(ADrawer, stackIndex);
c := Source[pointIndex]^.Color; c := Source[pointIndex]^.Color;
if c <> clTAColor then if c <> clTAColor then
ADrawer.BrushColor := c; ADrawer.BrushColor := c;
if Styles <> nil then
Styles.Apply(ADrawer, stackIndex);
sz := Size(AR); sz := Size(AR);
if (sz.cx <= 2) or (sz.cy <= 2) then begin if (sz.cx <= 2) or (sz.cy <= 2) then begin
// Bars are too small to distinguish the border from the interior. // Bars are too small to distinguish the border from the interior.