diff options
| author | Niko Kiirala <niko@kiirala.com> | 2008-09-22 14:07:36 +0000 |
|---|---|---|
| committer | kiirala <kiirala@users.sourceforge.net> | 2008-09-22 14:07:36 +0000 |
| commit | 7bf5688bc6b5685bd49277369b73735f5f023fad (patch) | |
| tree | 4a2521bd6f5793877618c2a49c08d61b2feb54b5 /src/ui | |
| parent | Adjust blink time and base frequency on gtk setting. Fixes bug #272605. (diff) | |
| download | inkscape-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.cpp | 10 |
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()); |
