[librsvg: 14/35] Extract function to get the natural geometry of a document
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 14/35] Extract function to get the natural geometry of a document
- Date: Thu, 17 Jun 2021 19:31:38 +0000 (UTC)
commit d07c43cc6781ccaae97b91b439a316632b1d603d
Author: Federico Mena Quintero <federico gnome org>
Date: Mon Jun 14 17:23:43 2021 -0500
Extract function to get the natural geometry of a document
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/547>
src/bin/rsvg-convert.rs | 42 +++++++++++++++++++++---------------------
1 file changed, 21 insertions(+), 21 deletions(-)
---
diff --git a/src/bin/rsvg-convert.rs b/src/bin/rsvg-convert.rs
index 624ae9ce..558aacde 100644
--- a/src/bin/rsvg-convert.rs
+++ b/src/bin/rsvg-convert.rs
@@ -505,7 +505,7 @@ impl Converter {
.with_dpi(self.dpi.0, self.dpi.1)
.with_language(&self.language);
- let geometry = self.natural_geometry(&renderer, input)?;
+ let geometry = natural_geometry(&renderer, input, self.export_id.as_deref())?;
let natural_size = Size::new(geometry.width, geometry.height);
let strategy = match (self.width, self.height) {
@@ -547,26 +547,6 @@ impl Converter {
Ok(())
}
- fn natural_geometry(
- &self,
- renderer: &CairoRenderer,
- input: &Input,
- ) -> Result<cairo::Rectangle, Error> {
- match self.export_id {
- None => renderer.legacy_layer_geometry(None),
- Some(ref id) => renderer.geometry_for_element(Some(&id)),
- }
- .map(|(ink_r, _)| ink_r)
- .map_err(|e| match e {
- RenderingError::IdNotFound => error!(
- "File {} does not have an object with id \"{}\")",
- input,
- self.export_id.as_deref().unwrap()
- ),
- _ => error!("Error rendering SVG {}: {}", input, e),
- })
- }
-
fn final_size(
&self,
strategy: &ResizeStrategy,
@@ -600,6 +580,26 @@ impl Converter {
}
}
+fn natural_geometry(
+ renderer: &CairoRenderer,
+ input: &Input,
+ export_id: Option<&str>,
+) -> Result<cairo::Rectangle, Error> {
+ match export_id {
+ None => renderer.legacy_layer_geometry(None),
+ Some(ref id) => renderer.geometry_for_element(Some(&id)),
+ }
+ .map(|(ink_r, _)| ink_r)
+ .map_err(|e| match e {
+ RenderingError::IdNotFound => error!(
+ "File {} does not have an object with id \"{}\")",
+ input,
+ export_id.unwrap()
+ ),
+ _ => error!("Error rendering SVG {}: {}", input, e),
+ })
+}
+
fn parse_args() -> Result<Converter, Error> {
let supported_formats = vec![
"Png",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]