修复PieChart选中扇区后鼠标区域指示不准确的问题

This commit is contained in:
monitor1394
2021-07-04 21:16:30 +08:00
parent 3cee022480
commit 3907b82bc0
3 changed files with 10 additions and 2 deletions

View File

@@ -566,7 +566,6 @@ namespace XCharts
{
if (serie.type != SerieType.Pie) return -1;
var dist = Vector2.Distance(local, serie.runtimeCenterPos);
if (dist < serie.runtimeInsideRadius || dist > serie.runtimeOutsideRadius) return -1;
Vector2 dir = local - new Vector2(serie.runtimeCenterPos.x, serie.runtimeCenterPos.y);
float angle = ChartHelper.GetAngle360(Vector2.up, dir);
for (int i = 0; i < serie.data.Count; i++)
@@ -574,7 +573,12 @@ namespace XCharts
var serieData = serie.data[i];
if (angle >= serieData.runtimePieStartAngle && angle <= serieData.runtimePieToAngle)
{
return i;
var ndist = !serieData.selected ? dist :
Vector2.Distance(local, serieData.runtiemPieOffsetCenter);
if (ndist >= serieData.runtimePieInsideRadius && ndist <= serieData.runtimePieOutsideRadius)
{
return i;
}
}
}
return -1;