mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-19 06:50:18 +00:00
修复Tooltip在对数轴时指示不准确的问题
This commit is contained in:
@@ -18,6 +18,11 @@ namespace XCharts.Runtime
|
||||
InitTooltip(component);
|
||||
}
|
||||
|
||||
public override void BeforceSerieUpdate()
|
||||
{
|
||||
UpdateTooltipData(component);
|
||||
}
|
||||
|
||||
public override void Update()
|
||||
{
|
||||
UpdateTooltip(component);
|
||||
@@ -86,8 +91,9 @@ namespace XCharts.Runtime
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateTooltip(Tooltip tooltip)
|
||||
private void UpdateTooltipData(Tooltip tooltip)
|
||||
{
|
||||
showTooltip = false;
|
||||
if (tooltip.trigger == Tooltip.Trigger.None) return;
|
||||
if (!chart.isPointerInChart || !tooltip.show)
|
||||
{
|
||||
@@ -98,7 +104,28 @@ namespace XCharts.Runtime
|
||||
}
|
||||
return;
|
||||
}
|
||||
var showTooltip = false;
|
||||
for (int i = chart.series.Count - 1; i >= 0; i--)
|
||||
{
|
||||
var serie = chart.series[i];
|
||||
if (!(serie is INeedSerieContainer))
|
||||
{
|
||||
showTooltip = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
containerSeries = ListPool<Serie>.Get();
|
||||
UpdatePointerContainerAndSeriesAndTooltip(tooltip, ref containerSeries);
|
||||
if (containerSeries.Count > 0)
|
||||
{
|
||||
showTooltip = true;
|
||||
}
|
||||
}
|
||||
|
||||
private bool showTooltip;
|
||||
private List<Serie> containerSeries;
|
||||
private void UpdateTooltip(Tooltip tooltip)
|
||||
{
|
||||
if (!showTooltip) return;
|
||||
for (int i = chart.series.Count - 1; i >= 0; i--)
|
||||
{
|
||||
var serie = chart.series[i];
|
||||
@@ -106,20 +133,19 @@ namespace XCharts.Runtime
|
||||
{
|
||||
if (SetSerieTooltip(tooltip, serie))
|
||||
{
|
||||
showTooltip = true;
|
||||
chart.RefreshTopPainter();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
var containerSeries = ListPool<Serie>.Get();
|
||||
UpdatePointerContainerAndSeriesAndTooltip(tooltip, ref containerSeries);
|
||||
if (containerSeries.Count > 0)
|
||||
if (containerSeries != null)
|
||||
{
|
||||
if (SetSerieTooltip(tooltip, containerSeries))
|
||||
showTooltip = true;
|
||||
if (!SetSerieTooltip(tooltip, containerSeries))
|
||||
{
|
||||
showTooltip = false;
|
||||
}
|
||||
ListPool<Serie>.Release(containerSeries);
|
||||
}
|
||||
ListPool<Serie>.Release(containerSeries);
|
||||
if (!showTooltip)
|
||||
{
|
||||
if (tooltip.context.type == Tooltip.Type.Corss && m_PointerContainer != null && m_PointerContainer.IsPointerEnter())
|
||||
@@ -138,10 +164,6 @@ namespace XCharts.Runtime
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateTooltipTypeAndTrigger(Tooltip tootip)
|
||||
{
|
||||
}
|
||||
|
||||
private void UpdateTooltipIndicatorLabelText(Tooltip tooltip)
|
||||
{
|
||||
if (!tooltip.show) return;
|
||||
|
||||
Reference in New Issue
Block a user