From d75600188efa2c9aae15fb233b05009e496571ae Mon Sep 17 00:00:00 2001 From: unspeaker Date: Sat, 6 Jul 2024 22:07:23 +0300 Subject: [PATCH] LineBuffer --- src/core.rs | 1 - src/core/render.rs | 91 +++++++++++++++++++++++++++++++++++++++++++ src/view/transport.rs | 3 +- 3 files changed, 92 insertions(+), 3 deletions(-) diff --git a/src/core.rs b/src/core.rs index ad0aff06..3d3e0ea0 100644 --- a/src/core.rs +++ b/src/core.rs @@ -13,7 +13,6 @@ pub(crate) use std::sync::{ // Non-stdlib dependencies: pub(crate) use microxdg::XdgApp; -pub(crate) use ratatui::prelude::*; pub(crate) use midly::{MidiMessage, live::LiveEvent, num::u7}; pub(crate) use crossterm::{ExecutableCommand}; pub(crate) use crossterm::event::{Event, KeyEvent, KeyCode, KeyModifiers}; diff --git a/src/core/render.rs b/src/core/render.rs index afb7a6db..759ae7f3 100644 --- a/src/core/render.rs +++ b/src/core/render.rs @@ -1,4 +1,6 @@ use crate::core::*; +pub(crate) use ratatui::prelude::*; +use ratatui::buffer::Cell; use ratatui::widgets::WidgetRef; pub trait Blit { @@ -80,3 +82,92 @@ impl WidgetRef for dyn Render { Render::render(self, buf, area).expect("Failed to render device."); } } + +pub struct LineBuffer { + width: usize, + cells: Vec, + style: Option