From 823ef2484604d13dbc6f80b20ce652d0add217cf Mon Sep 17 00:00:00 2001 From: ask Date: Wed, 18 Aug 2010 02:49:17 +0000 Subject: [PATCH] TAChart: Extract TLineSeries.DrawSingleLineInStack procedure git-svn-id: trunk@27130 - --- components/tachart/taseries.pas | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/components/tachart/taseries.pas b/components/tachart/taseries.pas index 37cc3d8e29..2ae6d3f1fa 100644 --- a/components/tachart/taseries.pas +++ b/components/tachart/taseries.pas @@ -164,6 +164,7 @@ type FPointer: TSeriesPointer; FShowPoints: Boolean; + procedure DrawSingleLineInStack(ACanvas: TCanvas); function GetShowLines: Boolean; procedure SetLinePen(AValue: TPen); procedure SetLineType(AValue: TLineType); @@ -363,6 +364,21 @@ begin end; procedure TLineSeries.Draw(ACanvas: TCanvas); +var + ext: TDoubleRect; +begin + // Do not draw anything if the series extent does not intersect CurrentExtent. + ext.a := AxisToGraph(Source.Extent.a); + ext.b := AxisToGraph(Source.Extent.b); + if LineType = ltFromOrigin then + ExpandRect(ext, AxisToGraph(ZeroDoublePoint)); + if not RectIntersectsRect(ext, ParentChart.CurrentExtent) then exit; + + PrepareGraphPoints(ext, LineType <> ltFromOrigin); + DrawSingleLineInStack(ACanvas); +end; + +procedure TLineSeries.DrawSingleLineInStack(ACanvas: TCanvas); var points: array of TPoint; pointCount: Integer = 0; @@ -443,18 +459,8 @@ var var i: Integer; ai: TPoint; - ext: TDoubleRect; p: TDoublePoint; begin - // Do not draw anything if the series extent does not intersect CurrentExtent. - ext.a := AxisToGraph(Source.Extent.a); - ext.b := AxisToGraph(Source.Extent.b); - if LineType = ltFromOrigin then - ExpandRect(ext, AxisToGraph(ZeroDoublePoint)); - if not RectIntersectsRect(ext, ParentChart.CurrentExtent) then exit; - - PrepareGraphPoints(ext, LineType <> ltFromOrigin); - DrawLines; DrawLabels(ACanvas);