Extracted ser::PanelShaderFade into a struct for future expandability

This commit is contained in:
Filipe Rodrigues 2025-09-07 05:28:35 +01:00
parent db4528d876
commit b563a641d9
Signed by: zenithsiz
SSH Key Fingerprint: SHA256:Mb5ppb3Sh7IarBO/sBTXLHbYEOz37hJAlslLQPPAPaU
2 changed files with 17 additions and 7 deletions

View File

@ -68,11 +68,11 @@ impl Panels {
ser::PanelShader::Fade(fade) => PanelState::Fade(PanelFadeState::new(
panel.state.duration,
panel.state.fade_duration,
match fade {
ser::PanelShaderFade::Basic => PanelShaderFade::Basic,
ser::PanelShaderFade::White { strength } => PanelShaderFade::White { strength },
ser::PanelShaderFade::Out { strength } => PanelShaderFade::Out { strength },
ser::PanelShaderFade::In { strength } => PanelShaderFade::In { strength },
match fade.inner {
ser::PanelShaderFadeInner::Basic => PanelShaderFade::Basic,
ser::PanelShaderFadeInner::White { strength } => PanelShaderFade::White { strength },
ser::PanelShaderFadeInner::Out { strength } => PanelShaderFade::Out { strength },
ser::PanelShaderFadeInner::In { strength } => PanelShaderFade::In { strength },
},
)),
};

View File

@ -56,11 +56,21 @@ pub enum PanelShader {
Fade(PanelShaderFade),
}
/// Configuration shader fade
/// Configuration shader fade inner
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
pub struct PanelShaderFade {
/// Inner
#[serde(flatten)]
pub inner: PanelShaderFadeInner,
}
/// Configuration shader fade inner
#[derive(Debug)]
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(tag = "fade")]
pub enum PanelShaderFade {
pub enum PanelShaderFadeInner {
#[serde(rename = "basic")]
Basic,