mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 12:16:42 +01:00
update all to use TuiOutput; still slow?
This commit is contained in:
parent
bb7d215ba1
commit
f5fbc11b24
21 changed files with 873 additions and 888 deletions
|
|
@ -23,8 +23,8 @@ pub struct TuiInput {
|
|||
exited: Arc<AtomicBool>,
|
||||
}
|
||||
pub struct TuiOutput {
|
||||
buffer: Buffer,
|
||||
area: [u16;4],
|
||||
pub buffer: Buffer,
|
||||
pub area: [u16;4],
|
||||
}
|
||||
|
||||
impl Engine for Tui {
|
||||
|
|
@ -227,6 +227,7 @@ impl Tui {
|
|||
let updates = self.buffer.diff(&buffer);
|
||||
self.backend.draw(updates.into_iter()).expect("failed to render");
|
||||
std::mem::swap(&mut self.buffer, &mut buffer);
|
||||
buffer.reset();
|
||||
buffer
|
||||
}
|
||||
}
|
||||
|
|
@ -319,9 +320,10 @@ impl Widget for Styled<&str> {
|
|||
Ok(Some([self.1.len() as u16, 1]))
|
||||
}
|
||||
fn render (&self, to: &mut TuiOutput) -> Usually<()> {
|
||||
todo!()
|
||||
//let _ = self.layout(to.area().wh())?.unwrap();
|
||||
//Ok(Some([to.area.x(), to.area.y(), self.1.len() as u16, 1]))
|
||||
// FIXME
|
||||
let [x, y, ..] = to.area();
|
||||
let [w, h] = self.layout(to.area().wh())?.unwrap();
|
||||
Ok(to.blit(&self.1, x, y, None))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue