#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct FragmentationStyle {
pub break_before: BreakValue,
pub break_after: BreakValue,
pub break_inside: BreakInside,
pub orphans: u32,
pub widows: u32,
pub keep_with_next: bool,
pub box_decoration_break: BoxDecorationBreak,
pub float_placement: FloatPlacement,
pub max_float_deferral: u32,
}
impl Default for FragmentationStyle {
fn default() -> Self {
Self {
break_before: BreakValue::Auto,
break_after: BreakValue::Auto,
break_inside: BreakInside::Auto,
orphans: 2,
widows: 2,
keep_with_next: false,
box_decoration_break: BoxDecorationBreak::Slice,
float_placement: FloatPlacement::Inline,
max_float_deferral: 0,
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
pub enum BreakValue {
#[default]
Auto,
Avoid,
Always,
AvoidPage,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
pub enum BreakInside {
#[default]
Auto,
Avoid,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
pub enum FloatPlacement {
#[default]
Inline,
BestFit,
TopOfPage,
NextPage,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
pub enum BoxDecorationBreak {
#[default]
Slice,
Clone,
}