Compare commits

...

2 commits

Author SHA1 Message Date
4792304d8b remove unused use statements
Some checks are pending
/ test (push) Waiting to run
2025-09-02 09:19:17 -05:00
23cd34388b update todo 2025-09-02 09:19:10 -05:00
2 changed files with 19 additions and 12 deletions

View file

@ -1,38 +1,37 @@
use miette::{IntoDiagnostic, Result}; use miette::{IntoDiagnostic, Result};
use resvg::usvg::fontdb;
use std::{fs::File, io::BufReader, path::PathBuf, sync::Arc}; use std::{fs::File, io::BufReader, path::PathBuf, sync::Arc};
use cosmic::{ use cosmic::{
Task,
iced::{ iced::{
Background, Border, Color, ContentFit, Font, Length, Shadow,
Vector,
alignment::Horizontal, alignment::Horizontal,
border, border,
font::{Family, Stretch, Style, Weight}, font::{Family, Stretch, Style, Weight},
Background, Border, Color, ContentFit, Font, Length, Shadow,
Vector,
}, },
iced_widget::{ iced_widget::{
rich_text, rich_text,
scrollable::{ scrollable::{
scroll_to, AbsoluteOffset, Direction, Scrollbar, AbsoluteOffset, Direction, Scrollbar, scroll_to,
}, },
span, stack, vertical_rule, span, stack, vertical_rule,
}, },
prelude::*, prelude::*,
widget::{ widget::{
container, image, mouse_area, responsive, scrollable, text, Column, Container, Id, Row, Space, container, image,
Column, Container, Id, Row, Space, mouse_area, responsive, scrollable, text,
}, },
Task,
}; };
use iced_video_player::{gst_pbutils, Position, Video, VideoPlayer}; use iced_video_player::{Position, Video, VideoPlayer, gst_pbutils};
use rodio::{Decoder, OutputStream, Sink}; use rodio::{Decoder, OutputStream, Sink};
use tracing::{debug, error, info, warn}; use tracing::{debug, error, info, warn};
use url::Url; use url::Url;
use crate::{ use crate::{
BackgroundKind,
core::{service_items::ServiceItem, slide::Slide}, core::{service_items::ServiceItem, slide::Slide},
ui::text_svg, ui::text_svg,
BackgroundKind,
}; };
const REFERENCE_WIDTH: f32 = 1920.0; const REFERENCE_WIDTH: f32 = 1920.0;
@ -133,7 +132,9 @@ impl Presenter {
Some(v) Some(v)
} }
Err(e) => { Err(e) => {
error!("Had an error creating the video object: {e}, likely the first slide isn't a video"); error!(
"Had an error creating the video object: {e}, likely the first slide isn't a video"
);
None None
} }
} }
@ -379,7 +380,7 @@ impl Presenter {
self.hovered_slide = slide; self.hovered_slide = slide;
} }
Message::StartAudio => { Message::StartAudio => {
return Action::Task(self.start_audio()) return Action::Task(self.start_audio());
} }
Message::EndAudio => { Message::EndAudio => {
self.sink.1.stop(); self.sink.1.stop();
@ -642,7 +643,9 @@ impl Presenter {
self.video = Some(v) self.video = Some(v)
} }
Err(e) => { Err(e) => {
error!("Had an error creating the video object: {e}"); error!(
"Had an error creating the video object: {e}"
);
self.video = None; self.video = None;
} }
} }

View file

@ -16,6 +16,10 @@ Actually, what if we just made the svg at load/creation time and stored it in th
** SVG performs badly ** SVG performs badly
Since SVG's apparently run poorly in iced, instead I'll need to see about either creating a new text element, or teaching Iced to render strokes and shadows on text. Since SVG's apparently run poorly in iced, instead I'll need to see about either creating a new text element, or teaching Iced to render strokes and shadows on text.
** Fork Cryoglyph
This fork will render text 3 times. Once for the text, once for the stroke, once for the shadow. This will only be used in the slides and therefore should not be much of a performance hit since we will only be render 3 copies of the given text. This should not be bad performance since it's not a large amount of text.
This also means in our custom widget with our custom fork, we can animate each individually perhaps.
* TODO [#C] Make the presenter more modular so things are easier to change. * TODO [#C] Make the presenter more modular so things are easier to change.