INNER CODE UNIT · Rust
corner
marc2332/freya · crates/freya-borderless-plugin/src/lib.rs:210
let corner = band * 2.;
let span_x = (size.width - corner * 2.).max(0.);
let span_y = (size.height - corner * 2.).max(0.);
let far_x = (size.width - band).max(0.);
let far_y = (size.height - band).max(0.);
let corner_far_x = (size.width - corner).max(0.);
let corner_far_y = (size.height - corner).max(0.);
let (left, top, width, height) = match direction {
ResizeDirection::North => (corner, 0., span_x, band),
ResizeDirection::South => (corner, far_y, span_x, band),
ResizeDirection::West => (0., corner, band, span_y),
ResizeDirection::East => (far_x, corner, band, span_y),
ResizeDirection::NorthWest => (0., 0., corner, corner),
ResizeDirection::NorthEast => (corner_far_x, 0., corner, corner),
ResizeDirection::SouthWest => (0., corner_far_y, corner, corner),
ResizeDirection::SouthEast => (corner_far_x, corner_far_y, corner, corner),
};