summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2019-04-08 10:50:00 +0200
committerLuboš Luňák <l.lunak@collabora.com>2019-04-08 16:18:29 +0200
commit5bff92cfcb9cf97c742cc9fb4d85b79b082b941e (patch)
treeda9d4ccf90c5d1782d405c266f59abbe7c4c57d4 /sc/source
parent90b7c88c154d85d1637cdd3c6d0d0150bb8158fd (diff)
tdf#124327 sc opengl: fix lack of AA text in charts
Commit 708d1c5ab242b545ced598879233fc662d7e6cc0 (sc lok: emit RowColumnHeader info in twips, 2015-11-02) and later commits improved precision of the Pixel Per Twips (PPT) factor in Calc, but this caused offset problems in PDF export. So the LOK case uses double precision and otherwise we use limited precision since commit 616fd241838069e18c59064e33c4b24f5ae112c6 (tdf#115262 sc: fix cumulative placement error of images, 2018-10-01). It turns out this double precision was also useful in the opengl case: if UI scaling is set to 125% on Windows, then this helps producing AA text for charts. Given that unlimited precision is the direction we want to go, enable double precision for the GL case as well, not just for LOK. Verified that tdf#115262 is not re-introduced in the GL case, also that manual PDF export (with GL enabled) does not produce the mentioned unexpected image position offsets. (cherry picked from commit 7069ec6de9807d12ff9ad52ecbb66ea7dc373723) Change-Id: I23a8d6dce1b48c178977bda9909feb59fe8f3ad8 Reviewed-on: https://gerrit.libreoffice.org/70410 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/core/data/global.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
index 2138f3e776b8..0999082d9589 100644
--- a/sc/source/core/data/global.cxx
+++ b/sc/source/core/data/global.cxx
@@ -47,6 +47,7 @@
#include <unotools/transliterationwrapper.hxx>
#include <comphelper/lok.hxx>
+#include <vcl/opengl/OpenGLWrapper.hxx>
#include <global.hxx>
#include <scresid.hxx>
@@ -475,8 +476,10 @@ void ScGlobal::InitPPT()
{
OutputDevice* pDev = Application::GetDefaultDevice();
- if (comphelper::LibreOfficeKit::isActive())
+ if (comphelper::LibreOfficeKit::isActive() || OpenGLWrapper::isVCLOpenGLEnabled())
{
+ // LOK: the below limited precision is not enough for RowColumnHeader.
+ // OpenGL: limited precision breaks AA of text in charts.
nScreenPPTX = double(pDev->GetDPIX()) / double(TWIPS_PER_INCH);
nScreenPPTY = double(pDev->GetDPIY()) / double(TWIPS_PER_INCH);
}