buoyant 0.5.2

SwiftUI-like UIs in Rust for embedded devices
Documentation
use buoyant::layout::Alignment;
use buoyant::view::padding::Edges;
use buoyant::view::shape::Rectangle;
use buoyant::{
    font::CharacterBufferFont,
    primitives::Point,
    render::Render as _,
    render_target::FixedTextBuffer,
    view::{HStack, Text, ViewExt as _},
};
mod common;
use common::make_render_tree;

#[test]
fn background_renders_on_hidden_view() {
    let font = CharacterBufferFont {};
    let hstack = HStack::new((
        Text::new("1234", &font)
            .hidden()
            .background(Alignment::default(), || {
                Rectangle
                    .foreground_color('+')
                    .padding(Edges::Horizontal, 1)
            }),
        Rectangle,
    ))
    .foreground_color('-');
    let mut buffer = FixedTextBuffer::<9, 1>::default();
    let tree = make_render_tree(&hstack, buffer.size());
    tree.render(&mut buffer, &' ', Point::zero());

    assert_eq!(buffer.text[0].iter().collect::<String>(), " ++ -----");
}