#[derive(Clone,Copy,PartialEq)]
pub enum Indent {
None,
Spaces(u8),
Tabs,
}
#[derive(Clone,Copy,PartialEq)]
pub enum ListSeparator {
Comma,
Space,
CommaSpace,
}
#[derive(Clone,Copy,PartialEq)]
pub enum AttributesOrder {
AsIs,
Alphabetical,
Specification,
}
pub struct WriteOptions {
pub indent: Indent,
pub attributes_indent: Indent,
pub use_single_quote: bool,
pub trim_hex_colors: bool,
pub write_hidden_attributes: bool,
pub remove_leading_zero: bool,
pub use_compact_path_notation: bool,
pub join_arc_to_flags: bool,
pub remove_duplicated_path_commands: bool,
pub use_implicit_lineto_commands: bool,
pub simplify_transform_matrices: bool,
pub list_separator: ListSeparator,
pub attributes_order: AttributesOrder,
}
impl Default for WriteOptions {
fn default() -> WriteOptions {
WriteOptions {
indent: Indent::Spaces(4),
attributes_indent: Indent::None,
use_single_quote: false,
trim_hex_colors: false,
write_hidden_attributes: false,
remove_leading_zero: false,
use_compact_path_notation: false,
join_arc_to_flags: false,
remove_duplicated_path_commands: false,
use_implicit_lineto_commands: false,
simplify_transform_matrices: false,
list_separator: ListSeparator::Space,
attributes_order: AttributesOrder::Alphabetical,
}
}
}