widget_forge/widget/
function_widget.rs1use 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}