#egui #style #themes #container #applications #serializable #standalone

egui-theme

用于与Egui一起使用的独立可序列化主题容器

5个不稳定版本

0.2.0 2022年6月4日
0.1.1 2021年10月30日
0.1.0 2021年9月24日
0.0.5 2021年9月10日
0.0.4 2021年9月6日

#1568 in 编码


egui-stylist 中使用

MIT 许可协议

655KB
1K SLoC

Rust 700 SLoC // 0.0% comments Rusty Object Notation 434 SLoC

egui-theme:用于在egui应用程序之间重复使用样式和视觉信息的容器。

Latest version Documentation MIT

egui-theme 定义了一个公共接口,用于序列化和存储 egui 的样式和字体数据,以便在应用程序之间使用。目标是允许 egui 的用户轻松地在相关应用程序之间创建和共享主题。

egui-theme 是一个中间格式,使用 serde_json 创建此中间格式。

如何使用

以下示例演示了如何创建一个 EguiTheme 并将其序列化和反序列化。

let theme = EguiTheme::new(
    Style::default(),
    FontDefinitions::default(),
);
let serialized_theme = ron::to_string(&theme).expect("this should serialize"):
let theme = ron::from_string::<EguiTheme>(serialized_theme).expect("this should deserialize");
let (style, font_definitions) = theme.extract();

在此之后,您可以使用 egui::Context::set_styleegui::Context::set_fonts 分别设置样式和字体定义。

兼容性

鉴于开发资源,仅支持egui的最新版本。此库将不会维护“迁移脚本”以迁移egui的先前主题,但旧egui主题将尽力加载。 “尽力”意味着反序列化旧egui主题将尽可能加载兼容数据,而不会发出错误。

依赖关系

~4–10MB
~101K SLoC