From bce837f856faba85d681481877dc355258d23f7f Mon Sep 17 00:00:00 2001 From: ask Date: Thu, 1 Apr 2010 03:38:02 +0000 Subject: [PATCH] TAChart: Extract BoundsSize utility function git-svn-id: trunk@24329 - --- components/tachart/tachartaxis.pas | 4 ++-- components/tachart/tachartutils.pas | 7 +++++++ components/tachart/taseries.pas | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/components/tachart/tachartaxis.pas b/components/tachart/tachartaxis.pas index 0227070348..b911c6096a 100644 --- a/components/tachart/tachartaxis.pas +++ b/components/tachart/tachartaxis.pas @@ -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); diff --git a/components/tachart/tachartutils.pas b/components/tachart/tachartutils.pas index a8fbcbf901..76425ce1e2 100644 --- a/components/tachart/tachartutils.pas +++ b/components/tachart/tachartutils.pas @@ -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 diff --git a/components/tachart/taseries.pas b/components/tachart/taseries.pas index 021d105af8..2e4ff5f1b2 100644 --- a/components/tachart/taseries.pas +++ b/components/tachart/taseries.pas @@ -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)