feat: ellipsize text (#1132)
This commit is contained in:
parent
55d6fff12c
commit
eb6a263e3f
7 changed files with 22 additions and 2 deletions
2
iced
2
iced
|
|
@ -1 +1 @@
|
||||||
Subproject commit c1edb8108430973c6fda79950c611398a990f144
|
Subproject commit cc670e1966b2b732e732a020e416f6cfae5bafea
|
||||||
|
|
@ -681,6 +681,7 @@ where
|
||||||
align_y: alignment::Vertical::Center,
|
align_y: alignment::Vertical::Center,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::default(),
|
wrapping: text::Wrapping::default(),
|
||||||
|
ellipsize: text::Ellipsize::default(),
|
||||||
},
|
},
|
||||||
bounds.position(),
|
bounds.position(),
|
||||||
color,
|
color,
|
||||||
|
|
|
||||||
|
|
@ -593,6 +593,7 @@ where
|
||||||
align_y: alignment::Vertical::Center,
|
align_y: alignment::Vertical::Center,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::default(),
|
wrapping: text::Wrapping::default(),
|
||||||
|
ellipsize: text::Ellipsize::default(),
|
||||||
},
|
},
|
||||||
bounds.position(),
|
bounds.position(),
|
||||||
color,
|
color,
|
||||||
|
|
@ -642,6 +643,7 @@ where
|
||||||
align_y: alignment::Vertical::Center,
|
align_y: alignment::Vertical::Center,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::default(),
|
wrapping: text::Wrapping::default(),
|
||||||
|
ellipsize: text::Ellipsize::default(),
|
||||||
},
|
},
|
||||||
bounds.position(),
|
bounds.position(),
|
||||||
appearance.description_color,
|
appearance.description_color,
|
||||||
|
|
|
||||||
|
|
@ -280,6 +280,7 @@ pub fn layout(
|
||||||
align_y: alignment::Vertical::Top,
|
align_y: alignment::Vertical::Top,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::default(),
|
wrapping: text::Wrapping::default(),
|
||||||
|
ellipsize: text::Ellipsize::default(),
|
||||||
});
|
});
|
||||||
paragraph.min_width().round()
|
paragraph.min_width().round()
|
||||||
};
|
};
|
||||||
|
|
@ -418,6 +419,7 @@ pub fn overlay<'a, S: AsRef<str>, Message: 'a, Item: Clone + PartialEq + 'static
|
||||||
align_y: alignment::Vertical::Top,
|
align_y: alignment::Vertical::Top,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::default(),
|
wrapping: text::Wrapping::default(),
|
||||||
|
ellipsize: text::Ellipsize::default(),
|
||||||
});
|
});
|
||||||
paragraph.min_width().round()
|
paragraph.min_width().round()
|
||||||
};
|
};
|
||||||
|
|
@ -548,6 +550,7 @@ pub fn draw<'a, S, Item: Clone + PartialEq + 'static>(
|
||||||
align_y: alignment::Vertical::Center,
|
align_y: alignment::Vertical::Center,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::default(),
|
wrapping: text::Wrapping::default(),
|
||||||
|
ellipsize: text::Ellipsize::default(),
|
||||||
},
|
},
|
||||||
bounds.position(),
|
bounds.position(),
|
||||||
style.text_color,
|
style.text_color,
|
||||||
|
|
|
||||||
|
|
@ -212,6 +212,7 @@ where
|
||||||
align_y: alignment::Vertical::Top,
|
align_y: alignment::Vertical::Top,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::default(),
|
wrapping: text::Wrapping::default(),
|
||||||
|
ellipsize: text::Ellipsize::default(),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -482,6 +483,7 @@ pub fn layout(
|
||||||
align_y: alignment::Vertical::Top,
|
align_y: alignment::Vertical::Top,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::default(),
|
wrapping: text::Wrapping::default(),
|
||||||
|
ellipsize: text::Ellipsize::default(),
|
||||||
};
|
};
|
||||||
p.update(text);
|
p.update(text);
|
||||||
p
|
p
|
||||||
|
|
@ -497,6 +499,7 @@ pub fn layout(
|
||||||
align_y: alignment::Vertical::Top,
|
align_y: alignment::Vertical::Top,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::default(),
|
wrapping: text::Wrapping::default(),
|
||||||
|
ellipsize: text::Ellipsize::default(),
|
||||||
};
|
};
|
||||||
&mut crate::Plain::new(text)
|
&mut crate::Plain::new(text)
|
||||||
}
|
}
|
||||||
|
|
@ -940,6 +943,7 @@ pub fn draw<'a, S>(
|
||||||
align_y: alignment::Vertical::Center,
|
align_y: alignment::Vertical::Center,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::default(),
|
wrapping: text::Wrapping::default(),
|
||||||
|
ellipsize: text::Ellipsize::default(),
|
||||||
},
|
},
|
||||||
bounds.position(),
|
bounds.position(),
|
||||||
style.text_color,
|
style.text_color,
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ use iced::{
|
||||||
event, keyboard, mouse, touch, window,
|
event, keyboard, mouse, touch, window,
|
||||||
};
|
};
|
||||||
use iced_core::mouse::ScrollDelta;
|
use iced_core::mouse::ScrollDelta;
|
||||||
use iced_core::text::{self, LineHeight, Renderer as TextRenderer, Shaping, Wrapping};
|
use iced_core::text::{self, Ellipsize, LineHeight, Renderer as TextRenderer, Shaping, Wrapping};
|
||||||
use iced_core::widget::operation::Focusable;
|
use iced_core::widget::operation::Focusable;
|
||||||
use iced_core::widget::{self, operation, tree};
|
use iced_core::widget::{self, operation, tree};
|
||||||
use iced_core::{Border, Point, Renderer as IcedRenderer, Shadow, Text};
|
use iced_core::{Border, Point, Renderer as IcedRenderer, Shadow, Text};
|
||||||
|
|
@ -276,6 +276,7 @@ where
|
||||||
shaping: Shaping::Advanced,
|
shaping: Shaping::Advanced,
|
||||||
wrapping: Wrapping::None,
|
wrapping: Wrapping::None,
|
||||||
line_height: self.line_height,
|
line_height: self.line_height,
|
||||||
|
ellipsize: Ellipsize::None,
|
||||||
};
|
};
|
||||||
paragraph.update(text);
|
paragraph.update(text);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -289,6 +290,7 @@ where
|
||||||
shaping: Shaping::Advanced,
|
shaping: Shaping::Advanced,
|
||||||
wrapping: Wrapping::None,
|
wrapping: Wrapping::None,
|
||||||
line_height: self.line_height,
|
line_height: self.line_height,
|
||||||
|
ellipsize: Ellipsize::None,
|
||||||
};
|
};
|
||||||
state.paragraphs.insert(key, crate::Plain::new(text));
|
state.paragraphs.insert(key, crate::Plain::new(text));
|
||||||
}
|
}
|
||||||
|
|
@ -620,6 +622,7 @@ where
|
||||||
align_y: alignment::Vertical::Center,
|
align_y: alignment::Vertical::Center,
|
||||||
shaping: Shaping::Advanced,
|
shaping: Shaping::Advanced,
|
||||||
wrapping: Wrapping::default(),
|
wrapping: Wrapping::default(),
|
||||||
|
ellipsize: Ellipsize::default(),
|
||||||
line_height: self.line_height,
|
line_height: self.line_height,
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -728,6 +728,7 @@ where
|
||||||
line_height: text::LineHeight::default(),
|
line_height: text::LineHeight::default(),
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::None,
|
wrapping: text::Wrapping::None,
|
||||||
|
ellipsize: text::Ellipsize::None,
|
||||||
});
|
});
|
||||||
|
|
||||||
let Size { width, height } =
|
let Size { width, height } =
|
||||||
|
|
@ -1161,6 +1162,7 @@ pub fn layout<Message>(
|
||||||
line_height,
|
line_height,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::None,
|
wrapping: text::Wrapping::None,
|
||||||
|
ellipsize: text::Ellipsize::None,
|
||||||
});
|
});
|
||||||
let label_size = label_paragraph.min_bounds();
|
let label_size = label_paragraph.min_bounds();
|
||||||
|
|
||||||
|
|
@ -1298,6 +1300,7 @@ pub fn layout<Message>(
|
||||||
line_height: helper_text_line_height,
|
line_height: helper_text_line_height,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::None,
|
wrapping: text::Wrapping::None,
|
||||||
|
ellipsize: text::Ellipsize::None,
|
||||||
});
|
});
|
||||||
let helper_text_size = helper_text_paragraph.min_bounds();
|
let helper_text_size = helper_text_paragraph.min_bounds();
|
||||||
let helper_text_node = layout::Node::new(helper_text_size).translate(helper_pos);
|
let helper_text_node = layout::Node::new(helper_text_size).translate(helper_pos);
|
||||||
|
|
@ -2280,6 +2283,7 @@ pub fn draw<'a, Message>(
|
||||||
line_height,
|
line_height,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::None,
|
wrapping: text::Wrapping::None,
|
||||||
|
ellipsize: text::Ellipsize::None,
|
||||||
},
|
},
|
||||||
label_layout.bounds().position(),
|
label_layout.bounds().position(),
|
||||||
appearance.label_color,
|
appearance.label_color,
|
||||||
|
|
@ -2471,6 +2475,7 @@ pub fn draw<'a, Message>(
|
||||||
line_height: text::LineHeight::default(),
|
line_height: text::LineHeight::default(),
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::None,
|
wrapping: text::Wrapping::None,
|
||||||
|
ellipsize: text::Ellipsize::None,
|
||||||
},
|
},
|
||||||
bounds.position(),
|
bounds.position(),
|
||||||
color,
|
color,
|
||||||
|
|
@ -2519,6 +2524,7 @@ pub fn draw<'a, Message>(
|
||||||
line_height: helper_line_height,
|
line_height: helper_line_height,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::None,
|
wrapping: text::Wrapping::None,
|
||||||
|
ellipsize: text::Ellipsize::None,
|
||||||
},
|
},
|
||||||
helper_text_layout.bounds().position(),
|
helper_text_layout.bounds().position(),
|
||||||
text_color,
|
text_color,
|
||||||
|
|
@ -2907,6 +2913,7 @@ fn replace_paragraph(
|
||||||
align_y: alignment::Vertical::Top,
|
align_y: alignment::Vertical::Top,
|
||||||
shaping: text::Shaping::Advanced,
|
shaping: text::Shaping::Advanced,
|
||||||
wrapping: text::Wrapping::None,
|
wrapping: text::Wrapping::None,
|
||||||
|
ellipsize: text::Ellipsize::None,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue