use crate::core::ToXml;
#[derive(Clone, Debug, Copy, PartialEq, Eq, Default)]
pub enum TransitionType {
#[default]
None,
Fade,
Cut,
Push,
Wipe,
Split,
Reveal,
Cover,
Zoom,
}
impl TransitionType {
pub fn to_xml(&self) -> String {
match self {
TransitionType::None => String::new(),
TransitionType::Cut => String::new(), TransitionType::Fade => r#"<p:transition><p:fade/></p:transition>"#.to_string(),
TransitionType::Push => r#"<p:transition><p:push dir="r"/></p:transition>"#.to_string(), TransitionType::Wipe => r#"<p:transition><p:wipe dir="r"/></p:transition>"#.to_string(), TransitionType::Split => r#"<p:transition><p:split dir="out" orient="horz"/></p:transition>"#.to_string(),
TransitionType::Reveal => r#"<p:transition><p:reveal dir="r"/></p:transition>"#.to_string(),
TransitionType::Cover => r#"<p:transition><p:cover dir="r"/></p:transition>"#.to_string(),
TransitionType::Zoom => r#"<p:transition><p:zoom dir="in"/></p:transition>"#.to_string(),
}
}
}
impl ToXml for TransitionType {
fn to_xml(&self) -> String {
TransitionType::to_xml(self)
}
}