Clip text to viewport bounds instead of layout bounds
This commit is contained in:
parent
99899d49cc
commit
936d480267
23 changed files with 177 additions and 115 deletions
|
|
@ -64,6 +64,7 @@ impl text::Renderer for Null {
|
|||
_paragraph: &Self::Paragraph,
|
||||
_position: Point,
|
||||
_color: Color,
|
||||
_viewport: Rectangle,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
@ -72,6 +73,7 @@ impl text::Renderer for Null {
|
|||
_editor: &Self::Editor,
|
||||
_position: Point,
|
||||
_color: Color,
|
||||
_viewport: Rectangle,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
@ -80,6 +82,7 @@ impl text::Renderer for Null {
|
|||
_paragraph: Text<'_, Self::Font>,
|
||||
_position: Point,
|
||||
_color: Color,
|
||||
_viewport: Rectangle,
|
||||
) {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ pub use highlighter::Highlighter;
|
|||
pub use paragraph::Paragraph;
|
||||
|
||||
use crate::alignment;
|
||||
use crate::{Color, Pixels, Point, Size};
|
||||
use crate::{Color, Pixels, Point, Rectangle, Size};
|
||||
|
||||
use std::borrow::Cow;
|
||||
use std::hash::{Hash, Hasher};
|
||||
|
|
@ -202,6 +202,7 @@ pub trait Renderer: crate::Renderer {
|
|||
text: &Self::Paragraph,
|
||||
position: Point,
|
||||
color: Color,
|
||||
viewport: Rectangle,
|
||||
);
|
||||
|
||||
/// Draws the given [`Editor`] at the given position and with the given
|
||||
|
|
@ -211,6 +212,7 @@ pub trait Renderer: crate::Renderer {
|
|||
editor: &Self::Editor,
|
||||
position: Point,
|
||||
color: Color,
|
||||
viewport: Rectangle,
|
||||
);
|
||||
|
||||
/// Draws the given [`Text`] at the given position and with the given
|
||||
|
|
@ -220,5 +222,6 @@ pub trait Renderer: crate::Renderer {
|
|||
text: Text<'_, Self::Font>,
|
||||
position: Point,
|
||||
color: Color,
|
||||
viewport: Rectangle,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ where
|
|||
style: &renderer::Style,
|
||||
layout: Layout<'_>,
|
||||
_cursor_position: mouse::Cursor,
|
||||
_viewport: &Rectangle,
|
||||
viewport: &Rectangle,
|
||||
) {
|
||||
let state = tree.state.downcast_ref::<State<Renderer::Paragraph>>();
|
||||
|
||||
|
|
@ -182,6 +182,7 @@ where
|
|||
layout,
|
||||
state,
|
||||
theme.appearance(self.style.clone()),
|
||||
viewport,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -244,6 +245,7 @@ pub fn draw<Renderer>(
|
|||
layout: Layout<'_>,
|
||||
state: &State<Renderer::Paragraph>,
|
||||
appearance: Appearance,
|
||||
viewport: &Rectangle,
|
||||
) where
|
||||
Renderer: text::Renderer,
|
||||
{
|
||||
|
|
@ -266,6 +268,7 @@ pub fn draw<Renderer>(
|
|||
paragraph,
|
||||
Point::new(x, y),
|
||||
appearance.color.unwrap_or(style.text_color),
|
||||
*viewport,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue