veloren_voxygen/ui/ice/renderer/widget/
row.rs1use 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}