[librsvg: 1/2] rsvg-convert: apply scale once, not again on each output page



commit 34e3bb75003ec881736f2ef8f809c86a7053bde1
Author: Sven Neumann <sven svenfoo org>
Date:   Wed Feb 12 15:30:06 2020 +0100

    rsvg-convert: apply scale once, not again on each output page
    
    Fixes zoom option for multi-page PDF output (#240).

 rsvg-convert.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
---
diff --git a/rsvg-convert.c b/rsvg-convert.c
index f57706e0..328059af 100644
--- a/rsvg-convert.c
+++ b/rsvg-convert.c
@@ -560,6 +560,9 @@ main (int argc, char **argv)
             }
 
             cr = cairo_create (surface);
+            cairo_scale (cr,
+                         scaled_width / unscaled_width,
+                         scaled_height / unscaled_height);
         }
 
         // Set background color
@@ -579,14 +582,10 @@ main (int argc, char **argv)
                 ((background_color >> 16) & 0xff) / 255.0, 
                 ((background_color >> 8) & 0xff) / 255.0, 
                 ((background_color >> 0) & 0xff) / 255.0);
-            cairo_rectangle (cr, 0, 0, scaled_width, scaled_height);
+            cairo_rectangle (cr, 0, 0, unscaled_width, unscaled_height);
             cairo_fill (cr);
         }
 
-        cairo_scale (cr,
-                     scaled_width / unscaled_width,
-                     scaled_height / unscaled_height);
-
         if (export_lookup_id) {
             RsvgPositionData pos;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]