[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - vcl/qt5

Jan-Marek Glogowski (via logerrit) logerrit at kemper.freedesktop.org
Mon Apr 12 06:09:50 UTC 2021


 vcl/qt5/Qt5Frame.cxx |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 3f204ca2fed7614e1e12180af5ce5bfd88249eb7
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Sun Apr 11 17:21:57 2021 +0200
Commit:     Michael Weghorn <m.weghorn at posteo.de>
CommitDate: Mon Apr 12 08:09:18 2021 +0200

    tdf#141623 Qt5+cairo init surface with widget size
    
    The QFont based rendering path directly uses the widgets size to
    initialize the QImage buffer image, so do the same for the Cairo
    surface, instead of the arbitrarily size of 640x480.
    
    Change-Id: I91326dab67cbbb5e75b78b02c34eaca61ad26482
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113955
    Tested-by: Jenkins
    Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
    (cherry picked from commit 91c883e75436210ca8af95df1ca597caeeda8703)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113869
    Reviewed-by: Michael Weghorn <m.weghorn at posteo.de>

diff --git a/vcl/qt5/Qt5Frame.cxx b/vcl/qt5/Qt5Frame.cxx
index cbe31b8b5409..b398e9a5cf3b 100644
--- a/vcl/qt5/Qt5Frame.cxx
+++ b/vcl/qt5/Qt5Frame.cxx
@@ -290,11 +290,11 @@ void Qt5Frame::Damage(sal_Int32 nExtentsX, sal_Int32 nExtentsY, sal_Int32 nExten
 
 void Qt5Frame::InitQt5SvpGraphics(Qt5SvpGraphics* pQt5SvpGraphics)
 {
-    int width = 640;
-    int height = 480;
+    QSize aSize = m_pQWidget->size() * devicePixelRatioF();
     m_pSvpGraphics = pQt5SvpGraphics;
-    m_pSurface.reset(cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height));
-    m_pSvpGraphics->setSurface(m_pSurface.get(), basegfx::B2IVector(width, height));
+    m_pSurface.reset(
+        cairo_image_surface_create(CAIRO_FORMAT_ARGB32, aSize.width(), aSize.height()));
+    m_pSvpGraphics->setSurface(m_pSurface.get(), basegfx::B2IVector(aSize.width(), aSize.height()));
     cairo_surface_set_user_data(m_pSurface.get(), Qt5SvpGraphics::getDamageKey(), &m_aDamageHandler,
                                 nullptr);
 }


More information about the Libreoffice-commits mailing list