Improve ergonomics of span background highlighting
This commit is contained in:
parent
4dc7b9b961
commit
f7fe1edcbb
3 changed files with 63 additions and 35 deletions
|
|
@ -7,7 +7,6 @@
|
|||
use crate::core::border;
|
||||
use crate::core::font::{self, Font};
|
||||
use crate::core::padding;
|
||||
use crate::core::text::Background;
|
||||
use crate::core::theme::{self, Theme};
|
||||
use crate::core::{self, color, Color, Element, Length, Pixels};
|
||||
use crate::{column, container, rich_text, row, scrollable, span, text};
|
||||
|
|
@ -262,10 +261,8 @@ pub fn parse<'a>(
|
|||
let span = span(code.into_string())
|
||||
.font(Font::MONOSPACE)
|
||||
.color(Color::WHITE)
|
||||
.background(Background {
|
||||
color: color!(0x111111),
|
||||
border: border::rounded(2),
|
||||
});
|
||||
.background(color!(0x111111))
|
||||
.border(border::rounded(2));
|
||||
|
||||
let span = if let Some(link) = link.as_ref() {
|
||||
span.color(palette.primary).link(link.clone())
|
||||
|
|
|
|||
|
|
@ -248,17 +248,17 @@ where
|
|||
|
||||
// Draw backgrounds
|
||||
for (index, span) in self.spans.iter().enumerate() {
|
||||
if let Some(background) = span.background {
|
||||
if let Some(highlight) = span.highlight {
|
||||
let translation = layout.position() - Point::ORIGIN;
|
||||
|
||||
for bounds in state.paragraph.span_bounds(index) {
|
||||
renderer.fill_quad(
|
||||
renderer::Quad {
|
||||
bounds: bounds + translation,
|
||||
border: background.border,
|
||||
border: highlight.border,
|
||||
..Default::default()
|
||||
},
|
||||
background.color,
|
||||
highlight.background,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue