Incular logoIncular
API ReferenceLayout Values

TextDirection

Horizontal reading direction and vertical layout direction.

use incular::prelude::*;

fn main() {
    println!("ltr: {:?}", TextDirection::Ltr);
    println!("rtl: {:?}", TextDirection::Rtl);
    println!("down: {:?}", VerticalDirection::Down);
    println!("up: {:?}", VerticalDirection::Up);
}
VariantLayout
LtrLeft-to-right (default)
RtlRight-to-left; flips Row order and submenu sides
DownTop-to-bottom (default vertical)
UpBottom-to-top

Widget text_direction fields are Option, defaulting to None and resolving to Ltr. Rtl flips Row order and submenu placement in Overlay.

use incular::prelude::*;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let app = Application::new(|_cx| {
        Container::builder()
            .padding(EdgeInsets::all(24.0))
            .alignment(Alignment::CENTER)
            .child(
                Row::builder()
                    .children(Vec::<Widget>::from([
                        Text::new("First").into(),
                        Text::new("Second").into(),
                    ]))
                    .text_direction(TextDirection::Rtl)
                    .spacing(8.0)
                    .build(),
            )
            .build()
            .into()
    })?;
    incular::run(app)?;
    Ok(())
}

Related: Row.