PanelState::new no longer requires the images.

This commit is contained in:
Filipe Rodrigues 2025-09-07 04:37:48 +01:00
parent 9877e5fd4d
commit a835c467be
Signed by: zenithsiz
SSH Key Fingerprint: SHA256:Mb5ppb3Sh7IarBO/sBTXLHbYEOz37hJAlslLQPPAPaU
2 changed files with 14 additions and 23 deletions

View File

@ -3,10 +3,7 @@
// Imports
use {
super::{Panel, PanelName, PanelShader, PanelState, ser},
crate::{
AppError,
panel::{PanelImages, PanelShaderFade},
},
crate::{AppError, panel::PanelShaderFade},
app_error::Context,
futures::lock::Mutex,
std::{collections::HashMap, path::PathBuf, sync::Arc},
@ -62,24 +59,18 @@ impl Panels {
// Finally convert it
let geometries = panel.geometries.into_iter().map(|geometry| geometry.geometry).collect();
let state = PanelState::new(
panel.state.duration,
panel.state.fade_duration,
match panel.shader {
Some(ser::PanelShader::None { background_color }) => PanelShader::None { background_color },
Some(ser::PanelShader::Fade) => PanelShader::Fade(PanelShaderFade::Basic),
Some(ser::PanelShader::FadeWhite { strength }) =>
PanelShader::Fade(PanelShaderFade::White { strength }),
Some(ser::PanelShader::FadeOut { strength }) =>
PanelShader::Fade(PanelShaderFade::Out { strength }),
Some(ser::PanelShader::FadeIn { strength }) =>
PanelShader::Fade(PanelShaderFade::In { strength }),
let state = PanelState::new(panel.state.duration, panel.state.fade_duration, match panel.shader {
Some(ser::PanelShader::None { background_color }) => PanelShader::None { background_color },
Some(ser::PanelShader::Fade) => PanelShader::Fade(PanelShaderFade::Basic),
Some(ser::PanelShader::FadeWhite { strength }) =>
PanelShader::Fade(PanelShaderFade::White { strength }),
Some(ser::PanelShader::FadeOut { strength }) =>
PanelShader::Fade(PanelShaderFade::Out { strength }),
Some(ser::PanelShader::FadeIn { strength }) => PanelShader::Fade(PanelShaderFade::In { strength }),
// TODO: Is this a good default?
None => PanelShader::Fade(PanelShaderFade::Out { strength: 1.5 }),
},
PanelImages::new(),
);
// TODO: Is this a good default?
None => PanelShader::Fade(PanelShaderFade::Out { strength: 1.5 }),
});
let panel = Panel::new(panel_name.clone(), geometries, state);

View File

@ -36,7 +36,7 @@ pub struct PanelState {
}
impl PanelState {
pub fn new(duration: Duration, fade_duration: Duration, shader: PanelShader, images: PanelImages) -> Self {
pub fn new(duration: Duration, fade_duration: Duration, shader: PanelShader) -> Self {
Self {
paused: false,
shader,
@ -44,7 +44,7 @@ impl PanelState {
progress: Duration::ZERO,
duration,
fade_duration,
images,
images: PanelImages::new(),
}
}