summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/printer_worker.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Redo scale handling of pdf when printingMichal Klocek2019-10-311-26/+16
| | | | | | | | | | | | | | | | | Since 7f89bad our printer handling produces low quality images, the reason for that is the we first render with pdfium to bitmap which is fixed to twice size of pdf document in points, then it is downscaled/upscaled by qpainter. This issue is even more visible when print preview is requested on hdpi screen. Simplify the code and do the "scaling" already when rendering bitmap with pdfium. Task-number: QTBUG-75092 Fixes: QTBUG-78161 Change-Id: I616ad1f371e7d3457a04b0a254603ed235c387bc Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
* Workaround for CSS orientation issuesSzabolcs David2019-06-041-9/+31
| | | | | | | | | | | | | | | | Web content can define its orientation for printing using the @page rule in CSS. This creates some edge cases, for example when the pages are not uniform and some of them has different orientation than the others. The current version of desktop Chromium can't handle this perfectly: sometimes it renders portrait pages to landscape papers by cutting down the extra parts. This patch makes our result similar to Chromium's - by ignoring the user's orientation settings in QPrinter. Task-number: QTBUG-75092 Change-Id: Ifaea69c94b6ee1b6a83609cb15207a58554975f9 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move printing operation to a new threadSzabolcs David2018-12-101-0/+147
Printing operations were blocking the UI thread, so applications were irresponsive when printing in large size or high resolution. Introduce a new worker for the painting logic and use shared pointers to carry the data around and avoid copying PDF data between threads. Task-number: QTBUG-68561 Change-Id: I30633380b75acd14f1a1df87985c99540168a9f1 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>