CI / fmt (rustfmt --check) (push) Canceled after 0s
CI / clippy (ubuntu-latest) (push) Canceled after 0s
CI / clippy (windows-latest) (push) Canceled after 0s
CI / test (ubuntu-latest) (push) Canceled after 0s
CI / test (windows-latest) (push) Canceled after 0s
CI / build release (ubuntu-latest) (push) Canceled after 0s
CI / build release (windows-latest) (push) Canceled after 0s
Guards / core 零 UI 守门 (push) Canceled after 0s
Guards / 文件行数 ≤400 守门 (push) Canceled after 0s
Guards / 依赖许可与来源(cargo-deny) (push) Canceled after 0s
Rust 原生单文件 Minecraft 启动器:CLI 完整可用(install/launch/accounts/java/diagnose/agent), MCP server 接入外部 Agent 工具,GUI 开发中。
23 lines
836 B
Plaintext
23 lines
836 B
Plaintext
// 启动进度环:磁贴「启动中」状态用(下载/校验/启动三个阶段共用一个环)。
|
||
// 用 std-widgets 的 ProgressIndicator:progress <= 0 时转为不确定态(转圈)。
|
||
// P1 若要完全贴合 Metro 强调色,需自绘弧线(Slint 无 arc 命令,得用旋转遮罩法)。
|
||
import { Theme } from "../theme/tokens.slint";
|
||
import { ProgressIndicator } from "std-widgets.slint";
|
||
|
||
export component ProgressRing inherits Rectangle {
|
||
/// 0.0~1.0;<= 0 表示未知进度
|
||
in property <float> progress: 0;
|
||
in property <length> ring-size: 28px;
|
||
|
||
width: ring-size;
|
||
height: ring-size;
|
||
background: transparent;
|
||
|
||
ProgressIndicator {
|
||
width: root.ring-size;
|
||
height: root.ring-size;
|
||
progress: root.progress;
|
||
indeterminate: root.progress <= 0;
|
||
}
|
||
}
|