mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-13 17:52:59 +02:00
TAChart: Add TDataPointTool.DistanceMode property
git-svn-id: trunk@32078 -
This commit is contained in:
parent
3d47dcc48a
commit
96bc72c285
@ -293,11 +293,14 @@ type
|
|||||||
property Margins: TChartMargins read FMargins write FMargins;
|
property Margins: TChartMargins read FMargins write FMargins;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
TChartDistanceMode = (cdmXY, cdmOnlyX, cdmOnlyY);
|
||||||
|
|
||||||
{ TDataPointTool }
|
{ TDataPointTool }
|
||||||
|
|
||||||
TDataPointTool = class(TChartTool)
|
TDataPointTool = class(TChartTool)
|
||||||
strict private
|
strict private
|
||||||
FAffectedSeries: String;
|
FAffectedSeries: String;
|
||||||
|
FDistanceMode: TChartDistanceMode;
|
||||||
FGrabRadius: Integer;
|
FGrabRadius: Integer;
|
||||||
function ParseAffectedSeries: TBooleanDynArray;
|
function ParseAffectedSeries: TBooleanDynArray;
|
||||||
strict protected
|
strict protected
|
||||||
@ -313,6 +316,8 @@ type
|
|||||||
property Series: TBasicChartSeries read FSeries;
|
property Series: TBasicChartSeries read FSeries;
|
||||||
published
|
published
|
||||||
property AffectedSeries: String read FAffectedSeries write FAffectedSeries;
|
property AffectedSeries: String read FAffectedSeries write FAffectedSeries;
|
||||||
|
property DistanceMode: TChartDistanceMode
|
||||||
|
read FDistanceMode write FDistanceMode default cdmXY;
|
||||||
property GrabRadius: Integer read FGrabRadius write FGrabRadius default 4;
|
property GrabRadius: Integer read FGrabRadius write FGrabRadius default 4;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1277,12 +1282,15 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDataPointTool.FindNearestPoint(APoint: TPoint);
|
procedure TDataPointTool.FindNearestPoint(APoint: TPoint);
|
||||||
|
const
|
||||||
|
DIST_FUNCS: array [TChartDistanceMode] of TPointDistFunc = (
|
||||||
|
@PointDist, @PointDistX, @PointDistY);
|
||||||
var
|
var
|
||||||
s, bestS: TCustomChartSeries;
|
s, bestS: TCustomChartSeries;
|
||||||
p: TNearestPointParams;
|
p: TNearestPointParams;
|
||||||
cur, best: TNearestPointResults;
|
cur, best: TNearestPointResults;
|
||||||
begin
|
begin
|
||||||
p.FDistFunc := @PointDist;
|
p.FDistFunc := DIST_FUNCS[DistanceMode];
|
||||||
p.FPoint := APoint;
|
p.FPoint := APoint;
|
||||||
p.FRadius := GrabRadius;
|
p.FRadius := GrabRadius;
|
||||||
best.FDist := MaxInt;
|
best.FDist := MaxInt;
|
||||||
|
Loading…
Reference in New Issue
Block a user