优化Bar的边框绘制

This commit is contained in:
monitor1394
2023-12-16 10:03:28 +08:00
parent 9c5b83dc22
commit e83eeabf9c

View File

@@ -398,7 +398,13 @@ namespace XCharts.Runtime
float gap, float barWidth, float pX, float pY, Vector3 plb, Vector3 plt, Vector3 prt,
Vector3 prb, bool isYAxis, GridCoord grid, Axis axis, Color32 areaColor, Color32 areaToColor, double value)
{
var borderWidth = itemStyle.runtimeBorderWidth;
var borderWidth = itemStyle.borderWidth;
var borderColor = itemStyle.borderColor;
if (ChartHelper.IsClearColor(borderColor))
{
borderColor = areaColor;
borderColor.a = (byte)(areaColor.a * 1.2f);
}
var cornerRadius = serie.barType == BarType.Capsule && !itemStyle.IsNeedCorner() ?
m_CapusleDefaultCornerRadius :
itemStyle.cornerRadius;
@@ -412,12 +418,12 @@ namespace XCharts.Runtime
cornerRadius, isYAxis, chart.settings.cicleSmoothness, invert);
if (serie.barType == BarType.Capsule)
{
UGL.DrawBorder(vh, serieData.context.backgroundRect, borderWidth, itemStyle.borderColor,
UGL.DrawBorder(vh, serieData.context.backgroundRect, borderWidth, borderColor,
0, cornerRadius, isYAxis, chart.settings.cicleSmoothness, invert, -borderWidth);
}
else
{
UGL.DrawBorder(vh, serieData.context.rect, borderWidth, itemStyle.borderColor,
UGL.DrawBorder(vh, serieData.context.rect, borderWidth, borderColor,
0, cornerRadius, isYAxis, chart.settings.cicleSmoothness, invert, itemStyle.borderGap);
}
}