diff options
author | 2024-07-23 13:36:40 -0700 | |
---|---|---|
committer | 2024-07-28 13:06:57 +0200 | |
commit | ddcf02f9d0377afe6a35dbbb09a29b4bd52efe2e (patch) | |
tree | 146f552a26ca1a41d53a006c570b1ff46b674554 /widget/src/markdown.rs | |
parent | 23a7e9f981728e8a95039db8eb8e9f3d8c6ba3d7 (diff) | |
download | iced-ddcf02f9d0377afe6a35dbbb09a29b4bd52efe2e.tar.gz iced-ddcf02f9d0377afe6a35dbbb09a29b4bd52efe2e.tar.bz2 iced-ddcf02f9d0377afe6a35dbbb09a29b4bd52efe2e.zip |
Add background styling to span / rich text
Diffstat (limited to 'widget/src/markdown.rs')
-rw-r--r-- | widget/src/markdown.rs | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/widget/src/markdown.rs b/widget/src/markdown.rs index 9cfd3c33..6cd8535e 100644 --- a/widget/src/markdown.rs +++ b/widget/src/markdown.rs @@ -4,9 +4,12 @@ //! in code blocks. //! //! Only the variants of [`Item`] are currently supported. +use crate::core::border; use crate::core::font::{self, Font}; use crate::core::padding; -use crate::core::theme::{self, Theme}; +use crate::core::text::Background; +use crate::core::theme::palette; +use crate::core::theme::Theme; use crate::core::{self, Element, Length, Pixels}; use crate::{column, container, rich_text, row, scrollable, span, text}; @@ -34,10 +37,10 @@ pub enum Item { } /// Parse the given Markdown content. -pub fn parse( - markdown: &str, - palette: theme::Palette, -) -> impl Iterator<Item = Item> + '_ { +pub fn parse<'a>( + markdown: &'a str, + palette: &'a palette::Extended, +) -> impl Iterator<Item = Item> + 'a { struct List { start: Option<u64>, items: Vec<Vec<Item>>, @@ -247,7 +250,7 @@ pub fn parse( }; let span = if let Some(link) = link.as_ref() { - span.color(palette.primary).link(link.clone()) + span.color(palette.primary.base.color).link(link.clone()) } else { span }; @@ -257,10 +260,15 @@ pub fn parse( None } pulldown_cmark::Event::Code(code) if !metadata && !table => { - let span = span(code.into_string()).font(Font::MONOSPACE); + let span = span(code.into_string()) + .font(Font::MONOSPACE) + .background(Background { + color: palette.background.weak.color, + border: border::rounded(2), + }); let span = if let Some(link) = link.as_ref() { - span.color(palette.primary).link(link.clone()) + span.color(palette.primary.base.color).link(link.clone()) } else { span }; |