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

@@ -41,6 +41,7 @@
## branch-2.0
* (2021.12.04) Added `Symbol` new types: `EmptyRect`, `EmptyTriangle`, `EmptyDiamond`
* (2021.12.04) Added setting symbol empty area color by itemStyle's backgroundColor
* (2021.12.03) Fixed formatter `{c}` not work #175
* (2021.12.03) Fixed axis `boundaryGap` display error in some cases #174

View File

@@ -41,6 +41,7 @@
## branch-2.0
* (2021.12.04) 增加`Symbol`新类型:`EmptyRect`,`EmptyTriangle`,`EmptyDiamond`
* (2021.12.04) 增加`Symbol``Empty`区域颜色可通过`ItemStyle``backgroundColor`设置的支持
* (2021.12.03) 修复`Formatter``{c}`通配符不生效的问题 #175
* (2021.12.03) 修复`Axis``boundaryGap`某些情况下显示的问题 #174

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;