Incular logoIncular
API ReferenceLayout Values

FractionalOffset

Unit-box fractional offsets and fractional translation.

FractionalOffset { dx: f32, dy: f32 } is a [0,1]-box offset (as opposed to Alignment's [-1,1] space), with the same corner constants and from_alignment / to_alignment conversions. Supports Lerp.

FractionalTranslation { translation: Offset, transform_hit_tests: bool, child: Widget } shifts its child by a fraction of the child's own size.

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(
                FractionalTranslation::new(
                    Offset::new(0.5, 0.0),
                    Text::new("Half-right"),
                ),
            )
            .build()
            .into()
    })?;
    incular::run(app)?;
    Ok(())
}

Related: Alignment, Transform.