diff --git a/CHANGELOG.md b/CHANGELOG.md index 530a0c2..eca8401 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,14 @@ Subheadings to categorize changes are `added, changed, deprecated, removed, fixe ## Unreleased +### changed + +- Updated `usvg` to 0.41 + +### fixed + +- The image viewBox is now properly translated + ## 0.1 (2024-03-11) - Initial release diff --git a/src/lib.rs b/src/lib.rs index 7027860..d2f2e51 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -84,6 +84,7 @@ fn render_tree_impl Result<(), E>, E>( ts: &usvg::Transform, error_handler: &mut F, ) -> Result<(), E> { + let ts = &ts.pre_concat(view_box.to_transform(svg.size())); let transform = to_affine(ts); scene.push_layer( BlendMode { @@ -101,6 +102,7 @@ fn render_tree_impl Result<(), E>, E>( ); let (view_box_transform, clip) = geom::view_box_to_transform_with_clip(view_box, svg.size().to_int_size()); + let view_box_transform = view_box_transform.pre_concat(view_box.to_transform(svg.size())); if let Some(clip) = clip { scene.push_layer( BlendMode {