[feature][pie] support onPointerEnterPie

This commit is contained in:
monitor1394
2022-09-02 08:33:34 +08:00
parent 8bd0c23e19
commit a44eca0f91
4 changed files with 23 additions and 2 deletions

View File

@@ -123,6 +123,10 @@ namespace XCharts.Runtime
serieData.context.highlight = false;
serieData.interact.SetValueAndColor(ref needInteract, serieData.context.outsideRadius, color, toColor);
}
if (chart.onPointerEnterPie != null)
{
chart.onPointerEnterPie(serie.index, serie.context.pointerItemDataIndex);
}
if (needInteract)
{
chart.RefreshPainter(serie);
@@ -131,8 +135,9 @@ namespace XCharts.Runtime
return;
}
m_LastCheckContextFlag = needCheck;
serie.context.pointerItemDataIndex = -1;
var lastPointerItemDataIndex = serie.context.pointerItemDataIndex;
var dataIndex = GetPiePosIndex(serie, chart.pointerPos);
serie.context.pointerItemDataIndex = -1;
for (int i = 0; i < serie.dataCount; i++)
{
var serieData = serie.data[i];
@@ -154,6 +159,14 @@ namespace XCharts.Runtime
serieData.interact.SetValueAndColor(ref needInteract, serieData.context.outsideRadius, color, toColor);
}
}
if (lastPointerItemDataIndex != serie.context.pointerItemDataIndex)
{
needInteract = true;
if (chart.onPointerEnterPie != null)
{
chart.onPointerEnterPie(serie.index, serie.context.pointerItemDataIndex);
}
}
if (needInteract)
{
chart.RefreshPainter(serie);