usvg::WriteOptions::preserve_text to control how usvg generates an SVG.
usvg::Image::abs_bounding_box
Changed
All types in usvg are immutable now. Meaning that usvg::Tree cannot be modified
after creation anymore.
All struct fields in usvg are private now. Use getters instead.
All usvg::Tree parsing methods require the fontdb argument now.
All defs children like gradients, patterns, clipPaths, masks and filters are guarantee
to have a unique, non-empty ID.
All defs children like gradients, patterns, clipPaths, masks and filters are guarantee
to have userSpaceOnUse units now. No objectBoundingBox units anymore.
usvg::Mask is allowed to have no children now.
Text nodes will not be parsed when the text build feature isn't enabled.
usvg::Tree::clip_paths, usvg::Tree::masks, usvg::Tree::filters returns
a pre-collected slice of unique nodes now.
It's no longer a closure and you do not have to deduplicate nodes by yourself.
usvg::filter::Primitive::x, y, width and height methods were replaced
with usvg::filter::Primitive::rect.
Split usvg::Tree::paint_servers into usvg::Tree::linear_gradients,
usvg::Tree::radial_gradients, usvg::Tree::patterns.
All three returns pre-collected slices now.
A usvg::Path no longer can have an invalid bbox. Paths with an invalid bbox will be
rejected during parsing.
All usvg methods that return bounding boxes return non-optional Rect now.
No NonZeroRect as well.
usvg::Text::flattened returns &Group and not Option<&Group> now.
usvg::ImageHrefDataResolverFn and usvg::ImageHrefStringResolverFn
require fontdb::Database argument.
All shared nodes are stored in Arc and not Rc<RefCell> now.
resvg::render_node now includes filters bounding box. Meaning that a node with a blur filter
no longer be clipped.
Replace usvg::utils::view_box_to_transform with usvg::ViewBox::to_transform.
Rename usvg::XmlOptions into usvg::WriteOptions and embed xmlwriter::Options.
Removed
usvg::Tree::postprocess() and usvg::PostProcessingSteps. No longer needed.
usvg::ClipPath::units(), usvg::Mask::units(), usvg::Mask::content_units(),
usvg::Filter::units(), usvg::Filter::content_units(), usvg::LinearGradient::units(),
usvg::RadialGradient::units(), usvg::Pattern::units(), usvg::Pattern::content_units()
and usvg::Paint::units(). They are always userSpaceOnUse now.
usvg::Units. No longer needed.
Fixed
Text bounding box is accounted during SVG size resolving.
Previously, only paths and images were included.
Font selection when an italic font isn't explicitly marked as one.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the cli group with 1 update: usvg.
Updates
usvg
from 0.37.0 to 0.40.0Release notes
Sourced from usvg's releases.
Changelog
Sourced from usvg's changelog.
... (truncated)
Commits
6b973b2
Version bump.b50e3c6
Renameusvg::XmlOptions
intousvg::WriteOptions
.db4904d
Update changelog.17708a9
Update usvg readme.20c8dcc
Fix build.cadb172
Replaceusvg::utils::view_box_to_transform
withusvg::ViewBox::to_transform
.782948f
Try to preserve original gradient and pattern objects when converting units.e042024
Gradients and patterns are always inuserSpaceOnUse
units now.6af096e
Use layer bbox during individual nodes rendering.1961564
Fix defs id generation.Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show