use super::geometry::Rect;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub(crate) enum SemanticRole {
Heading { level: u8 },
Paragraph,
ListItem,
Code,
Formula,
Caption,
TableCell,
Figure,
BlockQuote,
Other,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub(crate) enum ElementLevel {
Word,
Line,
Block,
}
#[derive(Debug, Clone)]
pub(crate) struct ContentElement {
pub text: String,
pub bbox: Option<Rect>,
pub font_size: Option<f32>,
pub is_bold: bool,
pub is_italic: bool,
pub is_monospace: bool,
pub semantic_role: Option<SemanticRole>,
pub level: ElementLevel,
pub list_label: Option<String>,
pub layout_class: Option<super::types::LayoutHintClass>,
}
#[derive(Debug, Clone)]
pub(crate) struct PageContent {
pub elements: Vec<ContentElement>,
}