#[derive(Clone, Debug, Default)]
pub struct Parameter {
pub name: String,
pub xml_value: String,
}
#[derive(Clone, Debug, Default)]
pub struct Parameters {
pub parameter: Vec<Parameter>,
}
#[derive(Clone, Debug)]
pub enum AppearanceContentChoice {
TextObject(Box<crate::schemas::page::TextObject>),
PathObject(Box<crate::schemas::page::PathObject>),
ImageObject(Box<crate::schemas::page::ImageObject>),
CompositeObject(Box<crate::schemas::page::CompositeObject>),
PageBlock(Box<crate::schemas::page::PageBlock>),
}
#[derive(Clone, Debug, Default)]
pub struct Appearance {
pub boundary: Option<crate::schemas::definitions::StBox>,
pub xml_children: Vec<AppearanceContentChoice>,
}
#[derive(Clone, Debug, Default)]
pub struct Annot {
pub id: crate::schemas::definitions::StId,
pub r#type: AnnotType,
pub creator: String,
pub last_mod_date: String,
pub visible: Option<bool>,
pub subtype: Option<String>,
pub print: Option<bool>,
pub no_zoom: Option<bool>,
pub no_rotate: Option<bool>,
pub read_only: Option<bool>,
pub remark: Option<String>,
pub parameters: Option<Parameters>,
pub appearance: Appearance,
}
#[derive(Clone, Debug, Default)]
pub struct PageAnnot {
pub annot: Vec<Annot>,
}
#[derive(Clone, Debug, Default)]
pub enum AnnotType {
#[default]
Link,
Path,
Highlight,
Stamp,
Watermark,
}