summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorNiko Kiirala <niko@kiirala.com>2008-09-22 14:07:36 +0000
committerkiirala <kiirala@users.sourceforge.net>2008-09-22 14:07:36 +0000
commit7bf5688bc6b5685bd49277369b73735f5f023fad (patch)
tree4a2521bd6f5793877618c2a49c08d61b2feb54b5 /src/ui
parentAdjust blink time and base frequency on gtk setting. Fixes bug #272605. (diff)
downloadinkscape-7bf5688bc6b5685bd49277369b73735f5f023fad.tar.gz
inkscape-7bf5688bc6b5685bd49277369b73735f5f023fad.zip
Made bitmap printing use the DPI setting (bug 258916)
(bzr r6870)
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/dialog/print.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/ui/dialog/print.cpp b/src/ui/dialog/print.cpp
index 474b57306..9e848bd6a 100644
--- a/src/ui/dialog/print.cpp
+++ b/src/ui/dialog/print.cpp
@@ -110,8 +110,8 @@ draw_page (GtkPrintOperation */*operation*/,
sp_export_png_file(junk->_doc, tmp_png.c_str(), 0.0, 0.0,
width, height,
- (unsigned long)(width * PT_PER_IN / PX_PER_IN),
- (unsigned long)(height * PT_PER_IN / PX_PER_IN),
+ (unsigned long)(width * dpi / PX_PER_IN),
+ (unsigned long)(height * dpi / PX_PER_IN),
dpi, dpi, bgcolor, NULL, NULL, true, NULL);
// This doesn't seem to work:
@@ -126,10 +126,14 @@ draw_page (GtkPrintOperation */*operation*/,
{
Cairo::RefPtr<Cairo::ImageSurface> png = Cairo::ImageSurface::create_from_png (tmp_png);
cairo_t *cr = gtk_print_context_get_cairo_context (context);
+ cairo_matrix_t m;
+ cairo_get_matrix(cr, &m);
+ cairo_scale(cr, PT_PER_IN / dpi, PT_PER_IN / dpi);
// FIXME: why is the origin offset??
cairo_set_source_surface(cr, png->cobj(), -16.0, -16.0);
+ cairo_paint(cr);
+ cairo_set_matrix(cr, &m);
}
- cairo_paint(gtk_print_context_get_cairo_context (context));
// Clean up
unlink (tmp_png.c_str());