Skip to main content

phlow_extensions/
extensions_f32.rs

1#[phlow::extensions(f32)]
2mod f32_extensions {
3    use phlow::{InfoRow, PhlowView, ProtoView, to_string};
4
5    #[phlow::view]
6    fn info_for(_value: &f32, view: impl ProtoView<f32>) -> impl PhlowView {
7        view.info()
8            .title("Info")
9            .priority(5)
10            .row(|row| {
11                row.named_str("Float")
12                    .item(|number| *number)
13                    .send_copy()
14                    .text(|item| to_string!(item))
15            })
16            .row(|row| {
17                row.named_str("Fract")
18                    .item(|number| number.fract())
19                    .send_copy()
20                    .text(|item| to_string!(item))
21            })
22            .row(|row| {
23                row.named_str("Trunc")
24                    .item(|number| number.trunc())
25                    .send_copy()
26                    .text(|item| to_string!(item))
27            })
28            .row(|row| {
29                row.named_str("Bits")
30                    .item(|number| format!("{:b}", number.to_bits()))
31                    .send_clone()
32                    .text(|item: &String| item.clone())
33            })
34    }
35}