Struct svgdom::ValueWriteOptions [−][src]
pub struct ValueWriteOptions { pub trim_hex_colors: 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, }
Options for SVG types writing.
Fields
trim_hex_colors: bool
Use #RGB color notation when possible.
By default all colors written using #RRGGBB notation.
Examples
#ff0000
-> #f00
, #000000
-> #000
, #00aa00
-> #0a0
Default: disabled
remove_leading_zero: bool
use_compact_path_notation: bool
Use compact path notation.
SVG allow us to remove some symbols from path notation without breaking parsing.
Examples
M 10 -20 A 5.5 0.3 -4 1 1 0 -0.1
-> M10-20A5.5.3-4 1 1 0-.1
Default: disabled
join_arc_to_flags: bool
Join ArcTo flags.
Elliptical arc curve segment has flags parameters, which can have values of 0
or 1
.
Since we have fixed-width values, we can skip spaces between them.
Note: Sadly, but most of the viewers doesn't support such notation, even though it's valid according to the SVG spec.
Examples
A 5 5 30 1 1 10 10
-> A 5 5 30 1110 10
Default: disabled
remove_duplicated_path_commands: bool
Remove duplicated commands.
If a segment has the same type as a previous then we can skip command specifier.
Examples
M 10 10 L 20 20 L 30 30 L 40 40
-> M 10 10 L 20 20 30 30 40 40
Default: disabled
use_implicit_lineto_commands: bool
Use implicit LineTo commands.
'If a MoveTo is followed by multiple pairs of coordinates, the subsequent pairs are treated as implicit LineTo commands.'
Examples
M 10 10 L 20 20 L 30 30
-> M 10 10 20 20 30 30
Default: disabled
simplify_transform_matrices: bool
Simplify transform matrices into short equivalent when possible.
If not set - all transform will be saved as 'matrix'.
Examples
matrix(1 0 0 1 10 20) -> translate(10 20)
matrix(1 0 0 1 10 0) -> translate(10)
matrix(2 0 0 3 0 0) -> scale(2 3)
matrix(2 0 0 2 0 0) -> scale(2)
matrix(0 1 -1 0 0 0) -> rotate(-90)
Default: disabled
list_separator: ListSeparator
Set the separator type for list types.
Affects Points
, LengthList
, NumberList
and Transform
.
Default: ListSeparator::Space
Methods
impl WriteOptions
[src]
impl WriteOptions
pub fn write_separator(&self, out: &mut Vec<u8>)
[src]
pub fn write_separator(&self, out: &mut Vec<u8>)
Writes a selected separator to the output buffer.
Uses WriteOptions::list_separator
option.
Trait Implementations
impl Clone for WriteOptions
[src]
impl Clone for WriteOptions
fn clone(&self) -> WriteOptions
[src]
fn clone(&self) -> WriteOptions
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Default for WriteOptions
[src]
impl Default for WriteOptions
fn default() -> WriteOptions
[src]
fn default() -> WriteOptions
Returns the "default value" for a type. Read more
impl Debug for WriteOptions
[src]
impl Debug for WriteOptions
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl Copy for WriteOptions
[src]
impl Copy for WriteOptions
impl PartialEq<WriteOptions> for WriteOptions
[src]
impl PartialEq<WriteOptions> for WriteOptions
fn eq(&self, other: &WriteOptions) -> bool
[src]
fn eq(&self, other: &WriteOptions) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &WriteOptions) -> bool
[src]
fn ne(&self, other: &WriteOptions) -> bool
This method tests for !=
.
Auto Trait Implementations
impl Send for WriteOptions
impl Send for WriteOptions
impl Sync for WriteOptions
impl Sync for WriteOptions