diff --git a/Pdf4QtLibCore/sources/pdfblpainter.cpp b/Pdf4QtLibCore/sources/pdfblpainter.cpp index dbf1a0c..f6ab004 100644 --- a/Pdf4QtLibCore/sources/pdfblpainter.cpp +++ b/Pdf4QtLibCore/sources/pdfblpainter.cpp @@ -187,6 +187,10 @@ bool PDFBLPaintEngine::begin(QPaintDevice*) if (m_blContext->begin(m_blOffscreenBuffer.value(), info) == BL_SUCCESS) { m_blContext->clearAll(); + + qreal devicePixelRatio = m_qtOffscreenBuffer.devicePixelRatioF(); + m_blContext->scale(devicePixelRatio); + m_blContext->userToMeta(); return true; } else diff --git a/Pdf4QtLibWidgets/sources/pdfdrawwidget.cpp b/Pdf4QtLibWidgets/sources/pdfdrawwidget.cpp index 73ee74a..f289f0b 100644 --- a/Pdf4QtLibWidgets/sources/pdfdrawwidget.cpp +++ b/Pdf4QtLibWidgets/sources/pdfdrawwidget.cpp @@ -583,9 +583,16 @@ void PDFDrawWidget::paintEvent(QPaintEvent* event) case RendererEngine::Blend2D: { QRect rect = this->rect(); - if (m_blend2DframeBuffer.size() != rect.size()) + + qreal devicePixelRatio = devicePixelRatioF(); + m_blend2DframeBuffer.setDevicePixelRatio(devicePixelRatio); + m_blend2DframeBuffer.setDotsPerMeterX(logicalDpiX()); + m_blend2DframeBuffer.setDotsPerMeterY(logicalDpiY()); + + QSize requiredSize = rect.size() * devicePixelRatio; + if (m_blend2DframeBuffer.size() != requiredSize) { - m_blend2DframeBuffer = QImage(rect.size(), QImage::Format_ARGB32_Premultiplied); + m_blend2DframeBuffer = QImage(requiredSize, QImage::Format_ARGB32_Premultiplied); } PDFBLPaintDevice blPaintDevice(m_blend2DframeBuffer, true); diff --git a/Pdf4QtViewer/pdfprogramcontroller.cpp b/Pdf4QtViewer/pdfprogramcontroller.cpp index 146ea89..d7432e1 100644 --- a/Pdf4QtViewer/pdfprogramcontroller.cpp +++ b/Pdf4QtViewer/pdfprogramcontroller.cpp @@ -150,6 +150,7 @@ std::vector PDFActionManager::getRenderingOptionActions() const RenderOptionTextAntialiasing, RenderOptionSmoothPictures, RenderOptionIgnoreOptionalContentSettings, + RenderOptionDisplayRenderTimes, RenderOptionDisplayAnnotations, RenderOptionInvertColors, RenderOptionGrayscale, @@ -157,8 +158,7 @@ std::vector PDFActionManager::getRenderingOptionActions() const RenderOptionHighContrast, RenderOptionCustomColors, RenderOptionShowTextBlocks, - RenderOptionShowTextLines - }); + RenderOptionShowTextLines}); } std::vector PDFActionManager::getActions() const @@ -266,6 +266,7 @@ void PDFActionManager::initActions(QSize iconSize, bool initializeStampActions) setUserData(RenderOptionTextAntialiasing, pdf::PDFRenderer::TextAntialiasing); setUserData(RenderOptionSmoothPictures, pdf::PDFRenderer::SmoothImages); setUserData(RenderOptionIgnoreOptionalContentSettings, pdf::PDFRenderer::IgnoreOptionalContent); + setUserData(RenderOptionDisplayRenderTimes, pdf::PDFRenderer::DisplayTimes); setUserData(RenderOptionDisplayAnnotations, pdf::PDFRenderer::DisplayAnnotations); setUserData(RenderOptionInvertColors, pdf::PDFRenderer::ColorAdjust_Invert); setUserData(RenderOptionGrayscale, pdf::PDFRenderer::ColorAdjust_Grayscale); diff --git a/Pdf4QtViewer/pdfprogramcontroller.h b/Pdf4QtViewer/pdfprogramcontroller.h index 32f9d82..7ac8ae9 100644 --- a/Pdf4QtViewer/pdfprogramcontroller.h +++ b/Pdf4QtViewer/pdfprogramcontroller.h @@ -161,6 +161,7 @@ public: RenderOptionTextAntialiasing, RenderOptionSmoothPictures, RenderOptionIgnoreOptionalContentSettings, + RenderOptionDisplayRenderTimes, RenderOptionDisplayAnnotations, RenderOptionInvertColors, RenderOptionGrayscale, diff --git a/Pdf4QtViewer/pdfviewermainwindow.cpp b/Pdf4QtViewer/pdfviewermainwindow.cpp index 5024c75..df3b1fb 100644 --- a/Pdf4QtViewer/pdfviewermainwindow.cpp +++ b/Pdf4QtViewer/pdfviewermainwindow.cpp @@ -160,6 +160,7 @@ PDFViewerMainWindow::PDFViewerMainWindow(QWidget* parent) : m_actionManager->setAction(PDFActionManager::RenderOptionTextAntialiasing, ui->actionRenderOptionTextAntialiasing); m_actionManager->setAction(PDFActionManager::RenderOptionSmoothPictures, ui->actionRenderOptionSmoothPictures); m_actionManager->setAction(PDFActionManager::RenderOptionIgnoreOptionalContentSettings, ui->actionRenderOptionIgnoreOptionalContentSettings); + m_actionManager->setAction(PDFActionManager::RenderOptionDisplayRenderTimes, ui->actionRenderOptionDisplayRenderTimes); m_actionManager->setAction(PDFActionManager::RenderOptionDisplayAnnotations, ui->actionRenderOptionDisplayAnnotations); m_actionManager->setAction(PDFActionManager::RenderOptionInvertColors, ui->actionColorInvert); m_actionManager->setAction(PDFActionManager::RenderOptionGrayscale, ui->actionColorGrayscale); diff --git a/Pdf4QtViewer/pdfviewermainwindow.ui b/Pdf4QtViewer/pdfviewermainwindow.ui index 970c4af..d24c02e 100644 --- a/Pdf4QtViewer/pdfviewermainwindow.ui +++ b/Pdf4QtViewer/pdfviewermainwindow.ui @@ -90,6 +90,7 @@ + @@ -1153,6 +1154,17 @@ If checked, bookmarks for main document chapters are generated automatically. + + + true + + + Display Render Times + + + QAction::NoRole + + diff --git a/Pdf4QtViewer/pdfviewermainwindowlite.cpp b/Pdf4QtViewer/pdfviewermainwindowlite.cpp index 08b8677..4b54d1f 100644 --- a/Pdf4QtViewer/pdfviewermainwindowlite.cpp +++ b/Pdf4QtViewer/pdfviewermainwindowlite.cpp @@ -130,6 +130,7 @@ PDFViewerMainWindowLite::PDFViewerMainWindowLite(QWidget* parent) : m_actionManager->setAction(PDFActionManager::RenderOptionTextAntialiasing, ui->actionRenderOptionTextAntialiasing); m_actionManager->setAction(PDFActionManager::RenderOptionSmoothPictures, ui->actionRenderOptionSmoothPictures); m_actionManager->setAction(PDFActionManager::RenderOptionIgnoreOptionalContentSettings, ui->actionRenderOptionIgnoreOptionalContentSettings); + m_actionManager->setAction(PDFActionManager::RenderOptionDisplayRenderTimes, ui->actionRenderOptionDisplayRenderTimes); m_actionManager->setAction(PDFActionManager::RenderOptionDisplayAnnotations, ui->actionRenderOptionDisplayAnnotations); m_actionManager->setAction(PDFActionManager::RenderOptionInvertColors, ui->actionColorInvert); m_actionManager->setAction(PDFActionManager::RenderOptionGrayscale, ui->actionColorGrayscale); diff --git a/Pdf4QtViewer/pdfviewermainwindowlite.ui b/Pdf4QtViewer/pdfviewermainwindowlite.ui index 2142345..5773b4d 100644 --- a/Pdf4QtViewer/pdfviewermainwindowlite.ui +++ b/Pdf4QtViewer/pdfviewermainwindowlite.ui @@ -42,7 +42,7 @@ Go To - + Bookmark Settings @@ -56,7 +56,6 @@ - @@ -87,6 +86,7 @@ + @@ -368,65 +368,65 @@ - - true - - - - :/resources/invert-colors.svg:/resources/invert-colors.svg - - - Color | Inverted - - - - - true - - - - :/resources/invert-colors.svg:/resources/invert-colors.svg - - - Color | Grayscale - - - - - true - - - - :/resources/invert-colors.svg:/resources/invert-colors.svg - - - Color | High Contrast - - - - - true - - - - :/resources/invert-colors.svg:/resources/invert-colors.svg - - - Color | Monochromatic - - - - - true - - - - :/resources/invert-colors.svg:/resources/invert-colors.svg - - - Color | Custom - - + + true + + + + :/resources/invert-colors.svg:/resources/invert-colors.svg + + + Color | Inverted + + + + + true + + + + :/resources/invert-colors.svg:/resources/invert-colors.svg + + + Color | Grayscale + + + + + true + + + + :/resources/invert-colors.svg:/resources/invert-colors.svg + + + Color | High Contrast + + + + + true + + + + :/resources/invert-colors.svg:/resources/invert-colors.svg + + + Color | Monochromatic + + + + + true + + + + :/resources/invert-colors.svg:/resources/invert-colors.svg + + + Color | Custom + + @@ -557,7 +557,6 @@ Become a Sponsor - @@ -651,6 +650,17 @@ If checked, bookmarks for main document chapters are generated automatically. + + + true + + + Display Render Times + + + QAction::NoRole + +