Added new symbol type: EmptyRect, EmptyTriangle, EmptyDiamond

This commit is contained in:
monitor1394
2021-12-04 08:46:32 +08:00
parent 7f53d22a5a
commit da8f379741
4 changed files with 46 additions and 1 deletions

View File

@@ -48,7 +48,10 @@ namespace XCharts
/// <summary>
/// 自定义标记。
/// </summary>
Custom
Custom,
EmptyRect,
EmptyTriangle,
EmptyDiamond
}
/// <summary>

View File

@@ -56,6 +56,20 @@ namespace XCharts
UGL.DrawRoundRectangle(vh, pos, symbolSize, symbolSize, color, color, 0, cornerRadius, true);
}
break;
case SerieSymbolType.EmptyRect:
if (gap > 0)
{
UGL.DrawSquare(vh, pos, symbolSize + gap, backgroundColor);
UGL.DrawSquare(vh, pos, symbolSize, color, toColor);
UGL.DrawSquare(vh, pos, symbolSize - tickness, centerFillColor, centerFillColor);
}
else
{
UGL.DrawRoundRectangle(vh, pos, symbolSize, symbolSize, color, color, 0, cornerRadius, true);
UGL.DrawRoundRectangle(vh, pos, symbolSize - tickness, symbolSize - tickness,
centerFillColor, centerFillColor, 0, cornerRadius, true);
}
break;
case SerieSymbolType.Triangle:
if (gap > 0)
{
@@ -67,6 +81,19 @@ namespace XCharts
UGL.DrawTriangle(vh, pos, symbolSize, color, toColor);
}
break;
case SerieSymbolType.EmptyTriangle:
if (gap > 0)
{
UGL.DrawTriangle(vh, pos, symbolSize + gap, backgroundColor);
UGL.DrawTriangle(vh, pos, symbolSize, color, toColor);
UGL.DrawTriangle(vh, pos, symbolSize - tickness, centerFillColor, centerFillColor);
}
else
{
UGL.DrawTriangle(vh, pos, symbolSize, color, toColor);
UGL.DrawTriangle(vh, pos, symbolSize - tickness, centerFillColor, centerFillColor);
}
break;
case SerieSymbolType.Diamond:
if (gap > 0)
{
@@ -78,6 +105,19 @@ namespace XCharts
UGL.DrawDiamond(vh, pos, symbolSize, color, toColor);
}
break;
case SerieSymbolType.EmptyDiamond:
if (gap > 0)
{
UGL.DrawDiamond(vh, pos, symbolSize + gap, backgroundColor);
UGL.DrawDiamond(vh, pos, symbolSize, color, toColor);
UGL.DrawDiamond(vh, pos, symbolSize - tickness, centerFillColor, centerFillColor);
}
else
{
UGL.DrawDiamond(vh, pos, symbolSize, color, toColor);
UGL.DrawDiamond(vh, pos, symbolSize - tickness, centerFillColor, centerFillColor);
}
break;
case SerieSymbolType.Arrow:
var arrowWidth = symbolSize * 2;
var arrowHeight = arrowWidth * 1.5f;