From: Ivailo Monev Date: Fri, 11 Nov 2022 03:26:01 +0000 (+0200) Subject: create print preview images with the page rectangle size and fill them with white... X-Git-Tag: 4.12.0~178 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=e0ae176afda8c0fc677aad262a30fcf95eba5b09;p=kde%2FKatie.git create print preview images with the page rectangle size and fill them with white color fixes possible rendering issues (e.g. random colors at the edges) Signed-off-by: Ivailo Monev --- diff --git a/src/gui/painting/qpaintengine_preview.cpp b/src/gui/painting/qpaintengine_preview.cpp index ffa75063b..c4e1c3fb7 100644 --- a/src/gui/painting/qpaintengine_preview.cpp +++ b/src/gui/painting/qpaintengine_preview.cpp @@ -22,6 +22,7 @@ #include "qpaintengine_preview_p.h" #include "qpainter_p.h" #include "qpaintengine_p.h" +#include "qguicommon_p.h" #include #include @@ -68,7 +69,9 @@ bool QPreviewPaintEngine::begin(QPaintDevice *) qDeleteAll(d->pages); d->pages.clear(); - QImage *page = new QImage(QSize(1024, 1024), QImage::Format_RGB32); + const QRect pagerect = property(QPrintEngine::PPK_PageRect).toRect(); + QImage *page = new QImage(pagerect.size(), QImage::Format_RGB32); + page->fill(qt_whitergb); d->painter = new QPainter(page); d->engine = d->painter->paintEngine(); d->pages.append(page); @@ -127,7 +130,9 @@ bool QPreviewPaintEngine::newPage() { Q_D(QPreviewPaintEngine); - QImage *page = new QImage(QSize(1024, 1024), QImage::Format_RGB32); + const QRect pagerect = property(QPrintEngine::PPK_PageRect).toRect(); + QImage *page = new QImage(pagerect.size(), QImage::Format_RGB32); + page->fill(qt_whitergb); QPainter *tmp_painter = new QPainter(page); QPaintEngine *tmp_engine = tmp_painter->paintEngine();