diff options
author | Federico Mena Quintero <federico@gnome.org> | 2021-01-25 15:46:13 -0600 |
---|---|---|
committer | Federico Mena Quintero <federico@gnome.org> | 2021-01-25 15:46:13 -0600 |
commit | bde810bd093019e0a93225138a008c0bdc102d85 (patch) | |
tree | f7ceb4cb7ba783b9e13484716d3aa2fb5cc14494 | |
parent | 3ce71af391daf8283a647a4ced5ed7c087a9e912 (diff) | |
download | librsvg-bde810bd093019e0a93225138a008c0bdc102d85.tar.gz |
rsvg-convert: Extract function to compute the natural size of the requested input
-rw-r--r-- | src/bin/rsvg-convert.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/bin/rsvg-convert.rs b/src/bin/rsvg-convert.rs index db7f2c7a..6ce42c32 100644 --- a/src/bin/rsvg-convert.rs +++ b/src/bin/rsvg-convert.rs @@ -397,8 +397,8 @@ impl Converter { }; } - fn create_surface(&self, renderer: &CairoRenderer, input: &Input) -> Surface { - let (natural_width, natural_height) = renderer + fn natural_size(&self, renderer: &CairoRenderer, input: &Input) -> (f64, f64) { + renderer .legacy_layer_size(self.export_id.as_deref()) .unwrap_or_else(|e| match e { RenderingError::IdNotFound => exit!( @@ -407,7 +407,11 @@ impl Converter { self.export_id.as_deref().unwrap() ), _ => exit!("Error rendering SVG {}: {}", input, e), - }); + }) + } + + fn create_surface(&self, renderer: &CairoRenderer, input: &Input) -> Surface { + let (natural_width, natural_height) = self.natural_size(renderer, input); let strategy = match (self.width, self.height) { // when w and h are not specified, scale to the requested zoom (if any) |