1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
use eframe::NativeOptions;
use eframe::emath::Align2;
use egui::{Area, Frame, Id, Vec2};
use egui_flex::{Flex, FlexItem};
fn main() -> eframe::Result {
eframe::run_ui_native(
"flex debug example",
NativeOptions::default(),
|ui, _frame| {
Area::new(Id::new("area"))
.anchor(egui::Align2::LEFT_TOP, [0.0, 0.0])
.show(ui.ctx(), |ui| {
ui.set_width(500.0);
ui.set_height(200.0);
ui.spacing_mut().item_spacing = Vec2::splat(10.0);
let frame = Frame::group(ui.style()).inner_margin(5.0).outer_margin(5.0);
Flex::horizontal()
.align_items(egui_flex::FlexAlign::Stretch)
.align_items_content(Align2::RIGHT_CENTER)
.show(ui, |flex| {
flex.add_flex(
FlexItem::default().grow(1.0),
Flex::vertical()
.align_content(egui_flex::FlexAlignContent::Stretch)
.grow_items(1.0),
|flex| {
flex.add(
FlexItem::default().grow(1.0),
egui::Label::new("Hello"),
);
flex.add(
FlexItem::default().grow(1.0),
egui::Label::new("World"),
);
},
);
flex.add_flex(
FlexItem::default().grow(1.0).frame(frame),
Flex::vertical()
.align_content(egui_flex::FlexAlignContent::Stretch)
.grow_items(1.0),
|flex| {
flex.add(
FlexItem::default().grow(1.0),
egui::Label::new("Hello"),
);
flex.add(
FlexItem::default().grow(1.0),
egui::Label::new("World"),
);
flex.add_flex(
FlexItem::default().grow(1.0),
Flex::horizontal()
.align_content(egui_flex::FlexAlignContent::Stretch)
.grow_items(1.0),
|flex| {
flex.add(
FlexItem::default().grow(1.0),
egui::Label::new("Hello"),
);
flex.add(
FlexItem::default().grow(1.0),
egui::Label::new("World"),
);
},
);
},
);
flex.add_flex(
FlexItem::default().grow(1.0),
Flex::vertical()
.align_content(egui_flex::FlexAlignContent::Stretch)
.grow_items(1.0),
|flex| {
flex.add(
FlexItem::default().grow(1.0),
egui::Label::new("Hello"),
);
flex.add(
FlexItem::default().grow(1.0),
egui::Label::new("World"),
);
},
);
});
});
},
)
}