Trait kas_text::TextApiExt [−][src]
pub trait TextApiExt: TextApi {}Show methods
fn update_env<F: FnOnce(&mut UpdateEnv<'_>)>(&mut self, f: F) -> Vec2 { ... } fn required_action(&self) -> Action { ... } fn num_lines(&self) -> usize { ... } fn find_line(&self, index: usize) -> Option<(usize, Range<usize>)> { ... } fn line_range(&self, line: usize) -> Option<Range<usize>> { ... } fn line_is_ltr(&self, line: usize) -> bool { ... } fn line_is_rtl(&self, line: usize) -> bool { ... } fn text_index_nearest(&self, pos: Vec2) -> usize { ... } fn line_index_nearest(&self, line: usize, x: f32) -> Option<usize> { ... } fn text_glyph_pos(&self, index: usize) -> MarkerPosIterⓘ{ ... } fn num_glyphs(&self) -> usize { ... } fn glyphs<F: FnMut(FaceId, f32, Glyph)>(&self, f: F) { ... } fn glyphs_with_effects<X, F, G>(Notable traits for MarkerPosIter
impl Iterator for MarkerPosIter type Item = MarkerPos;
&self,
effects: &[Effect<X>],
default_aux: X,
f: F,
g: G
)
where
X: Copy,
F: FnMut(FaceId, f32, Glyph, usize, X),
G: FnMut(f32, f32, f32, f32, usize, X), { ... } fn highlight_lines(&self, range: Range<usize>) -> Vec<(Vec2, Vec2)> { ... } fn highlight_runs(&self, range: Range<usize>) -> Vec<(Vec2, Vec2)> { ... }
Expand description
Extension trait over TextApi
Provided methods
fn update_env<F: FnOnce(&mut UpdateEnv<'_>)>(&mut self, f: F) -> Vec2
fn update_env<F: FnOnce(&mut UpdateEnv<'_>)>(&mut self, f: F) -> Vec2Update the environment and prepare, returning required size
This prepares text as necessary. It always performs line-wrapping.
fn required_action(&self) -> Action
fn required_action(&self) -> ActionGet required action
Get the number of lines
Wraps TextDisplay::num_lines.
Find the line containing text index
Wraps TextDisplay::find_line.
Get the range of a line, by line number
Wraps TextDisplay::line_range.
fn line_is_ltr(&self, line: usize) -> bool
fn line_is_ltr(&self, line: usize) -> boolGet the directionality of the current line
Wraps TextDisplay::line_is_ltr.
fn line_is_rtl(&self, line: usize) -> bool
fn line_is_rtl(&self, line: usize) -> boolGet the directionality of the current line
Wraps TextDisplay::line_is_rtl.
fn text_index_nearest(&self, pos: Vec2) -> usize
fn text_index_nearest(&self, pos: Vec2) -> usizeFind the text index for the glyph nearest the given pos
Find the text index nearest horizontal-coordinate x on line
fn text_glyph_pos(&self, index: usize) -> MarkerPosIterⓘNotable traits for MarkerPosIter
impl Iterator for MarkerPosIter type Item = MarkerPos;
fn text_glyph_pos(&self, index: usize) -> MarkerPosIterⓘNotable traits for MarkerPosIter
impl Iterator for MarkerPosIter type Item = MarkerPos;Find the starting position (top-left) of the glyph at the given index
Wraps TextDisplay::text_glyph_pos.
fn num_glyphs(&self) -> usize
fn num_glyphs(&self) -> usizeGet the number of glyphs
Wraps TextDisplay::num_glyphs.
Yield a sequence of positioned glyphs
Wraps TextDisplay::glyphs.
Like TextDisplay::glyphs but with added effects
Yield a sequence of rectangles to highlight a given range, by lines
Wraps TextDisplay::highlight_lines.
Yield a sequence of rectangles to highlight a given range, by runs
Wraps TextDisplay::highlight_runs.