working on a used text_svg in the presenter
This commit is contained in:
parent
010f9a41d8
commit
342485f9d2
5 changed files with 20 additions and 7 deletions
|
@ -32,7 +32,9 @@ use crate::{
|
|||
BackgroundKind,
|
||||
};
|
||||
|
||||
use super::text_svg::{self, shadow, Font as SvgFont, TextSvg};
|
||||
use super::text_svg::{
|
||||
self, shadow, stroke, Font as SvgFont, TextSvg,
|
||||
};
|
||||
|
||||
const REFERENCE_WIDTH: f32 = 1920.0;
|
||||
const REFERENCE_HEIGHT: f32 = 1080.0;
|
||||
|
@ -547,10 +549,11 @@ pub(crate) fn slide_view<'a>(
|
|||
let font = SvgFont::from(font).size(font_size.floor() as u8);
|
||||
let slide_text = slide.text();
|
||||
let text = text_svg::TextSvg::new()
|
||||
.fill("#fff")
|
||||
.shadow(shadow(10, 10, 5, "#000000"))
|
||||
.font(font)
|
||||
.text(slide_text)
|
||||
.fill("#fff")
|
||||
.shadow(shadow(5, 5, 5, "#000000"))
|
||||
.stroke(stroke(4, "#f00"))
|
||||
.font(font)
|
||||
.view()
|
||||
.map(|m| Message::None);
|
||||
let text_container = Container::new(text)
|
||||
|
|
|
@ -11,6 +11,8 @@ use cosmic::{
|
|||
};
|
||||
use tracing::{debug, error};
|
||||
|
||||
use crate::TextAlignment;
|
||||
|
||||
#[derive(Clone, Debug, Default, PartialEq)]
|
||||
pub struct TextSvg {
|
||||
text: String,
|
||||
|
@ -18,6 +20,7 @@ pub struct TextSvg {
|
|||
shadow: Option<Shadow>,
|
||||
stroke: Option<Stroke>,
|
||||
fill: Color,
|
||||
alignment: TextAlignment,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default, PartialEq, Eq)]
|
||||
|
@ -175,6 +178,11 @@ impl TextSvg {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alignment(mut self, alignment: TextAlignment) -> Self {
|
||||
self.alignment = alignment;
|
||||
self
|
||||
}
|
||||
|
||||
pub fn view<'a>(self) -> Element<'a, Message> {
|
||||
let shadow = if let Some(shadow) = &self.shadow {
|
||||
format!("<filter id=\"shadow\"><feDropShadow dx=\"{}\" dy=\"{}\" stdDeviation=\"{}\" flood-color=\"{}\"/></filter>",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue