CI / fmt (rustfmt --check) (push) Waiting to run
CI / clippy (ubuntu-latest) (push) Waiting to run
CI / clippy (windows-latest) (push) Waiting to run
CI / test (ubuntu-latest) (push) Waiting to run
CI / test (windows-latest) (push) Waiting to run
CI / build release (ubuntu-latest) (push) Waiting to run
CI / build release (windows-latest) (push) Waiting to run
CI / runtime smoke (ubuntu x64, xvfb) (push) Waiting to run
CI / runtime smoke (macos arm64, probe) (push) Skipped
Guards / core 零 UI 守门 (push) Waiting to run
Guards / presenter 零 UI 守门 (push) Waiting to run
Guards / design 零第三方依赖守门 (push) Waiting to run
Guards / unsafe 落点守门(集合必须恰好一个文件) (push) Waiting to run
Guards / 文件行数 ≤400 守门 (push) Waiting to run
Guards / 依赖许可与来源(cargo-deny) (push) Waiting to run
首个 iced + Material 3 Expressive 版本的源码快照。 完整历史与日常提交在 dev 分支;main 只放阶段性快照。
28 lines
893 B
Plaintext
28 lines
893 B
Plaintext
// 徽标:MC 版本 / 加载器 / 已装 / 远古版 等短标记。Metro 做法是细边框小方块,不用药丸圆角。
|
|
import { Theme } from "../theme/tokens.slint";
|
|
import { Metrics } from "../theme/metrics.slint";
|
|
import { UiText, TextRole } from "../components/label.slint";
|
|
|
|
export component Badge inherits Rectangle {
|
|
in property <string> text: "";
|
|
in property <color> tint: Theme.fg-secondary;
|
|
in property <color> fill: transparent;
|
|
|
|
height: 18px;
|
|
width: label.preferred-width + 2 * Metrics.gap-1 + 2px;
|
|
background: fill;
|
|
border-width: 1px;
|
|
border-color: tint;
|
|
border-radius: Metrics.radius-sm;
|
|
|
|
label := UiText {
|
|
role: TextRole.caption;
|
|
text: root.text;
|
|
color: root.tint;
|
|
font-size: 11px;
|
|
horizontal-alignment: center;
|
|
x: Metrics.gap-1 + 1px;
|
|
width: label.preferred-width;
|
|
}
|
|
}
|