slint/internal/core/textlayout/linebreak_unicode.rs
Simon Hausmann 1d1b13e4d6 Clean up line break "abstraction"
Use unicode-linebreak's enum directly and ony use a custom enum in the fake
module.
2022-03-10 10:51:32 +01:00

17 lines
506 B
Rust

// Copyright © SixtyFPS GmbH <info@slint-ui.com>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-commercial
use alloc::boxed::Box;
pub use unicode_linebreak::BreakOpportunity;
#[derive(derive_more::DerefMut, derive_more::Deref)]
pub struct LineBreakIterator<'a>(
Box<dyn Iterator<Item = (usize, unicode_linebreak::BreakOpportunity)> + 'a>,
);
impl<'a> LineBreakIterator<'a> {
pub fn new(text: &'a str) -> Self {
Self(Box::new(unicode_linebreak::linebreaks(text)))
}
}