SDFRectTexture
SDFRectTexture 使用 SDF(Signed Distance Field)GPU 着色器绘制圆角矩形。它能在任意尺寸下产生清晰、抗锯齿的边缘。支持逐角半径设置、可选的描边边框,以及平滑的 CSS 过渡插值。
注册名称: sdf_rect_texture
LSS 函数: rect(...) / sdf(...)
继承自 TransformTexture — 支持 rotate()、scale()、transform()。
使用方法
// Filled rounded rect
IGuiTexture panel = new SDFRectTexture()
.setColor(0xFF2A2A2A)
.setRadius(6f);
// Rounded rect with a white stroke
IGuiTexture bordered = new SDFRectTexture()
.setColor(0xFF1A1A1A)
.setRadius(4f)
.setStroke(1f)
.setBorderColor(0xFFFFFFFF);
// Static factory
IGuiTexture simple = SDFRectTexture.of(0xFF3A3A3A);
LSS
/* rect(fillColor) */
background: rect(#2A2A2A);
/* rect(fillColor, radius) */
background: rect(#2A2A2A, 6);
/* rect(fillColor, radius, strokeWidth, borderColor) */
background: rect(#2A2A2A, 4, 1, #FFFFFF);
/* Per-corner radii: top-left top-right bottom-right bottom-left */
background: rect(#2A2A2A, 8 4 8 4);
字段
| 名称 | 类型 | 描述 |
|---|---|---|
color |
int |
填充颜色(ARGB)。默认值: 0xFFFFFFFF。 |
borderColor |
int |
描边颜色(ARGB)。默认值: 0xFF000000。 |
radius |
Vector4f |
逐角半径: x = 左下, y = 右下, z = 右上, w = 左上。 |
stroke |
float |
边框描边宽度(像素)。0 表示禁用边框。 |
方法
| 方法 | 返回类型 | 描述 |
|---|---|---|
setColor(int) |
SDFRectTexture |
设置填充颜色。 |
setBorderColor(int) |
SDFRectTexture |
设置描边颜色。 |
setRadius(float) |
SDFRectTexture |
将四个角半径设置为相同值。 |
setRadius(Vector4f) |
SDFRectTexture |
设置逐角半径。 |
setStroke(float) |
SDFRectTexture |
设置描边宽度。 |
copy() |
SDFRectTexture |
返回深拷贝。 |
interpolate(IGuiTexture, float) |
IGuiTexture |
将所有属性向另一个 SDFRectTexture 混合插值。 |
SDFRectTexture.of(int) |
SDFRectTexture |
静态工厂方法 — 使用指定填充颜色创建矩形。 |