API 参考 / 只读视图、场景、音频与文本
ResultLayout
结算界面布局快照(不可变),是模组覆盖渲染的定位原语。经 UiCustomization.ResultOverlayRenderer#render(RenderCanvas, ResultSnapshot, ResultLayout) 在结算界面渲染帧传给模组。
方法速览
| 方法 | 用途 |
|---|---|
canvasWidth() / canvasHeight() | 画布宽高(像素) |
windowX() / windowY() | 结果窗口左上角 |
windowWidth() / windowHeight() | 结果窗口宽高 |
equals(Object) / hashCode() / toString() | 记录类型默认值语义 |
canvasWidth()
java
public int canvasWidth();行为:画布宽度(像素)。示例:
java
int w = layout.canvasWidth();canvasHeight()
java
public int canvasHeight();行为:画布高度(像素)。示例:
java
int h = layout.canvasHeight();windowX()
java
public int windowX();行为:结果窗口左上角 X(画布坐标)。示例:
java
int x = layout.windowX();windowY()
java
public int windowY();行为:结果窗口左上角 Y(画布坐标)。示例:
java
int y = layout.windowY();windowWidth()
java
public int windowWidth();行为:结果窗口宽度。示例:
java
int ww = layout.windowWidth();windowHeight()
java
public int windowHeight();行为:结果窗口高度。示例:
java
int wh = layout.windowHeight();equals(Object)
java
public boolean equals(Object obj);行为:记录类型按全部 6 个组件逐值比较(自动生成)。示例:
java
boolean same = layout.equals(other);hashCode()
java
public int hashCode();行为:记录类型按全部 6 个组件生成哈希(自动生成)。示例:
java
int h = layout.hashCode();toString()
java
public String toString();行为:记录类型默认字符串形式(组件名=值,自动生成),仅用于调试输出。示例:
java
System.out.println(layout);完整签名
java
public record ResultLayout(
int canvasWidth,
int canvasHeight,
int windowX,
int windowY,
int windowWidth,
int windowHeight
) {
public int canvasWidth();
public int canvasHeight();
public int windowX();
public int windowY();
public int windowWidth();
public int windowHeight();
public boolean equals(Object obj);
public int hashCode();
public String toString();
}关键契约:只提供画布与结果窗口的矩形信息,内容放在哪里由模组自行决定(原语优先:宿主不代推布局)。记录为不可变值对象,模组不得也无法改写其中数值。
线程:源码未声明额外线程约束(渲染线程同步传入)。
稳定性:2.0 起冻结:2.x 内只增不破。