You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/gnome-base/librsvg/files/librsvg-2.40.15-resize.patch

30 lines
1.2 KiB

--- a/rsvg-convert.c
+++ a/rsvg-convert.c
@@ -137,7 +137,7 @@ main (int argc, char **argv)
cairo_surface_t *surface = NULL;
cairo_t *cr = NULL;
RsvgHandleFlags flags = RSVG_HANDLE_FLAGS_NONE;
- RsvgDimensionData dimensions;
+ RsvgDimensionData dimensions, dimensions_orig;
FILE *output_file = stdout;
char *export_lookup_id;
@@ -318,6 +318,7 @@ main (int argc, char **argv)
if (!rsvg_handle_get_dimensions_sub (rsvg, &dimensions, export_lookup_id))
g_printerr ("Could not get dimensions for file %s\n", args[i]);
+ rsvg_handle_get_dimensions_sub (rsvg, &dimensions_orig, export_lookup_id);
/* if both are unspecified, assume user wants to zoom the image in at least 1 dimension */
if (width == -1 && height == -1) {
@@ -416,6 +417,9 @@ main (int argc, char **argv)
cairo_translate (cr, -pos.x, -pos.y);
}
+ cairo_scale(cr, (double) dimensions.width / dimensions_orig.width,
+ (double) dimensions.height /dimensions_orig.height);
+
rsvg_handle_render_cairo_sub (rsvg, cr, export_lookup_id);
g_free (export_lookup_id);