pub trait Element:
Debug
+ Send
+ Sync {
// Required methods
fn size(&self, parent: Constraint) -> Size;
fn render(&self, parent: Constraint) -> Vec<Line>;
// Provided methods
fn columns(&self, parent: Constraint) -> usize { ... }
fn rows(&self, parent: Constraint) -> usize { ... }
fn print(&self) { ... }
fn write(&self, constraints: Constraint) -> Result<(), Error>
where Self: Sized { ... }
fn display(&self, constraints: Constraint) -> String { ... }
}
Expand description
A text element that has a size and can be rendered to the terminal.
Required Methods§
Sourcefn size(&self, parent: Constraint) -> Size
fn size(&self, parent: Constraint) -> Size
Get the size of the element, in rows and columns.
Sourcefn render(&self, parent: Constraint) -> Vec<Line>
fn render(&self, parent: Constraint) -> Vec<Line>
Render the element as lines of text that can be printed.
Provided Methods§
Sourcefn columns(&self, parent: Constraint) -> usize
fn columns(&self, parent: Constraint) -> usize
Get the number of columns occupied by this element.
Sourcefn rows(&self, parent: Constraint) -> usize
fn rows(&self, parent: Constraint) -> usize
Get the number of rows occupied by this element.
Sourcefn write(&self, constraints: Constraint) -> Result<(), Error>where
Self: Sized,
fn write(&self, constraints: Constraint) -> Result<(), Error>where
Self: Sized,
Write using the given constraints to stdout
.
Sourcefn display(&self, constraints: Constraint) -> String
fn display(&self, constraints: Constraint) -> String
Return a string representation of this element.
Trait Implementations§
Source§impl Element for Box<dyn Element + '_>
impl Element for Box<dyn Element + '_>
Source§fn size(&self, parent: Constraint) -> Size
fn size(&self, parent: Constraint) -> Size
Get the size of the element, in rows and columns.
Source§fn render(&self, parent: Constraint) -> Vec<Line>
fn render(&self, parent: Constraint) -> Vec<Line>
Render the element as lines of text that can be printed.
Source§fn columns(&self, parent: Constraint) -> usize
fn columns(&self, parent: Constraint) -> usize
Get the number of columns occupied by this element.
Source§fn rows(&self, parent: Constraint) -> usize
fn rows(&self, parent: Constraint) -> usize
Get the number of rows occupied by this element.
Source§fn write(&self, constraints: Constraint) -> Result<(), Error>where
Self: Sized,
fn write(&self, constraints: Constraint) -> Result<(), Error>where
Self: Sized,
Write using the given constraints to
stdout
.Source§fn display(&self, constraints: Constraint) -> String
fn display(&self, constraints: Constraint) -> String
Return a string representation of this element.