From fe2094af14e6709b0ee178aadbf92384438220a5 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Tue, 12 Oct 2021 22:35:31 +0200 Subject: [PATCH] Fix visual clipping of singleline TextEdit --- egui/src/widgets/text_edit.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/egui/src/widgets/text_edit.rs b/egui/src/widgets/text_edit.rs index 7a8f8fca..6f5cc629 100644 --- a/egui/src/widgets/text_edit.rs +++ b/egui/src/widgets/text_edit.rs @@ -565,11 +565,14 @@ impl<'t> TextEdit<'t> { let mut galley = layouter(ui, text.as_ref(), wrap_width); + let desired_width = if multiline { + galley.size().x.max(wrap_width) // always show everything in multiline + } else { + wrap_width // visual clipping with scroll in singleline input. TODO: opt-in/out? + }; let desired_height = (desired_height_rows.at_least(1) as f32) * row_height; - let desired_size = vec2( - galley.size().x.max(wrap_width), - galley.size().y.max(desired_height), - ); + let desired_size = vec2(desired_width, galley.size().y.max(desired_height)); + let (auto_id, rect) = ui.allocate_space(desired_size); let id = id.unwrap_or_else(|| {