Avoid Cairo-scaling stamps under new RSVG library
It was causing SVG-based stamps to appear corrupted (a zoomed in and cropped view of the top-left corner of the shape, rather than the entire shape).
This commit is contained in:
parent
45b071d8e4
commit
fbda2c26a1
1 changed files with 7 additions and 4 deletions
|
|
@ -22,7 +22,7 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
(See COPYING.txt)
|
(See COPYING.txt)
|
||||||
|
|
||||||
June 14, 2002 - July 2, 2023
|
June 14, 2002 - July 8, 2023
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
@ -21073,13 +21073,16 @@ static SDL_Surface *_load_svg(const char *file)
|
||||||
|
|
||||||
/* Ask RSVG to render the SVG into the Cairo object: */
|
/* Ask RSVG to render the SVG into the Cairo object: */
|
||||||
|
|
||||||
|
#if LIBRSVG_MAJOR_VERSION < 2 || LIBRSVG_MINOR_VERSION < 46
|
||||||
cairo_scale(cr, scale, scale);
|
cairo_scale(cr, scale, scale);
|
||||||
|
|
||||||
/* FIXME: We can use cairo_rotate() here to rotate stamps! -bjk 2007.06.21 */
|
|
||||||
|
|
||||||
#if LIBRSVG_MAJOR_VERSION < 2 || LIBRSVG_MINOR_VERSION < 46
|
|
||||||
rsvg_handle_render_cairo(rsvg_handle, cr);
|
rsvg_handle_render_cairo(rsvg_handle, cr);
|
||||||
#else
|
#else
|
||||||
|
// N.B. We do NOT call cairo_scale() in this case, since
|
||||||
|
// we're setting a viewport to render into; else we'd end
|
||||||
|
// up scaling twice, resulting in a too-large, and badly-cropped
|
||||||
|
// stamp -bjk 2023.07.08
|
||||||
|
|
||||||
viewport.x = 0;
|
viewport.x = 0;
|
||||||
viewport.y = 0;
|
viewport.y = 0;
|
||||||
viewport.width = width;
|
viewport.width = width;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue