1
0
mirror of https://github.com/emilk/egui.git synced 2026-09-02 06:40:06 -04:00

Optimize and clean up text output

This commit is contained in:
Emil Ernerfeldt
2020-05-20 21:22:42 +02:00
parent 7a9fb94029
commit 58a8f743be
6 changed files with 52 additions and 39 deletions

View File

@@ -116,8 +116,7 @@ impl<'a> Widget for Slider<'a> {
let slider_sans_text = Slider { text: None, ..self };
if text_on_top {
// let galley = font.layout_multiline(&full_text, ui.available().width());
let galley = font.layout_single_line(&full_text);
let galley = font.layout_single_line(full_text);
let pos = ui.reserve_space(galley.size, None).rect.min;
ui.add_galley(pos, galley, text_style, text_color);
slider_sans_text.ui(ui)

View File

@@ -66,9 +66,9 @@ impl<'t> Widget for TextEdit<'t> {
let line_spacing = font.line_spacing();
let available_width = ui.available().width();
let mut galley = if multiline {
font.layout_multiline(text.as_str(), available_width)
font.layout_multiline(text.clone(), available_width)
} else {
font.layout_single_line(text.as_str())
font.layout_single_line(text.clone())
};
let desired_size = galley.size.max(vec2(available_width, line_spacing));
let interact = ui.reserve_space(desired_size, Some(id));
@@ -108,9 +108,9 @@ impl<'t> Widget for TextEdit<'t> {
// layout again to avoid frame delay:
let font = &ui.fonts()[text_style];
galley = if multiline {
font.layout_multiline(text.as_str(), available_width)
font.layout_multiline(text.clone(), available_width)
} else {
font.layout_single_line(text.as_str())
font.layout_single_line(text.clone())
};
// dbg!(&galley);