TAChart: Extract BoundsSize utility function

git-svn-id: trunk@24329 -
This commit is contained in:
ask 2010-04-01 03:38:02 +00:00
parent 93833e99ed
commit bce837f856
3 changed files with 10 additions and 3 deletions

View File

@ -382,7 +382,7 @@ procedure TChartAxis.Draw(
AY += -TickLength - Marks.Distance - sz.cy
else
AY += TickLength + Marks.Distance;
Marks.DrawLabel(ACanvas, Bounds(x - sz.cx div 2, AY, sz.cx, sz.cy), AText);
Marks.DrawLabel(ACanvas, BoundsSize(x - sz.cx div 2, AY, sz), AText);
end;
procedure DrawYMark(AX: Integer; AMark: Double; const AText: String);
@ -410,7 +410,7 @@ procedure TChartAxis.Draw(
AX += -TickLength - Marks.Distance - sz.cx
else
AX += TickLength + Marks.Distance;
Marks.DrawLabel(ACanvas, Bounds(AX, y - sz.cy div 2, sz.cx, sz.cy), AText);
Marks.DrawLabel(ACanvas, BoundsSize(AX, y - sz.cy div 2, sz), AText);
end;
procedure DoDraw(AMin, AMax: Double);

View File

@ -150,6 +150,8 @@ const
CASE_OF_TWO: array [Boolean, Boolean] of TCaseOfTwo =
((cotNone, cotSecond), (cotFirst, cotBoth));
function BoundsSize(ALeft, ATop: Integer; ASize: TSize): TRect; inline;
function DoubleRect(AX1, AY1, AX2, AY2: Double): TDoubleRect; inline;
procedure DrawLineDepth(ACanvas: TCanvas; AX1, AY1, AX2, AY2, ADepth: Integer);
@ -196,6 +198,11 @@ implementation
uses
LCLIntf;
function BoundsSize(ALeft, ATop: Integer; ASize: TSize): TRect; inline;
begin
Result := Bounds(ALeft, ATop, ASize.cx, ASize.cy);
end;
procedure CalculateIntervals(
AMin, AMax: Double; AxisScale: TAxisScale; out AStart, AStep: Double);
var

View File

@ -576,7 +576,7 @@ procedure TBasicPointSeries.DrawLabels(ACanvas: TCanvas);
center.X += OFFSETS[ADir].X * (Marks.Distance + sz.cx div 2);
center.Y += OFFSETS[ADir].Y * (Marks.Distance + sz.cy div 2);
with center do
labelRect := Bounds(X - sz.cx div 2, Y - sz.cy div 2, sz.cx, sz.cy);
labelRect := BoundsSize(X - sz.cx div 2, Y - sz.cy div 2, sz);
if
not IsRectEmpty(FPrevLabelRect) and
IntersectRect(dummy, labelRect, FPrevLabelRect)