From c9a2265ab192af4d1270e96b0d73cb06163ece96 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 8 Jul 2024 20:44:03 -0600 Subject: [PATCH] Make text wrap configurable --- iced | 2 +- src/widget/dropdown/menu/mod.rs | 1 + src/widget/dropdown/multi/menu.rs | 2 ++ src/widget/dropdown/multi/widget.rs | 3 +++ src/widget/dropdown/widget.rs | 4 ++++ src/widget/segmented_button/widget.rs | 4 +++- src/widget/text_input/input.rs | 7 +++++++ 7 files changed, 21 insertions(+), 2 deletions(-) diff --git a/iced b/iced index 6f83a8d1..85b077d7 160000 --- a/iced +++ b/iced @@ -1 +1 @@ -Subproject commit 6f83a8d16447b2590cb081f3e0f294678cc6caaf +Subproject commit 85b077d7874ca128457207bd89e9c7d1761be714 diff --git a/src/widget/dropdown/menu/mod.rs b/src/widget/dropdown/menu/mod.rs index e214ec36..3e26edf4 100644 --- a/src/widget/dropdown/menu/mod.rs +++ b/src/widget/dropdown/menu/mod.rs @@ -502,6 +502,7 @@ impl<'a, S: AsRef, Message> Widget horizontal_alignment: alignment::Horizontal::Left, vertical_alignment: alignment::Vertical::Center, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }, bounds.position(), color, diff --git a/src/widget/dropdown/multi/menu.rs b/src/widget/dropdown/multi/menu.rs index 2f87d123..f586e9e5 100644 --- a/src/widget/dropdown/multi/menu.rs +++ b/src/widget/dropdown/multi/menu.rs @@ -595,6 +595,7 @@ where horizontal_alignment: alignment::Horizontal::Left, vertical_alignment: alignment::Vertical::Center, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }, bounds.position(), color, @@ -643,6 +644,7 @@ where horizontal_alignment: alignment::Horizontal::Center, vertical_alignment: alignment::Vertical::Center, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }, bounds.position(), appearance.description_color, diff --git a/src/widget/dropdown/multi/widget.rs b/src/widget/dropdown/multi/widget.rs index ff71b75e..4fcb73e9 100644 --- a/src/widget/dropdown/multi/widget.rs +++ b/src/widget/dropdown/multi/widget.rs @@ -279,6 +279,7 @@ pub fn layout( horizontal_alignment: alignment::Horizontal::Left, vertical_alignment: alignment::Vertical::Top, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }); paragraph.min_width().round() }; @@ -421,6 +422,7 @@ pub fn overlay<'a, S: AsRef, Message: 'a, Item: Clone + PartialEq + 'static horizontal_alignment: alignment::Horizontal::Left, vertical_alignment: alignment::Vertical::Top, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }); paragraph.min_width().round() }; @@ -549,6 +551,7 @@ pub fn draw<'a, S, Item: Clone + PartialEq + 'static>( horizontal_alignment: alignment::Horizontal::Left, vertical_alignment: alignment::Vertical::Center, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }, bounds.position(), style.text_color, diff --git a/src/widget/dropdown/widget.rs b/src/widget/dropdown/widget.rs index 3ae1b29c..c4af8cbb 100644 --- a/src/widget/dropdown/widget.rs +++ b/src/widget/dropdown/widget.rs @@ -80,6 +80,7 @@ impl<'a, S: AsRef, Message> Dropdown<'a, S, Message> { horizontal_alignment: alignment::Horizontal::Left, vertical_alignment: alignment::Vertical::Top, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }); } } @@ -116,6 +117,7 @@ impl<'a, S: AsRef, Message: 'a> Widget( horizontal_alignment: alignment::Horizontal::Left, vertical_alignment: alignment::Vertical::Center, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }, bounds.position(), style.text_color, diff --git a/src/widget/segmented_button/widget.rs b/src/widget/segmented_button/widget.rs index a38c2f49..26fd0109 100644 --- a/src/widget/segmented_button/widget.rs +++ b/src/widget/segmented_button/widget.rs @@ -19,7 +19,7 @@ use iced::{ Padding, Rectangle, Size, }; use iced_core::mouse::ScrollDelta; -use iced_core::text::{LineHeight, Paragraph, Renderer as TextRenderer, Shaping}; +use iced_core::text::{LineHeight, Paragraph, Renderer as TextRenderer, Shaping, Wrap}; use iced_core::widget::{self, operation, tree}; use iced_core::{layout, renderer, widget::Tree, Clipboard, Layout, Shell, Widget}; use iced_core::{Border, Gradient, Point, Renderer as IcedRenderer, Shadow, Text}; @@ -443,6 +443,7 @@ where horizontal_alignment: alignment::Horizontal::Left, vertical_alignment: alignment::Vertical::Center, shaping: Shaping::Advanced, + wrap: Wrap::default(), line_height: self.line_height, }) }); @@ -638,6 +639,7 @@ where horizontal_alignment: alignment::Horizontal::Left, vertical_alignment: alignment::Vertical::Center, shaping: Shaping::Advanced, + wrap: Wrap::default(), line_height: self.line_height, }; diff --git a/src/widget/text_input/input.rs b/src/widget/text_input/input.rs index bd0a3152..773a346e 100644 --- a/src/widget/text_input/input.rs +++ b/src/widget/text_input/input.rs @@ -639,6 +639,7 @@ where vertical_alignment: alignment::Vertical::Center, line_height: text::LineHeight::default(), shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }); let Size { width, height } = @@ -995,6 +996,7 @@ pub fn layout( vertical_alignment: alignment::Vertical::Center, line_height, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }); let label_size = label_paragraph.min_bounds(); @@ -1133,6 +1135,7 @@ pub fn layout( vertical_alignment: alignment::Vertical::Center, line_height: helper_text_line_height, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }); let helper_text_size = helper_text_paragraph.min_bounds(); let helper_text_node = layout::Node::new(helper_text_size).translate(helper_pos); @@ -2142,6 +2145,7 @@ pub fn draw<'a, Message>( vertical_alignment: alignment::Vertical::Top, line_height, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }, label_layout.bounds().position(), appearance.label_color, @@ -2302,6 +2306,7 @@ pub fn draw<'a, Message>( vertical_alignment: alignment::Vertical::Center, line_height: text::LineHeight::default(), shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }, bounds.position(), color, @@ -2344,6 +2349,7 @@ pub fn draw<'a, Message>( vertical_alignment: alignment::Vertical::Top, line_height: helper_line_height, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }, helper_text_layout.bounds().position(), text_color, @@ -2647,6 +2653,7 @@ fn replace_paragraph( horizontal_alignment: alignment::Horizontal::Left, vertical_alignment: alignment::Vertical::Top, shaping: text::Shaping::Advanced, + wrap: text::Wrap::default(), }); }