veloren_voxygen/ui/ice/renderer/widget/
row.rs

1use super::super::{IcedRenderer, Primitive};
2use iced::{Element, Layout, Point, Rectangle, mouse, row};
3
4impl row::Renderer for IcedRenderer {
5    fn draw<M>(
6        &mut self,
7        defaults: &Self::Defaults,
8        content: &[Element<'_, M, Self>],
9        layout: Layout<'_>,
10        cursor_position: Point,
11        viewport: &Rectangle,
12    ) -> Self::Output {
13        let mut mouse_interaction = mouse::Interaction::default();
14
15        (
16            Primitive::Group {
17                primitives: content
18                    .iter()
19                    .zip(layout.children())
20                    .map(|(child, layout)| {
21                        let (primitive, new_mouse_interaction) =
22                            child.draw(self, defaults, layout, cursor_position, viewport);
23
24                        if new_mouse_interaction > mouse_interaction {
25                            mouse_interaction = new_mouse_interaction;
26                        }
27
28                        primitive
29                    })
30                    .collect(),
31            },
32            mouse_interaction,
33        )
34    }
35}