mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 09:19:22 +02:00
TAChart: Correct vertical position of stacked bar series centered labels if ZeroLevel is not used.
git-svn-id: trunk@60087 -
This commit is contained in:
parent
ca3d4a29d7
commit
12f19c342d
@ -278,6 +278,7 @@ type
|
||||
FUpBound: Integer;
|
||||
FUseReticule: Boolean;
|
||||
FOptimizeX: Boolean;
|
||||
FSupportsZeroLevel: Boolean;
|
||||
|
||||
procedure AfterDrawPointer(
|
||||
ADrawer: IChartDrawer; AIndex: Integer; const APos: TPoint); virtual;
|
||||
@ -1121,6 +1122,7 @@ begin
|
||||
Self.FPointer.Assign(Pointer);
|
||||
Self.Stacked := Stacked;
|
||||
Self.FUseReticule := UseReticule;
|
||||
Self.FSupportsZeroLevel := FSupportsZeroLevel;
|
||||
end;
|
||||
inherited Assign(ASource);
|
||||
end;
|
||||
@ -1249,6 +1251,7 @@ var
|
||||
style: TChartStyle;
|
||||
lfont: TFont;
|
||||
curr, prev: Double;
|
||||
ext: TDoubleRect;
|
||||
begin
|
||||
if not Marks.IsMarkLabelsVisible then exit;
|
||||
|
||||
@ -1256,13 +1259,17 @@ begin
|
||||
try
|
||||
lfont.Assign(Marks.LabelFont);
|
||||
ParentChart.DisableRedrawing;
|
||||
ext := Extent;
|
||||
|
||||
for i := FLoBound to FUpBound do begin
|
||||
if IsNan(Source[i]^.Point) then
|
||||
continue;
|
||||
y := Source[i]^.Y;
|
||||
ysum := y;
|
||||
prev := GetZeroLevel;
|
||||
if FSupportsZeroLevel then
|
||||
prev := GetZeroLevel
|
||||
else
|
||||
prev := TDoublePointBoolArr(ext.a)[not IsRotated];
|
||||
ld := GetLabelDirection(i);
|
||||
for si := 0 to Source.YCount - 1 do begin
|
||||
if Styles <> nil then begin
|
||||
|
@ -1072,6 +1072,7 @@ begin
|
||||
|
||||
FStacked := true;
|
||||
FOptimizeX := false;
|
||||
FSupportsZeroLevel := true;
|
||||
end;
|
||||
|
||||
destructor TBarSeries.Destroy;
|
||||
@ -1469,6 +1470,7 @@ begin
|
||||
FAreaLinesPen := TPen.Create;
|
||||
FAreaLinesPen.OnChange := @StyleChanged;
|
||||
FStacked := true;
|
||||
FSupportsZeroLevel := FUseZeroLevel;
|
||||
end;
|
||||
|
||||
destructor TAreaSeries.Destroy;
|
||||
@ -1757,6 +1759,7 @@ procedure TAreaSeries.SetUseZeroLevel(AValue: Boolean);
|
||||
begin
|
||||
if FUseZeroLevel = AValue then exit;
|
||||
FUseZeroLevel := AValue;
|
||||
FSupportsZeroLevel := FUseZeroLevel;
|
||||
UpdateParentChart;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user