rename Plus and Minus to Push and Pull

This commit is contained in:
🪞👃🪞 2024-09-19 02:24:53 +03:00
parent 4c640301c6
commit 7063ae90d1
3 changed files with 25 additions and 25 deletions

View file

@ -495,9 +495,9 @@ impl<E: Engine, T: Widget<Engine = E>> Widget for Inset<E::Unit, T> {
}
fn render (&self, to: &mut E::Output) -> Usually<()> {
match *self {
Self::X(x, ref inner) => Plus::X(x, inner as &dyn Widget<Engine = E>),
Self::Y(y, ref inner) => Plus::Y(y, inner as &dyn Widget<Engine = E>),
Self::XY(x, y, ref inner) => Plus::XY(x, y, inner as &dyn Widget<Engine = E>),
Self::X(x, ref inner) => Push::X(x, inner as &dyn Widget<Engine = E>),
Self::Y(y, ref inner) => Push::Y(y, inner as &dyn Widget<Engine = E>),
Self::XY(x, y, ref inner) => Push::XY(x, y, inner as &dyn Widget<Engine = E>),
}.render(to)
}
}
@ -513,15 +513,15 @@ impl<E: Engine, T: Widget<Engine = E>> Widget for Outset<E::Unit, T> {
}
fn render (&self, to: &mut E::Output) -> Usually<()> {
match *self {
Self::X(x, ref inner) => Plus::X(x, inner as &dyn Widget<Engine = E>),
Self::Y(y, ref inner) => Plus::Y(y, inner as &dyn Widget<Engine = E>),
Self::XY(x, y, ref inner) => Plus::XY(x, y, inner as &dyn Widget<Engine = E>),
Self::X(x, ref inner) => Push::X(x, inner as &dyn Widget<Engine = E>),
Self::Y(y, ref inner) => Push::Y(y, inner as &dyn Widget<Engine = E>),
Self::XY(x, y, ref inner) => Push::XY(x, y, inner as &dyn Widget<Engine = E>),
}.render(to)
}
}
/// Move origin point of drawing area
pub enum Plus<N: Number, T: Widget> {
pub enum Push<N: Number, T: Widget> {
/// Move origin to the right
X(N, T),
/// Move origin downwards
@ -530,7 +530,7 @@ pub enum Plus<N: Number, T: Widget> {
XY(N, N, T),
}
impl<N: Number, T: Widget> Plus<N, T> {
impl<N: Number, T: Widget> Push<N, T> {
fn inner (&self) -> &T {
match self { Self::X(_, i) => i, Self::Y(_, i) => i, Self::XY(_, _, i) => i, }
}
@ -542,7 +542,7 @@ impl<N: Number, T: Widget> Plus<N, T> {
}
}
impl<E: Engine, T: Widget<Engine = E>> Widget for Plus<E::Unit, T> {
impl<E: Engine, T: Widget<Engine = E>> Widget for Push<E::Unit, T> {
type Engine = E;
fn layout (&self, to: E::Size) -> Perhaps<E::Size> {
self.inner().layout(to)
@ -559,7 +559,7 @@ impl<E: Engine, T: Widget<Engine = E>> Widget for Plus<E::Unit, T> {
}
/// Move origin point of drawing area
pub enum Minus<N: Number, T: Widget> {
pub enum Pull<N: Number, T: Widget> {
/// Move origin to the right
X(N, T),
/// Move origin downwards
@ -568,7 +568,7 @@ pub enum Minus<N: Number, T: Widget> {
XY(N, N, T),
}
impl<N: Number, T: Widget> Minus<N, T> {
impl<N: Number, T: Widget> Pull<N, T> {
fn inner (&self) -> &T {
match self { Self::X(_, i) => i, Self::Y(_, i) => i, Self::XY(_, _, i) => i, }
}
@ -580,7 +580,7 @@ impl<N: Number, T: Widget> Minus<N, T> {
}
}
impl<E: Engine, T: Widget<Engine = E>> Widget for Minus<E::Unit, T> {
impl<E: Engine, T: Widget<Engine = E>> Widget for Pull<E::Unit, T> {
type Engine = E;
fn layout (&self, to: E::Size) -> Perhaps<E::Size> {
self.inner().layout(to)
@ -610,7 +610,7 @@ where
if h >= to.h() {
return Ok(())
}
let size = Plus::Y(h, component as &dyn Widget<Engine = E>)
let size = Push::Y(h, component as &dyn Widget<Engine = E>)
.layout(to)?;
if let Some([width, height]) = size.map(|size|size.wh()) {
h = h + height.into();
@ -626,7 +626,7 @@ where
if w >= to.w() {
return Ok(())
}
let size = Plus::X(w, component as &dyn Widget<Engine = E>)
let size = Push::X(w, component as &dyn Widget<Engine = E>)
.layout(to)?;
if let Some([width, height]) = size.map(|size|size.wh()) {
w = w + width.into();
@ -652,10 +652,10 @@ where
return Ok(())
}
// FIXME -> ???
let size = Plus::Y(h, component as &dyn Widget<Engine = E>)
let size = Push::Y(h, component as &dyn Widget<Engine = E>)
.layout(area.wh().into())?;
if let Some([width, height]) = size.map(|size|size.wh()) {
Plus::Y(h, component as &dyn Widget<Engine = E>).render(to)?;
Push::Y(h, component as &dyn Widget<Engine = E>).render(to)?;
h = h + height;
if width > w {
w = width
@ -669,10 +669,10 @@ where
if w >= area.w() {
return Ok(())
}
let size = Plus::X(w, component as &dyn Widget<Engine = E>)
let size = Push::X(w, component as &dyn Widget<Engine = E>)
.layout(area.wh().into())?;
if let Some([width, height]) = size.map(|size|size.wh()) {
Plus::X(w, component as &dyn Widget<Engine = E>).render(to)?;
Push::X(w, component as &dyn Widget<Engine = E>).render(to)?;
w = width + w;
h = h.max(height)
};

View file

@ -47,7 +47,7 @@ fn test_plus_minus () -> Usually<()> {
let engine = TestEngine(area, vec![vec![' ';10];10]);
let test = TestArea(4, 4);
assert_eq!(test.layout(area)?, Some([0, 0, 4, 4]));
assert_eq!(Plus::X(1, test).layout(area)?, Some([1, 0, 4, 4]));
assert_eq!(Push::X(1, test).layout(area)?, Some([1, 0, 4, 4]));
Ok(())
}
@ -107,9 +107,9 @@ fn test_outset_align () -> Usually<()> {
//fn test_offset () -> Usually<()> {
//let area: [u16;4] = [50, 50, 100, 100];
//let test = TestArea(3, 3);
//assert_eq!(Plus::X(1, test).layout(area)?, Some([51, 50, 3, 3]));
//assert_eq!(Plus::Y(1, test).layout(area)?, Some([50, 51, 3, 3]));
//assert_eq!(Plus::XY(1, 1, test).layout(area)?, Some([51, 51, 3, 3]));
//assert_eq!(Push::X(1, test).layout(area)?, Some([51, 50, 3, 3]));
//assert_eq!(Push::Y(1, test).layout(area)?, Some([50, 51, 3, 3]));
//assert_eq!(Push::XY(1, 1, test).layout(area)?, Some([51, 51, 3, 3]));
//Ok(())
//}