widget_forge/widget/
function_widget.rs

1use std::collections::HashSet;
2
3use ascii_forge::window::Window;
4
5use super::{SpecialWidget, Widget};
6
7impl<D, F: Fn(&mut Window, &mut D)> Widget<D> for F {
8    fn update(&mut self, window: &mut Window, data: &mut D) {
9        self(window, data)
10    }
11}
12
13impl<D, F: Fn(&mut Window, &mut D, &mut [Box<dyn Widget<D>>], &mut HashSet<usize>)> SpecialWidget<D>
14    for F
15{
16    fn update(
17        &mut self,
18        window: &mut Window,
19        data: &mut D,
20        widgets: &mut [Box<dyn Widget<D>>],
21        updated: &mut HashSet<usize>,
22    ) {
23        self(window, data, widgets, updated)
24    }
25}