优化Axis的轴动画在初始化时关闭

This commit is contained in:
monitor1394
2024-07-25 23:26:30 +08:00
parent 378fccf8b4
commit feb5e7fc32

View File

@@ -139,7 +139,7 @@ namespace XCharts
} }
} }
internal void UpdateAxisMinMaxValue(int axisIndex, Axis axis, bool updateChart = true) internal void UpdateAxisMinMaxValue(int axisIndex, Axis axis, bool cancelAnimation = false)
{ {
if (!axis.show) if (!axis.show)
return; return;
@@ -173,7 +173,7 @@ namespace XCharts
{ {
m_LastSplitNumber = axis.splitNumber; m_LastSplitNumber = axis.splitNumber;
m_LastInterval = axis.interval; m_LastInterval = axis.interval;
axis.UpdateMinMaxValue(tempMinValue, tempMaxValue, axis.context.needAnimation); axis.UpdateMinMaxValue(tempMinValue, tempMaxValue, !cancelAnimation && axis.context.needAnimation);
axis.context.offset = 0; axis.context.offset = 0;
axis.context.lastCheckInverse = axis.inverse; axis.context.lastCheckInverse = axis.inverse;
UpdateAxisTickValueList(axis); UpdateAxisTickValueList(axis);
@@ -198,7 +198,7 @@ namespace XCharts
} }
} }
if (axis.context.needAnimation && (axis.context.minValue != axis.context.destMinValue || axis.context.maxValue != axis.context.destMaxValue)) if (!cancelAnimation && axis.context.needAnimation && (axis.context.minValue != axis.context.destMinValue || axis.context.maxValue != axis.context.destMaxValue))
{ {
var duration = axis.animation.duration == 0 var duration = axis.animation.duration == 0
? SeriesHelper.GetMinAnimationDuration(chart.series) / 1000f ? SeriesHelper.GetMinAnimationDuration(chart.series) / 1000f
@@ -476,7 +476,7 @@ namespace XCharts
break; break;
} }
} }
UpdateAxisMinMaxValue(axis.index, axis); UpdateAxisMinMaxValue(axis.index, axis, true);
} }
protected void InitAxis(Axis relativedAxis, Orient orient, protected void InitAxis(Axis relativedAxis, Orient orient,
@@ -640,7 +640,7 @@ namespace XCharts
} }
} }
} }
UpdateAxisMinMaxValue(axis.index, axis); UpdateAxisMinMaxValue(axis.index, axis, true);
} }
internal static Vector3 GetLabelPosition(int i, Orient orient, Axis axis, Axis relativedAxis, AxisTheme theme, internal static Vector3 GetLabelPosition(int i, Orient orient, Axis axis, Axis relativedAxis, AxisTheme theme,