3个版本
0.1.2 | 2024年5月31日 |
---|---|
0.1.1 | 2024年5月31日 |
0.1.0 | 2024年5月31日 |
#85 in #loading
用于 egui_xml
19KB
343 代码行
load_layout!
宏,用于从XML加载egui布局
load_layout!
宏允许从XML加载布局配置,以供egui GUI框架使用。它接受布局结构的XML表示,并生成Rust代码以在egui UI中构建布局。
示例
use eframe::egui;
use egui::{Rounding, Ui};
use egui_xml::load_layout;
struct MyApp;
fn color_background(ui: &mut Ui, color: egui::Color32) {
ui.painter()
.rect_filled(ui.available_rect_before_wrap(), Rounding::same(5.0), color);
}
impl eframe::App for MyApp {
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
egui::CentralPanel::default().show(ctx, |ui| {
load_layout!(
<Strip direction="west">
<Panel size="relative" value="0.3">
color_background(ui, egui::Color32::from_rgb(0, 0, 255));
</Panel>
<Panel size="remainder">
<Strip direction="north">
<Panel size="relative" value="0.3">
color_background(ui, egui::Color32::from_rgb(0, 255, 255));
</Panel>
<Panel size="remainder">
color_background(ui, egui::Color32::from_rgb(255, 0, 255));
</Panel>
</Strip>
</Panel>
</Strip>
);
});
}
}
依赖项
~1.5–2.1MB
~39K SLoC