mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 18:49:19 +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;
|
FUpBound: Integer;
|
||||||
FUseReticule: Boolean;
|
FUseReticule: Boolean;
|
||||||
FOptimizeX: Boolean;
|
FOptimizeX: Boolean;
|
||||||
|
FSupportsZeroLevel: Boolean;
|
||||||
|
|
||||||
procedure AfterDrawPointer(
|
procedure AfterDrawPointer(
|
||||||
ADrawer: IChartDrawer; AIndex: Integer; const APos: TPoint); virtual;
|
ADrawer: IChartDrawer; AIndex: Integer; const APos: TPoint); virtual;
|
||||||
@ -1121,6 +1122,7 @@ begin
|
|||||||
Self.FPointer.Assign(Pointer);
|
Self.FPointer.Assign(Pointer);
|
||||||
Self.Stacked := Stacked;
|
Self.Stacked := Stacked;
|
||||||
Self.FUseReticule := UseReticule;
|
Self.FUseReticule := UseReticule;
|
||||||
|
Self.FSupportsZeroLevel := FSupportsZeroLevel;
|
||||||
end;
|
end;
|
||||||
inherited Assign(ASource);
|
inherited Assign(ASource);
|
||||||
end;
|
end;
|
||||||
@ -1249,6 +1251,7 @@ var
|
|||||||
style: TChartStyle;
|
style: TChartStyle;
|
||||||
lfont: TFont;
|
lfont: TFont;
|
||||||
curr, prev: Double;
|
curr, prev: Double;
|
||||||
|
ext: TDoubleRect;
|
||||||
begin
|
begin
|
||||||
if not Marks.IsMarkLabelsVisible then exit;
|
if not Marks.IsMarkLabelsVisible then exit;
|
||||||
|
|
||||||
@ -1256,13 +1259,17 @@ begin
|
|||||||
try
|
try
|
||||||
lfont.Assign(Marks.LabelFont);
|
lfont.Assign(Marks.LabelFont);
|
||||||
ParentChart.DisableRedrawing;
|
ParentChart.DisableRedrawing;
|
||||||
|
ext := Extent;
|
||||||
|
|
||||||
for i := FLoBound to FUpBound do begin
|
for i := FLoBound to FUpBound do begin
|
||||||
if IsNan(Source[i]^.Point) then
|
if IsNan(Source[i]^.Point) then
|
||||||
continue;
|
continue;
|
||||||
y := Source[i]^.Y;
|
y := Source[i]^.Y;
|
||||||
ysum := y;
|
ysum := y;
|
||||||
prev := GetZeroLevel;
|
if FSupportsZeroLevel then
|
||||||
|
prev := GetZeroLevel
|
||||||
|
else
|
||||||
|
prev := TDoublePointBoolArr(ext.a)[not IsRotated];
|
||||||
ld := GetLabelDirection(i);
|
ld := GetLabelDirection(i);
|
||||||
for si := 0 to Source.YCount - 1 do begin
|
for si := 0 to Source.YCount - 1 do begin
|
||||||
if Styles <> nil then begin
|
if Styles <> nil then begin
|
||||||
|
@ -1072,6 +1072,7 @@ begin
|
|||||||
|
|
||||||
FStacked := true;
|
FStacked := true;
|
||||||
FOptimizeX := false;
|
FOptimizeX := false;
|
||||||
|
FSupportsZeroLevel := true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TBarSeries.Destroy;
|
destructor TBarSeries.Destroy;
|
||||||
@ -1469,6 +1470,7 @@ begin
|
|||||||
FAreaLinesPen := TPen.Create;
|
FAreaLinesPen := TPen.Create;
|
||||||
FAreaLinesPen.OnChange := @StyleChanged;
|
FAreaLinesPen.OnChange := @StyleChanged;
|
||||||
FStacked := true;
|
FStacked := true;
|
||||||
|
FSupportsZeroLevel := FUseZeroLevel;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TAreaSeries.Destroy;
|
destructor TAreaSeries.Destroy;
|
||||||
@ -1757,6 +1759,7 @@ procedure TAreaSeries.SetUseZeroLevel(AValue: Boolean);
|
|||||||
begin
|
begin
|
||||||
if FUseZeroLevel = AValue then exit;
|
if FUseZeroLevel = AValue then exit;
|
||||||
FUseZeroLevel := AValue;
|
FUseZeroLevel := AValue;
|
||||||
|
FSupportsZeroLevel := FUseZeroLevel;
|
||||||
UpdateParentChart;
|
UpdateParentChart;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user