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 中使用
655KB
1K SLoC
egui-theme:用于在egui应用程序之间重复使用样式和视觉信息的容器。
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_style
和 egui::Context::set_fonts
分别设置样式和字体定义。
兼容性
鉴于开发资源,仅支持egui的最新版本。此库将不会维护“迁移脚本”以迁移egui的先前主题,但旧egui主题将尽力加载。 “尽力”意味着反序列化旧egui主题将尽可能加载兼容数据,而不会发出错误。
依赖关系
~4–10MB
~101K SLoC