use crate::ooxml::error::Result;
use crate::ooxml::pptx::parts::{SlideLayoutPart, SlideMasterPart, SlidePart};
use crate::ooxml::pptx::shapes::base::BaseShape;
pub struct Slide<'a> {
part: SlidePart<'a>,
}
impl<'a> Slide<'a> {
#[inline]
pub(crate) fn new(part: SlidePart<'a>) -> Self {
Self { part }
}
pub fn name(&self) -> Result<String> {
self.part.name()
}
pub fn text(&self) -> Result<String> {
self.part.extract_text()
}
#[inline]
pub fn part(&self) -> &SlidePart<'a> {
&self.part
}
pub fn shapes(&self) -> Result<Vec<BaseShape>> {
self.part.shapes()
}
}
pub struct SlideLayout<'a> {
part: SlideLayoutPart<'a>,
}
impl<'a> SlideLayout<'a> {
#[allow(unused)]
#[inline]
pub(crate) fn new(part: SlideLayoutPart<'a>) -> Self {
Self { part }
}
pub fn name(&self) -> Result<String> {
self.part.name()
}
#[inline]
pub fn part(&self) -> &SlideLayoutPart<'a> {
&self.part
}
}
pub struct SlideMaster<'a> {
part: SlideMasterPart<'a>,
}
impl<'a> SlideMaster<'a> {
#[inline]
pub(crate) fn new(part: SlideMasterPart<'a>) -> Self {
Self { part }
}
pub fn name(&self) -> Result<String> {
self.part.name()
}
pub fn slide_layout_rids(&self) -> Result<Vec<String>> {
self.part.slide_layout_rids()
}
#[inline]
pub fn part(&self) -> &SlideMasterPart<'a> {
&self.part
}
}
#[cfg(test)]
mod tests {
}