iced_pancurses/renderer/
checkbox.rs

1use crate::primitive::Primitive;
2use crate::PancursesRenderer;
3
4use iced_native::widget::checkbox::Renderer as CheckboxRenderer;
5use iced_native::Rectangle;
6
7impl CheckboxRenderer for PancursesRenderer {
8    fn default_size(&self) -> u32 {
9        1
10    }
11
12    fn draw(
13        &mut self,
14        bounds: Rectangle,
15        is_checked: bool,
16        _is_mouse_over: bool,
17        label: Primitive,
18    ) -> Primitive {
19        let boxchar = if is_checked { 'x' } else { 'o' };
20        Primitive::Group(vec![
21            Primitive::Char(bounds.x as i32, bounds.y as i32, boxchar),
22            label,
23        ])
24    }
25}