frames/
frames.rs

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        // Normally you would use the FrameType enum, for example:
12        // some_widget.set_frame(FrameType::DownBox);
13        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}