Panic when an element is completely outside the viewbox.
Removed
FillPaint and StrokePaint filter inputs support.
It's a mostly undocumented SVG feature that no one supports and no one uses.
And it was adding a significant complexity to the codebase.
usvg::filter::Filter::fill_paint and usvg::filter::Filter::stroke_paint.
BackgroundImage, BackgroundAlpha, FillPaint and StrokePaint from usvg::filter::Input.
usvg::Group::filter_fill_paint and usvg::Group::filter_stroke_paint.
[0.34.1] - 2023-05-28
Fixed
Transform components order. Affects only usvg SVG output and C API.
[0.34.0] - 2023-05-27
Changed
usvg uses tiny-skia geometry primitives now, including the Path container.
The main difference compared to the old usvg primitives
is that tiny-skia uses f32 instead of f64.
So while in theory we could loose some precision, in practice, f32 is used mainly
as a storage type and precise math operations are still done using f64.
tiny-skia primitives are move robust, strict and have a nicer API.
More importantly, this change reduces the peak memory usages for SVGs with large paths
(in terms of the number of segments).
And removes the need to convert usvg::PathData into tiny-skia::Path before rendering.
Which was just a useless reallocation.
All numbers are stored as f32 instead of f64 now.
Because we use tiny-skia::Path now, we allow quadratic curves as well.
This includes usvg CLI output.
Because we allow quadratic curves now, text might render slightly differently (better?).
This is because TrueType fonts contain only quadratic curves
and we were converting them to cubic before.
usvg::Path no longer implements Default. Use usvg::Path::new instead.
Replace usvg::Rect with tiny_skia::NonZeroRect.
Replace usvg::PathBbox with tiny_skia::Rect.
Unlike the old usvg::PathBbox, tiny_skia::Rect allows both width and height to be zero.
This is not an error.
usvg::filter::Turbulence::base_frequency was split into base_frequency_x and base_frequency_y.
usvg::NodeExt::calculate_bbox no longer includes stroke bbox.
(c-api) Use float instead of double everywhere.
The svgfilters crate was merged into resvg.
The rosvgtree crate was merged into usvg-parser.
usvg::Group::filter_fill moved to usvg::filter::Filter::fill_paint.
usvg::Group::filter_stroke moved to usvg::filter::Filter::stroke_paint.
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 ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on usvg to permit the latest version.
Release notes
Sourced from usvg's releases.
Changelog
Sourced from usvg's changelog.
... (truncated)
Commits
3649b52
Version bump.4a08e34
Fixed panic when an element is completely outside the viewbox.0c8a8cd
Include cmath in Qt API.4df4e11
Try to fix win build.6be2f2d
RemoveFillPaint
andStrokePaint
filter inputs support.cad8220
Simple refactoring.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 ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)