diff options
| author | su_v <suv-sf@users.sourceforge.net> | 2014-08-26 08:44:06 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2014-08-26 08:44:06 +0000 |
| commit | 84632bca5511a1daae902bbd9faad00d67fd58bf (patch) | |
| tree | 2dd483c8d5c7411b9cbac3b263f3f77f86d37c38 /src/ui/dialog/print.cpp | |
| parent | librevenge: update to latest patch from bug #1323592 (support old and new ver... (diff) | |
| parent | UI. Fix for Bug #340723 "Interface inconsistency of tooltips". (diff) | |
| download | inkscape-84632bca5511a1daae902bbd9faad00d67fd58bf.tar.gz inkscape-84632bca5511a1daae902bbd9faad00d67fd58bf.zip | |
update to trunk (r13532)
(bzr r13398.1.8)
Diffstat (limited to 'src/ui/dialog/print.cpp')
| -rw-r--r-- | src/ui/dialog/print.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/ui/dialog/print.cpp b/src/ui/dialog/print.cpp index 03ac9dc64..a015d28f9 100644 --- a/src/ui/dialog/print.cpp +++ b/src/ui/dialog/print.cpp @@ -13,13 +13,16 @@ #ifdef HAVE_CONFIG_H # include <config.h> #endif + +#include <gtkmm.h> + #ifdef WIN32 #include <io.h> #include <windows.h> #endif +#include "preferences.h" #include "print.h" -#include <gtkmm/stock.h> #include "extension/internal/cairo-render-context.h" #include "extension/internal/cairo-renderer.h" @@ -44,14 +47,18 @@ static void draw_page( gint /*page_nr*/, gpointer user_data) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); struct workaround_gtkmm *junk = (struct workaround_gtkmm*)user_data; //printf("%s %d\n",__FUNCTION__, page_nr); if (junk->_tab->as_bitmap()) { // Render as exported PNG + prefs->setBool("/dialogs/printing/asbitmap", true); gdouble width = (junk->_doc)->getWidth().value("px"); gdouble height = (junk->_doc)->getHeight().value("px"); gdouble dpi = junk->_tab->bitmap_dpi(); + prefs->setDouble("/dialogs/printing/dpi", dpi); + std::string tmp_png; std::string tmp_base = "inkscape-print-png-XXXXXX"; @@ -92,7 +99,7 @@ static void draw_page( cairo_get_matrix(cr, &m); cairo_scale(cr, Inkscape::Util::Quantity::convert(1, "in", "pt") / dpi, Inkscape::Util::Quantity::convert(1, "in", "pt") / dpi); // FIXME: why is the origin offset?? - cairo_set_source_surface(cr, png->cobj(), -16.0, -16.0); + cairo_set_source_surface(cr, png->cobj(), 0, 0); cairo_paint(cr); cairo_set_matrix(cr, &m); } @@ -106,6 +113,7 @@ static void draw_page( } else { // Render as vectors + prefs->setBool("/dialogs/printing/asbitmap", false); Inkscape::Extension::Internal::CairoRenderer renderer; Inkscape::Extension::Internal::CairoRenderContext *ctx = renderer.createContext(); |
