diff --git a/components/tachart/tachartaxis.pas b/components/tachart/tachartaxis.pas index 37423c8b90..3fca3bb565 100644 --- a/components/tachart/tachartaxis.pas +++ b/components/tachart/tachartaxis.pas @@ -160,6 +160,7 @@ type function IsVertical: Boolean; inline; procedure Measure( const AExtent: TDoubleRect; var AMeasureData: TChartAxisGroup); + function MeasureLabelSize(ADrawer: IChartDrawer): Integer; function PositionToCoord(const ARect: TRect): Integer; procedure PrepareHelper( ADrawer: IChartDrawer; const ATransf: ICoordTransformer; @@ -875,6 +876,19 @@ begin end; end; +function TChartAxis.MeasureLabelSize(ADrawer: IChartDrawer): Integer; +var + sz: Integer; + mv: TChartValueTextArray = nil; + i: Integer; +begin + SetLength(mv, ValueCount); + for i := 0 to ValueCount - 1 do + mv[i] := Value[i]; + sz := Marks.Measure(ADrawer, not IsVertical, TickLength, mv); + Result := round(sz); +end; + function TChartAxis.PositionIsStored: Boolean; begin Result := not SameValue(Position, 0.0);