Skip to main content

ferroui_base/rendering/composition/server/
server_size_dependant_visual.rs

1use super::ServerCompositionVisual;
2use crate::platform::LtrbRect;
3
4/// The behaviour of a visual whose content covers its size: the base of
5/// the solid color and surface visuals.
6pub struct ServerSizeDependantVisual;
7
8impl ServerSizeDependantVisual {
9    pub fn compute_own_content_bounds(visual: &ServerCompositionVisual) -> Option<LtrbRect> {
10        let size = visual.size();
11        if size.x == 0.0 || size.y == 0.0 {
12            return None;
13        }
14        Some(LtrbRect::new(0.0, 0.0, size.x, size.y))
15    }
16
17    pub fn size_changed(visual: &ServerCompositionVisual) {
18        visual.enqueue_for_own_bounds_recompute();
19    }
20}