1use fltk::{prelude::*, *};
2
3struct MyFrame {
4 #[allow(dead_code)]
5 f: frame::Frame,
6}
7
8impl MyFrame {
9 pub fn new(idx: usize) -> MyFrame {
10 let mut f = frame::Frame::default();
11 f.set_frame(enums::FrameType::by_index(idx));
14 f.set_color(enums::Color::from_u32(0x7FFFD4));
15 let f_name = format!("{:?}", f.frame());
16 f.set_label(&f_name);
17 f.set_label_size(12);
18 Self { f }
19 }
20}
21
22fn main() {
23 let app = app::App::default();
24 let mut win = window::Window::default()
25 .with_size(1000, 800)
26 .with_label("Frames");
27 win.set_center_screen();
28
29 let mut col = group::Flex::default_fill().column();
30 col.set_margin(20);
31
32 let mut row = group::Flex::default();
33 col.fixed(&row, 75);
34 for i in 0..8 {
35 let _ = MyFrame::new(i);
36 }
37 row.end();
38 row.set_pad(10);
39
40 let mut row = group::Flex::default();
41 col.fixed(&row, 75);
42 for i in 8..17 {
43 let _ = MyFrame::new(i);
44 }
45 row.end();
46 row.set_pad(10);
47
48 let mut row = group::Flex::default();
49 col.fixed(&row, 75);
50 for i in 17..26 {
51 let _ = MyFrame::new(i);
52 }
53 row.end();
54 row.set_pad(10);
55
56 let mut row = group::Flex::default();
57 col.fixed(&row, 75);
58 for i in 26..35 {
59 let _ = MyFrame::new(i);
60 }
61 row.end();
62 row.set_pad(10);
63
64 let mut row = group::Flex::default();
65 col.fixed(&row, 75);
66 for i in 35..44 {
67 let _ = MyFrame::new(i);
68 }
69 row.end();
70 row.set_pad(10);
71
72 let mut row = group::Flex::default();
73 col.fixed(&row, 75);
74 for i in 44..53 {
75 let _ = MyFrame::new(i);
76 }
77 row.end();
78 row.set_pad(10);
79
80 col.end();
81 col.set_pad(30);
82
83 win.end();
84 win.show();
85 win.set_color(enums::Color::White);
86
87 app.run().unwrap();
88}