Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142// Admitted candidate `model_0` (claude-code:default, 104/104); provenance: relpos.provenance.jsonuse crate::relpos::{RelposInputs, RelposOutputs};use dom::computed::LengthPercentageOrAuto;
fn length_of(value: LengthPercentageOrAuto) -> Option<f64> { match value { LengthPercentageOrAuto::Length(v) => Some(v), LengthPercentageOrAuto::Auto => None, LengthPercentageOrAuto::Percentage(_) => None, LengthPercentageOrAuto::Unresolved => None, }}
pub fn resolve(inputs: &RelposInputs) -> RelposOutputs { let left = length_of(inputs.left); let right = length_of(inputs.right); let top = length_of(inputs.top); let bottom = length_of(inputs.bottom);
let rtl = matches!(inputs.direction, crate::width::Direction::Rtl);
let shift_x = match (left, right) { (None, None) => 0.0, (Some(l), None) => l, (None, Some(r)) => -r, (Some(l), Some(r)) => { if rtl { -r } else { l } } };
let shift_y = match (top, bottom) { (None, None) => 0.0, (Some(t), _) => t, (None, Some(b)) => -b, };
RelposOutputs { shift_x, shift_y }}