1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#[derive(Clone,Copy,PartialEq)]
pub enum StyleJoinMode {
None,
Some,
All,
}
pub struct CleaningOptions {
pub remove_unused_defs: bool,
pub convert_shapes: bool,
pub remove_title: bool,
pub remove_desc: bool,
pub remove_metadata: bool,
pub remove_dupl_linear_gradients: bool,
pub remove_dupl_radial_gradients: bool,
pub remove_dupl_fe_gaussian_blur: bool,
pub ungroup_groups: bool,
pub ungroup_defs: bool,
pub group_by_style: bool,
pub merge_gradients: bool,
pub regroup_gradient_stops: bool,
pub remove_invalid_stops: bool,
pub remove_invisible_elements: bool,
pub resolve_use: bool,
pub remove_version: bool,
pub remove_unreferenced_ids: bool,
pub trim_ids: bool,
pub remove_text_attributes: bool,
pub remove_unused_coordinates: bool,
pub remove_default_attributes: bool,
pub remove_xmlns_xlink_attribute: bool,
pub remove_needless_attributes: bool,
pub remove_gradient_attributes: bool,
pub join_style_attributes: StyleJoinMode,
pub apply_transform_to_gradients: bool,
pub apply_transform_to_shapes: bool,
pub paths_to_relative: bool,
pub remove_unused_segments: bool,
pub convert_segments: bool,
pub apply_transform_to_paths: bool,
pub coordinates_precision: u8,
pub properties_precision: u8,
pub paths_coordinates_precision: u8,
pub transforms_precision: u8,
}
impl Default for CleaningOptions {
fn default() -> CleaningOptions {
CleaningOptions {
remove_unused_defs: false,
convert_shapes: false,
remove_title: false,
remove_desc: false,
remove_metadata: false,
remove_dupl_linear_gradients: false,
remove_dupl_radial_gradients: false,
remove_dupl_fe_gaussian_blur: false,
ungroup_groups: false,
ungroup_defs: false,
group_by_style: false,
merge_gradients: false,
regroup_gradient_stops: false,
remove_invalid_stops: false,
remove_invisible_elements: false,
resolve_use: false,
remove_version: false,
remove_unreferenced_ids: false,
trim_ids: false,
remove_text_attributes: false,
remove_unused_coordinates: false,
remove_default_attributes: false,
remove_xmlns_xlink_attribute: false,
remove_needless_attributes: false,
remove_gradient_attributes: false,
join_style_attributes: StyleJoinMode::None,
apply_transform_to_gradients: false,
apply_transform_to_shapes: false,
paths_to_relative: false,
remove_unused_segments: false,
convert_segments: false,
apply_transform_to_paths: false,
coordinates_precision: 6,
properties_precision: 6,
paths_coordinates_precision: 8,
transforms_precision: 8,
}
}
}