From: "Lubomir I. Ivanov" <[email protected]>

The QImage fix for the recently reported
"huge-vector-lines-in-PDF-printouts" bug is only needed on Linux.

For Win32 and OSx we can render to vector.

Signed-off-by: Lubomir I. Ivanov <[email protected]>
---
 qt-ui/printlayout.cpp | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/qt-ui/printlayout.cpp b/qt-ui/printlayout.cpp
index 570bda1..5a7dd3a 100644
--- a/qt-ui/printlayout.cpp
+++ b/qt-ui/printlayout.cpp
@@ -191,16 +191,21 @@ void PrintLayout::printProfileDives(int divesPerRow, int 
divesPerColumn)
                                printer->newPage();
                        }
                }
-               QTransform origTransform = painter.transform();
-
-               QImage image(scaledW, scaledH - tableH - padPT, 
QImage::Format_ARGB32);
-               QPainter imgPainter(&image);
                // draw a profile
+               QTransform origTransform = painter.transform();
                painter.translate((scaledW + padW) * col, (scaledH + padH) * 
row + yOffsetProfile);
                profile->plotDive(dive, true); // make sure the profile is 
actually redrawn
+#ifdef Q_OS_LINUX // on Linux there is a vector line bug (big lines in PDF), 
which forces us to render to QImage
+               QImage image(scaledW, scaledH - tableH - padPT, 
QImage::Format_ARGB32);
+               QPainter imgPainter(&image);
+               imgPainter.setRenderHint(QPainter::Antialiasing);
+               imgPainter.setRenderHint(QPainter::SmoothPixmapTransform);
                profile->render(&imgPainter, QRect(0, 0, scaledW, scaledH - 
tableH - padPT));
                imgPainter.end();
                painter.drawImage(image.rect(),image);
+#else // for other OS we can try rendering the profile as vector
+               profile->render(&painter, QRect(0, 0, scaledW, scaledH - tableH 
- padPT));
+#endif
                painter.setTransform(origTransform);
 
                // draw a table
-- 
1.7.11.msysgit.0

_______________________________________________
subsurface mailing list
[email protected]
http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to