//! Document-structuring section headings. use super::prelude::*; use super::{FontFamily, TextNode}; /// A section heading. #[derive(Debug, Hash)] pub struct HeadingNode { /// The logical nesting depth of the section, starting from one. In the /// default style, this controls the text size of the heading. pub level: usize, /// The heading's contents. pub body: Template, } #[class] impl HeadingNode { /// The heading's font family. pub const FAMILY: Smart = Smart::Auto; /// The size of text in the heading. Just the surrounding text size if /// `auto`. pub const SIZE: Smart = Smart::Auto; /// The fill color of text in the heading. Just the surrounding text color /// if `auto`. pub const FILL: Smart = Smart::Auto; /// Whether text in the heading is strengthend. pub const STRONG: bool = true; /// Whether text in the heading is emphasized. pub const EMPH: bool = false; /// Whether the heading is underlined. pub const UNDERLINE: bool = false; /// The extra padding above the heading. pub const ABOVE: Length = Length::zero(); /// The extra padding below the heading. pub const BELOW: Length = Length::zero(); fn construct(_: &mut Vm, args: &mut Args) -> TypResult