introduce Buffer::new_empty
This commit is contained in:
parent
a93ec8adf8
commit
cfb6760fa2
1 changed files with 24 additions and 0 deletions
|
|
@ -324,6 +324,30 @@ pub struct Buffer {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Buffer {
|
impl Buffer {
|
||||||
|
/// Create an empty [`Buffer`] with the provided [`Metrics`].
|
||||||
|
/// This is useful for initializing a [`Buffer`] without a [`FontSystem`].
|
||||||
|
///
|
||||||
|
/// You must populate the [`Buffer`] with at least one [`BufferLine`] before shaping and layout,
|
||||||
|
/// for example by calling [`Buffer::set_text`].
|
||||||
|
///
|
||||||
|
/// If you have a [`FontSystem`] in scope, you should use [`Buffer::new`] instead.
|
||||||
|
///
|
||||||
|
/// # Panics
|
||||||
|
///
|
||||||
|
/// Will panic if `metrics.line_height` is zero.
|
||||||
|
pub fn new_empty(metrics: Metrics) -> Self {
|
||||||
|
assert_ne!(metrics.line_height, 0.0, "line height cannot be 0");
|
||||||
|
Self {
|
||||||
|
lines: Vec::new(),
|
||||||
|
metrics,
|
||||||
|
width: 0.0,
|
||||||
|
height: 0.0,
|
||||||
|
scroll: 0,
|
||||||
|
redraw: false,
|
||||||
|
wrap: Wrap::Word,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Create a new [`Buffer`] with the provided [`FontSystem`] and [`Metrics`]
|
/// Create a new [`Buffer`] with the provided [`FontSystem`] and [`Metrics`]
|
||||||
///
|
///
|
||||||
/// # Panics
|
/// # Panics
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue