mirror of
https://codeberg.org/unspeaker/tengri.git
synced 2026-09-19 13:36:42 +02:00
layout (no-draw) mode for tui
This commit is contained in:
parent
a27dacff93
commit
64c83b5460
4 changed files with 167 additions and 105 deletions
|
|
@ -8,7 +8,7 @@ use super::{*, draw::*};
|
|||
pub fn border (on: bool, style: impl BorderStyle, item: impl Draw<Tui>) -> impl Draw<Tui> {
|
||||
let content = item.pad_wh(1, 1);
|
||||
let outline = when(on, draw(move|to: &mut Tui|{
|
||||
let XYWH(x, y, w, h) = to.1;
|
||||
let XYWH(x, y, w, h) = to.area();
|
||||
if w > 0 && h > 0 {
|
||||
to.blit(&style.border_nw(), x, y, style.style());
|
||||
to.blit(&style.border_ne(), x + w - 1, y, style.style());
|
||||
|
|
@ -178,7 +178,7 @@ pub trait BorderStyle: Draw<Tui> + Copy {
|
|||
self.draw_v(to, None)?;
|
||||
self.draw_c(to, None)?;
|
||||
}
|
||||
Ok(to.1)
|
||||
Ok(to.area())
|
||||
}
|
||||
#[inline] fn draw_h (self, to: &mut Tui, style: Option<Style>) -> Usually<XYWH<u16>> {
|
||||
let style = style.or_else(||self.style_horizontal());
|
||||
|
|
@ -191,7 +191,7 @@ pub trait BorderStyle: Draw<Tui> + Copy {
|
|||
Ok(to.xywh())
|
||||
}
|
||||
#[inline] fn draw_v (self, to: &mut Tui, style: Option<Style>) -> Usually<XYWH<u16>> {
|
||||
let area = to.1;
|
||||
let area = to.area();
|
||||
let style = style.or_else(||self.style_vertical());
|
||||
let [x, x2, y, y2] = area.lrtb();
|
||||
let h = y2 - y;
|
||||
|
|
@ -207,7 +207,7 @@ pub trait BorderStyle: Draw<Tui> + Copy {
|
|||
Ok(area)
|
||||
}
|
||||
#[inline] fn draw_c (self, to: &mut Tui, style: Option<Style>) -> Usually<XYWH<u16>> {
|
||||
let area = to.1;
|
||||
let area = to.area();
|
||||
let style = style.or_else(||self.style_corners());
|
||||
let XYWH(x, y, w, h) = area;
|
||||
if w > 1 && h > 1 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue