增加UISlider扩展组件

This commit is contained in:
monitor1394
2024-12-17 22:19:22 +08:00
parent 33b71dc711
commit 2fc87d03cd
3 changed files with 23 additions and 2 deletions

View File

@@ -78,6 +78,7 @@ slug: /changelog
## master
* (2024.12.17) 增加`UISlider`扩展组件
* (2024.12.10) 增加`UIToggle`扩展组件
* (2024.12.09) 修复`UITable``scrollbar`无法拖动的问题
* (2024.12.07) 修复`Chart`节点下不能放自定义节点的问题

View File

@@ -100,6 +100,12 @@ namespace XCharts.Runtime
set { if (PropertyUtil.SetClass(ref m_BorderStyle, value)) SetComponentDirty(); }
}
/// <summary>
/// the rect of background.
/// ||背景的矩形区域。
/// </summary>
public Rect rect { get; set; }
public override void SetDefaultValue()
{
m_Show = true;

View File

@@ -14,16 +14,30 @@ namespace XCharts.Runtime
internal static void DrawBackground(VertexHelper vh, UIComponent component)
{
var background = component.background;
var rect = component.graphRect;
if (background.imageWidth > 0 || background.imageHeight > 0)
{
if (background.imageWidth > 0)
{
rect.width = background.imageWidth;
rect.x = component.graphX + (component.graphWidth - background.imageWidth) / 2;
}
if (background.imageHeight > 0)
{
rect.height = background.imageHeight;
rect.y = component.graphY + (component.graphHeight - background.imageHeight) / 2;
}
}
background.rect = rect;
if (!background.show)
return;
if (background.image != null)
return;
var backgroundColor = component.theme.GetBackgroundColor(background);
var borderWidth = background.borderStyle.GetRuntimeBorderWidth();
var borderColor = background.borderStyle.GetRuntimeBorderColor();
var cornerRadius = background.borderStyle.GetRuntimeCornerRadius();
UGL.DrawRoundRectangleWithBorder(vh, component.graphRect, backgroundColor, backgroundColor, cornerRadius,
UGL.DrawRoundRectangleWithBorder(vh, background.rect, backgroundColor, backgroundColor, cornerRadius,
borderWidth, borderColor);
}