use crate::errors::{ErrorKind, Result};
use crate::one::property::PropertyType;
use crate::onestore::object::Object;
#[allow(missing_docs)]
#[derive(Debug, Copy, Clone, PartialEq, Default)]
pub enum ParagraphAlignment {
Unknown,
#[default]
Left,
Center,
Right,
}
impl ParagraphAlignment {
pub(crate) fn parse(object: &Object) -> Result<Option<ParagraphAlignment>> {
let value = match object.props().get(PropertyType::ParagraphAlignment) {
Some(value) => value.to_u8().ok_or_else(|| {
ErrorKind::MalformedOneNoteFileData("page size is not a u8".into())
})?,
None => return Ok(None),
};
Ok(Some(match value {
0 => ParagraphAlignment::Left,
1 => ParagraphAlignment::Center,
2 => ParagraphAlignment::Right,
_ => ParagraphAlignment::Unknown,
}))
}
}