Clip text to viewport bounds instead of layout bounds

This commit is contained in:
Héctor Ramón Jiménez 2023-12-01 16:04:27 +01:00
parent 99899d49cc
commit 936d480267
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
23 changed files with 177 additions and 115 deletions

View file

@ -14,24 +14,26 @@ use std::sync::Arc;
pub enum Primitive<T> {
/// A text primitive
Text {
/// The contents of the text
/// The contents of the text.
content: String,
/// The bounds of the text
/// The bounds of the text.
bounds: Rectangle,
/// The color of the text
/// The color of the text.
color: Color,
/// The size of the text in logical pixels
/// The size of the text in logical pixels.
size: Pixels,
/// The line height of the text
/// The line height of the text.
line_height: text::LineHeight,
/// The font of the text
/// The font of the text.
font: Font,
/// The horizontal alignment of the text
/// The horizontal alignment of the text.
horizontal_alignment: alignment::Horizontal,
/// The vertical alignment of the text
/// The vertical alignment of the text.
vertical_alignment: alignment::Vertical,
/// The shaping strategy of the text.
shaping: text::Shaping,
/// The viewport of the text.
viewport: Rectangle,
},
/// A paragraph primitive
Paragraph {
@ -41,15 +43,19 @@ pub enum Primitive<T> {
position: Point,
/// The color of the paragraph.
color: Color,
/// The viewport of the paragraph.
viewport: Rectangle,
},
/// An editor primitive
Editor {
/// The [`editor::Weak`] reference.
editor: editor::Weak,
/// The position of the paragraph.
/// The position of the editor.
position: Point,
/// The color of the paragraph.
/// The color of the editor.
color: Color,
/// The viewport of the editor.
viewport: Rectangle,
},
/// A quad primitive
Quad {