diff --git a/src/layout.rs b/src/layout.rs index 704536f..7364866 100644 --- a/src/layout.rs +++ b/src/layout.rs @@ -2,7 +2,7 @@ use std::cell::RefCell; use std::cmp::{max, min}; use std::collections::HashMap; -use cassowary::strength::{REQUIRED, WEAK}; +use cassowary::strength::{MEDIUM, REQUIRED, WEAK}; use cassowary::WeightedRelation::*; use cassowary::{Constraint as CassowaryConstraint, Expression, Solver, Variable}; @@ -248,17 +248,17 @@ fn split(area: Rect, layout: &Layout) -> Vec { ccs.push(elements[i].y | EQ(REQUIRED) | f64::from(dest_area.y)); ccs.push(elements[i].height | EQ(REQUIRED) | f64::from(dest_area.height)); ccs.push(match *size { - Constraint::Length(v) => elements[i].width | EQ(WEAK) | f64::from(v), + Constraint::Length(v) => elements[i].width | EQ(MEDIUM) | f64::from(v), Constraint::Percentage(v) => { - elements[i].width | EQ(WEAK) | (f64::from(v * dest_area.width) / 100.0) + elements[i].width | EQ(MEDIUM) | (f64::from(v * dest_area.width) / 100.0) } Constraint::Ratio(n, d) => { elements[i].width - | EQ(WEAK) + | EQ(MEDIUM) | (f64::from(dest_area.width) * f64::from(n) / f64::from(d)) } - Constraint::Min(v) => elements[i].width | GE(WEAK) | f64::from(v), - Constraint::Max(v) => elements[i].width | LE(WEAK) | f64::from(v), + Constraint::Min(v) => elements[i].width | GE(MEDIUM) | f64::from(v), + Constraint::Max(v) => elements[i].width | LE(MEDIUM) | f64::from(v), }); match *size { @@ -280,17 +280,17 @@ fn split(area: Rect, layout: &Layout) -> Vec { ccs.push(elements[i].x | EQ(REQUIRED) | f64::from(dest_area.x)); ccs.push(elements[i].width | EQ(REQUIRED) | f64::from(dest_area.width)); ccs.push(match *size { - Constraint::Length(v) => elements[i].height | EQ(WEAK) | f64::from(v), + Constraint::Length(v) => elements[i].height | EQ(MEDIUM) | f64::from(v), Constraint::Percentage(v) => { - elements[i].height | EQ(WEAK) | (f64::from(v * dest_area.height) / 100.0) + elements[i].height | EQ(MEDIUM) | (f64::from(v * dest_area.height) / 100.0) } Constraint::Ratio(n, d) => { elements[i].height - | EQ(WEAK) + | EQ(MEDIUM) | (f64::from(dest_area.height) * f64::from(n) / f64::from(d)) } - Constraint::Min(v) => elements[i].height | GE(WEAK) | f64::from(v), - Constraint::Max(v) => elements[i].height | LE(WEAK) | f64::from(v), + Constraint::Min(v) => elements[i].height | GE(MEDIUM) | f64::from(v), + Constraint::Max(v) => elements[i].height | LE(MEDIUM) | f64::from(v), }); match *size {