Theseus 模组文档
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 内只增不破。