make Draw::clip take drawable instead of fn

This commit is contained in:
facile pop culture reference 2026-08-03 11:40:43 +03:00
parent cc4a428143
commit 4c25dcc702
9 changed files with 35 additions and 33 deletions

View file

@ -122,14 +122,14 @@ fn draw_stacks <S: Screen> (
origin_b: impl Into<Option<Azimuth>>,
) -> Usually<(Option<XYWH<S::Unit>>, Option<XYWH<S::Unit>>)> {
let draw_a = |to: &mut S|Ok::<_, Box<dyn Error>>(if let Some(origin_a) = origin_a.into() {
to.clip(area_a.into(), |to|a.align(origin_a).draw(to))?
to.clip(area_a.into(), a.align(origin_a))?
} else {
to.clip(area_a.into(), |to|a.draw(to))?
to.clip(area_a.into(), a)?
});
let draw_b = |to: &mut S|Ok::<_, Box<dyn Error>>(if let Some(origin_b) = origin_b.into() {
to.clip(area_b.into(), |to|b.align(origin_b).draw(to))?
to.clip(area_b.into(), b.align(origin_b))?
} else {
to.clip(area_b.into(), |to|b.draw(to))?
to.clip(area_b.into(), b)?
});
Ok(if matches!(split, Split::Below) {
let drawn_b = draw_b(to)?;