From a81b58fb8bb71960d7711cdd0fce4190984e983b Mon Sep 17 00:00:00 2001 From: ask Date: Mon, 15 Jun 2009 14:08:56 +0000 Subject: [PATCH] TAChart: Minor refactoring. git-svn-id: trunk@20634 - --- components/tachart/tachartutils.pas | 1 + components/tachart/tagraph.pas | 17 ++++++----------- components/tachart/taseries.pas | 3 +-- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/components/tachart/tachartutils.pas b/components/tachart/tachartutils.pas index cc4ac7754a..07800bfa3a 100644 --- a/components/tachart/tachartutils.pas +++ b/components/tachart/tachartutils.pas @@ -38,6 +38,7 @@ const clTeal, clNavy, clMaroon, clLime, clOlive, clPurple, clSilver, clAqua); clTAColor = clScrollBar; CHART_COMPONENT_IDE_PAGE = 'Chart'; + PERCENT = 0.01; type EChartError = class(Exception); diff --git a/components/tachart/tagraph.pas b/components/tachart/tagraph.pas index b4b2e7246f..f2395dd422 100644 --- a/components/tachart/tagraph.pas +++ b/components/tachart/tagraph.pas @@ -1160,15 +1160,12 @@ procedure TChart.UpdateExtent; procedure SetBounds( var ALo, AHi: Double; AMin, AMax: Double; AUseMin, AUseMax: Boolean); const - PERCENT = 0.01; DEFAULT_WIDTH = 2.0; - var - ext: Double; begin if AUseMin then ALo := AMin; if AUseMax then AHi := AMax; - case Ord(ALo = Infinity) * 2 + Ord(AHi = NegInfinity) of - 0: begin // Both high and low boundary defined + case CASE_OF_TWO[ALo = Infinity, AHi = NegInfinity] of + cotNone: begin // Both high and low boundary defined if ALo = AHi then begin ALo -= DEFAULT_WIDTH / 2; AHi += DEFAULT_WIDTH / 2; @@ -1176,14 +1173,12 @@ procedure TChart.UpdateExtent; else begin if ALo > AHi then Exchange(ALo, AHi); // Expand view slightly to avoid data points on the chart edge. - ext := ExpandPercentage * PERCENT * Max(AHi - ALo, 1); - ALo -= ext; - AHi += ext; + ExpandRange(ALo, AHi, ExpandPercentage * PERCENT); end; end; - 1: AHi := ALo + DEFAULT_WIDTH; - 2: ALo := AHi - DEFAULT_WIDTH; - 3: begin // No boundaries defined, take some arbitrary values + cotFirst: ALo := AHi - DEFAULT_WIDTH; + cotSecond: AHi := ALo + DEFAULT_WIDTH; + cotBoth: begin // No boundaries defined, take some arbitrary values ALo := -DEFAULT_WIDTH / 2; AHi := DEFAULT_WIDTH / 2; end; diff --git a/components/tachart/taseries.pas b/components/tachart/taseries.pas index a17d9d29b4..f4c6e4a3da 100644 --- a/components/tachart/taseries.pas +++ b/components/tachart/taseries.pas @@ -106,7 +106,6 @@ type TBarSeries = class(TBasicPointSeries) private - FAdjustBarWidth: Boolean; FBarBrush: TBrush; FBarPen: TPen; FBarWidthPercent: Integer; @@ -947,7 +946,7 @@ begin Abs(AX - Source[AIndex - 1]^.X), Abs(AX - Source[AIndex + 1]^.X)); end; - Result *= FBarWidthPercent * 0.01 / 2; + Result *= FBarWidthPercent * PERCENT / 2; end; constructor TBarSeries.Create(AOwner: TComponent);