diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2015-07-29 12:24:18 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-07-29 12:24:18 -0700 |
commit | 4687f5d3b42b04cf270c53e5bf77941d5743d03a (patch) | |
tree | b0c36ffa5f48b1ea3cff65b243ad81adfa7062f3 | |
parent | 64aace63f0a8478be6538e87fecd574f8cc29e86 (diff) | |
download | subsurface-4687f5d3b42b04cf270c53e5bf77941d5743d03a.tar.gz |
Printing: calculate a much more accurate font scale value
This simply uses the relative size of the profile. This can result in
truly tiny text in print, but at least it's consistent and logical.
We could add some minimum value there but I'm not sure that's the right
answer, either.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | printer.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/printer.cpp b/printer.cpp index fcafaa38e..fc18c9afe 100644 --- a/printer.cpp +++ b/printer.cpp @@ -61,11 +61,11 @@ void Printer::render(int Pages = 0) int profileFrameStyle = profile->frameStyle(); int animationOriginal = prefs.animation_speed; double fontScale = profile->getFontPrintScale(); + double printFontScale = 1.0; // apply printing settings to profile profile->setFrameStyle(QFrame::NoFrame); profile->setPrintMode(true, !printOptions->color_selected); - profile->setFontPrintScale(pageSize.width() * 0.001); profile->setToolTipVisibile(false); prefs.animation_speed = 0; @@ -81,8 +81,10 @@ void Printer::render(int Pages = 0) QSize originalSize = profile->size(); if (collection.count() > 0) { + printFontScale = (double)collection.at(0).geometry().size().height() / (double)profile->size().height(); profile->resize(collection.at(0).geometry().size()); } + profile->setFontPrintScale(printFontScale); int elemNo = 0; for (int i = 0; i < Pages; i++) { |